QQ泡沫乐园 · 免费提供游戏辅助,破解软件,活动资讯,喜欢记得收藏哦!
综合软件_线报活动_游戏辅助_最新电影_最优质的的辅助分享平台

Linux系统中的特殊权限位是怎么设置的??

泡沫乐园 2022-05-23 15:03

一、文件的特殊权限

在复杂多变的生产环境中,简单的设置文件的rwx权限并不能满足我们对安全性和灵活性的需求,所以对于SUID、SGID、SBIT都有特殊的权限位。

二、SUID

1、SUID 允许普通用户对可执行命令拥有所有者权限。

2、比如/etc/shadow存储了linux所有的账号密码,但是只有root用户可以读写这个文件,普通用户的访问权限是不够的。

[chensiming@localhost root]$ ll -l /etc/shadow
---------- 1 root root 1354 9月   2 20:20 /etc/shadow
[chensiming@localhost root]$ cat /etc/shadow
cat: /etc/shadow: 权限不够
#加入执行权限
[root@localhost ~]# chmod 744 /etc/shadow
[root@localhost ~]# ls -l /etc/shadow
-rwx--x--x 1 root root 1354 9月   2 20:20 /etc/shadow
#加入s权限
[root@localhost ~]# chmod u+s /etc/shadow
[root@localhost ~]# ls -l /etc/shadow
-rws--x--x 1 root root 1354 9月   2 20:20 /etc/shadow

linux文件的特殊权限

3、语法

#添加s权限
chmod u+s filename
#删除
chmod u-s filename

4、关键目录应该有严格的写权限

#对系统中默认应该具有 SetUID 权限的文件作一列表,定时检查有没有这之外的文件被设置了 SetUID 权限。
[root@localhost root]$ find / -perm -4000 -o -perm -2000

二、SGID

您对该目录没有写权限_win7连接wifi有权限的访问权限_对安装目录没有写权限

1、让执行者有owner权限(设置二进制权限和执行权限),参考SUID设计,不同的是执行程序的用户不再获得文件所有者的临时权限,而是获取文件所属组的权限。例如,在早期的 Linux 系统中您对该目录没有写权限,/dev/kmem 是一个字符设备文件,用于存储内核程序要访问的数据,具有以下权限:

cr--r----- 1 root system 2, 1 Feb 11 2017 kmem 

如上图,除了root管理员或者系统组的成员之外,所有用户都没有读取文件的权限。由于我们平时需要检查系统的进程状态,为了获取进程的状态信息,可以在用于检查系统进程状态的ps命令文件中加入SGID特殊权限位。查看ps命令文件的属性信息:

-r-xr-sr-x 1 bin system 59346 Feb 11 2017 ps 

由于在ps命令中增加了SGID特殊权限位,当用户执行该命令时,会临时获得系统用户组的权限,从而可以顺利读取设备文件。

chmod g+s xxx

2、每个文件都有自己的所有者和组。创建或传输文件时,该文件自动归执行该操作的用户所有(即,该用户是该文件的所有者)。如果现在需要在一个部门中建立一个共享目录,使部门内的所有人员都能读取目录中的内容,那么可以创建部门共享目录,并在该目录上设置SGID特殊权限位。这样,部门内任何人创建的任何文件都将属于该目录所属的组,而不是属于自己的基本用户组。此时,我们使用的是SGID的第二个功能,即在目录中创建的文件自动继承该目录的用户组(只能设置目录)。

[root@linuxprobe ~]# cd /tmp
[root@linuxprobe tmp]# mkdir testdir
[root@linuxprobe tmp]# ls -ald testdir/
drwxr-xr-x. 2 root root 6 Feb 11 11:50 testdir/
[root@linuxprobe tmp]# chmod -Rf 777 testdir/
[root@linuxprobe tmp]# chmod -Rf g+s testdir/
[root@linuxprobe tmp]# ls -ald testdir/
drwxrwsrwx. 2 root root 6 Feb 11 11:50 testdir/ 

三、SBIT

目前,SBIT 仅对目录有效。目录的作用是:当用户在目录中创建文件或目录时您对该目录没有写权限,只有该用户和root用户才有删除权限。

[bing@linux-node2 ~]$ cd /data/
[bing@linux-node2 data]$ touch test1
[bing@linux-node2 data]$ chmod o+t test1
[bing@linux-node2 data]$ ll test1
-rw-rw-r-T 1 bing bing  0 Jan 10 18:20 test1