通俗理解:实际用户ID/有效用户ID/保存的设置用户ID(saved set-user-ID)


阅<unix高级环境编程>过程中,
高频出现:实际用户ID/有效用户ID/保存的设置用户ID(saved set-user-ID),看着很乱,摘不清楚.

因为Linux是多用户多任务系统,
所以一个文件可能同时被许多人使用,
自然的,我们一定要设好每个文件的权限.

从文件的角度,看用户/组的权限.

linux对文件的描述

常规文件,可以按下表进行理解.(/dev目录下的文件除外)

文件属性(占10个字符空间)文件数拥有者所属的group文件大小建档日期文件名
drwx------2Guestusers1024Nov 21 21:05Mail
-rwx–x--x1rootroot89080Nov 7 22:41tar*
-rwxr-xr-x1rootbin5013Aug 15 9:32uname*
lrwxrwxrwx1rootroot4Nov 24 19:30zcat->gzip
-rwxr-xr-x1rootbin308364Nov 29 7:43zsh*
-rwsr-x—1rootbin9853Aug 15 5:46su*

这些显示内容的意义:  
第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。
第一个小格是特殊表示格,表示目录或连结文件等等。

  • -:普通文件(f)
  • d:目录文件
  • b:块设备文件(block)
  • c:字符设备文件(character)
  • l:符号链接文件(symbolic link file)
  • p:命令管道文件(pipe)
  • s:套接字文件(socket)
    详细可参考,fstat()函数手册.

其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,
其文件的权限位置排列顺序是(以-rwxr-xr-x为例):
rwx(Owner)r-x(Group)r-x(Other)  
这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。
另外,有一些程序属性的执行部分不是x,而是s,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。 
第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。  
第三个栏位,表示该文件或目录的拥有者。 
第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组.
第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。  
第六个栏位,表示创建日期。以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。  
第七个栏位,表示文件名。我们可以用ls –a显示隐藏的文件名。

从用户/组的角度,看文件的权限.

实际用户ID/有效用户ID/保存的设置用户ID(saved set-user-ID)

实际用户ID:
标识我们实际上是谁,是当前登录的用户ID.

有效用户ID:
决定的是文件的访问权.
通常有效用户ID就是实际用户ID.

设置-用户-ID,
是一个特殊标志,当该标志设置时,执行该文件时的有效用户ID就是文件的所有者ID.
比如,当一个文件的所有者是root.当你以另一个用户登录时,
如果没有设置-用户-ID,执行该文件时的有效ID和实际ID就是登录用户的ID,
但如果设置了设置-用户-ID,实际用户ID是登录用户ID,而有效用户ID是root用户的ID.

实例对应:

登录某个账户,以某个账户的身份,操作各种文件,要么能操作,要么不能操作,
不能操作的原因,基本上是权限不足.
在这里插入图片描述
如上图,当前登录的账户guo(实际用户ID),包含一个.viminfo文件,该文件被root账户创建,属于root组.
拥有者(root)具备读写权限,组用户以及其他用户不具备任何操作权限.
此时,账户guo,无法对该文件进行任何操作(如下图,权限不足),
在这里插入图片描述
权限不足的判据:当前的有效用户ID(guo),不具备访问该文件的权限
如果一定要对该文件进行操作,可以暂时提升账户guo的权限,
在这里插入图片描述
sudo+动作,动作过程中,暂时性的修改了有效用户ID为root,从而具备了cp动作的权限.动作执行完毕后,恢复有效用户ID为guo.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值