权限遮罩码,用于控制文件,文件夹的默认权限

文件默认权限:     666-umask

文件夹默认权限:  777-umask

管理员root:                  umask=022   文件默认权限644,文件夹755

普通用户:                  umask=002   文件默认权限664,文件夹775

通常,在类Unix操作系统上,文件和目录的所有权基于创建它们的用户的uid(user-id)和gid(group-id)。

启动进程时也会发生同样的情况:以启动这个进程的 用户标识和组标识运行,并具有相应的权限。 此行为可以通过使用特殊权限进行修改。

每个文件都有一个所有者, 表示该文件是谁创建的. 同时, 该文件还有一个组编号, 表示该文件所属的组, 一般就是文件所有者所在的组。

对于可执行文件, 在执行时, 通常情况下其权限是调用这个文件的用户的权限。Linux下/usr/bin/passwd命令可以修改密码,如果按照这个套路,那么普通用户是没办法修改自己密码的,但实际情况普通用户也可以修改自己的密码。这是怎么做到的呢?

解决上面问题引出setuid、setgid、sticky bit   这些只是标记位,不是指令

setuid位

但设置了setuid位时,前面表述的典型权限做法就会改变。对于可执行文件,在执行时,其权限不再是发起执行动作这个用户的权限,而是文件本身用户所具有的权限。例如,一个可执行文件属主是root,并且设置了setuid,那么普通用户也可以执行这个文件。某种程度上,使用不当会对系统安全有潜在风险。

Linux下的一个例子就是passwd命令

[root@51cto ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 Feb 17  2012 /usr/bin/passwd
View Code

相关文章:

  • 2021-12-19
  • 2019-02-09
  • 2022-12-23
  • 2021-10-19
  • 2021-05-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-24
  • 2021-06-26
  • 2022-12-23
  • 2021-09-13
  • 2022-03-08
  • 2021-06-26
相关资源
相似解决方案