关于Linux下SET位权限问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Linux下SET位权限问题相关的知识,希望对你有一定的参考价值。

如题:修改file1的权限为“rwsr-sr-x”
一教师给出的参考答案是:[root@bogondoc1]# chmod 7755 file1
后面的三位755我可以理解,意思是属主有可读、可写、可操作(可执行)权限,属组有可读、可操作权限,其他用户有可读、可操作权限
但是第一位的“7”意思是怎样来的,谢谢!

参考技术A -rwsr-sr-x 应该是chmod 6755 file1,chmod 7755 file1 是-rwsr-sr-t四位数是标准写法。 参考技术B 前面的7是set权限和粘滞位权限的集合!属主的用数字4,属组的用数字2,粘滞位用1 参考技术C 那个7就是SET权限

2018-3-29

2.18 特殊权限set_uid

2.19 特殊权限set_gid

2.20 特殊权限stick_bit

2.21 软链接文件

2.22 硬连接文件




2.18 特殊权限set_uid

了解就好

更改root密码时,使用过passwd命令,看一下passwd在哪还有权限。

技术分享图片技术分享图片

是一个红色的文件,并且权限位前三位不是rwx而是rws第一次见。

rwx分别是可读可写可执行。这个s是set_uid的权限。

再linux下passwd支持普通用户自己改密码,改密码就意味着要改密码的文件。/etc/shadow就是这个文件

技术分享图片

权限-----,这样的文件普通用户为什么能改?root自己都没权限。root用户必定是super管理员(有改权限的权限),就算---也能改。

现在又想让普通用户能改密码,文件又不能让他写。所有就有了这个特殊权限set_uid(除了所有者,其他用户当他去执行带set_uid权限的这个命令时,执行的那一瞬间就会被赋予这个命令的所有者的权限)也就是普通用户执行set.就临时拥有root身份的意思。

要给一个文件设置setuid前提是二进制文件。

昨天讲的权限中 9位分3段,u=user g=group o=ohter,分成了这三组。

首先我切换到wt用户(普通用户)

技术分享图片

su - **切换用户。ls一下/root/目录

技术分享图片显然不行,普通用户权限不够。

技术分享图片

可以看到普通用户是---,不可写不可读不可执行。那先回到root给ls设置一个sd权限,用chmod u+s//u就是user /usr/bin/ls (可以理解为临时变身root用户)

技术分享图片

技术分享图片

再来看 这个也变红色了,s也有了。再回到wt用户看一下,果然能看了,单权限依旧没变 还是---。

技术分享图片

也就是ls临时拥有了root用户的权限,要去掉他-s就ok技术分享图片

换一种方法附加sd权限,chomd u=rws /usr/bin/ls

技术分享图片

s变大S了,是因为这样没有x权限了,所以加上就ok

技术分享图片

又变成小s了。实际上大写的S也不受影响(因为加了S本身就又执行的内容,所以就算没x也没问题)。

sd也可以加目录上,不过没什么意义,目录不用去执行。

总的来说set_uid就是给一个临时root的权限,比较方便,像普通用户也可以去修改root密码这类的权限。





2.19 特殊权限set_gid

先把上面的ls还原成原来的rwx

然后chmod g+s /usr/bin/ls

技术分享图片

看一下文件变成了×××的背景,其实set_gid的功能和setuid挺像的,只不过是换了个角色。

原来是普通用户拥有所有者的身份,现在的普通用户临时拥有所属组的身份。

r-s可以看到所属组上又个s。

技术分享图片

对于root 所有者和所属组都是r-x,所以set_gid也能使wt查看root。

那也可以对目录设置这个权限。

当给一个目录设置setgid那这个子文件的子目录和所属组,会与刚才创建目录的所属组保持一致。




2.20 特殊权限stick_bit

系统又一个目录有这个权限

技术分享图片

这个权限最后一个rwt,这个t就是stick_bit。

谁的文件谁做主,防删除权限,靠他的副级目录决定。(比如tmp下有wt sxx都再用 防止其他人删除文件)

技术分享图片

很简单 比如

user1可以修改aming的文件,但不能删除。 所以这个权限就是防删除位,只有有权限的人才可以删除。(这个权限就是防删除,root用户除外)

把目录权限改成rwxrwxrwx 777。 那就可以被其他用户删除了。

这三个权限大致理解一下就可以了不用深究。









2.21 软链接文件

类似于windows的快捷方式

技术分享图片

这个bin就是软连接 其实就是一个软链接,比如/bin/ls 和ls一样的一个文件。

再文件本身存了另外一个路径。路径越长就越大。

lib64里软链接特别多,绿色的。

技术分享图片

软链接比较节省空间比拷贝方便。

ln -s 要做的链接 目标地 这个格式做软链接。 例:ln -s /tmp/yum.log   /root/wt/yum.log

软连接 还可以连接目录,同样的操作格式。相对路径的做法只会再当前目录下,移动时可会除出错红色闪烁警告。

还可以划分区。




2.22 硬连接文件

硬链接不支持对目录做硬链接,只支持对文件。

两个文件inode号一样,相互为硬链接,而软链接只是一个快捷方式找不到源时候就会问题,硬链接就没问题相当于多了一个文件。

由于硬链接是有着相同 inode 号仅文件名不同的文件,因此硬链接存在以下几点特性:

  • 文件有相同的 inode 及 data block;

  • 只能对已存在的文件进行创建;

  • 不能交叉文件系统进行硬链接的创建;

  • 不能对目录进行创建,只可对文件创建;

  • 删除一个硬链接文件并不影响其他有相同 inode 号的文件。


以上是关于关于Linux下SET位权限问题的主要内容,如果未能解决你的问题,请参考以下文章

Linux的权限问题

Linux 特殊权限 set_gid

Linux下的权限问题

2018-3-29

关于Linux的SUID位!

关于特殊权限