如何查看电脑系统权限设置

发布时间: 2023-04-16 04:01 阅读: 文章来源:转载

特殊权限

setuid权限会标红

setgid会标黄

权限代表:s

绿

权限代表:t

引入:

# 1 普通用户可以修改密码吗?可以 passwd命令# 2 /etc/shadow 的权限0000 ? 08:41:43 root@sky,10.0.0.201:~ # ll /etc/shadow----------. 1 root root 711 Aug 22 21:03 /etc/shadow# 3 普通用户可以查看或者修改/etc/shadow吗?改不了。普通用户vim进去 显示"/etc/shadow" [Permission Denied]# 那为何普通用户能改密码?归功于passwd命令的特殊权限 SetUID(s)这使得你只要执行这个命令,就是在按照/bin/passwd 的属主权限去执行

一、SetUID权限

可以这样理解:当一个具有执行权限的文件设置了SetUID权限后,用户在执行这个文件时,将以文件所有者身份来执行

SetUID :无论是谁操作 都是按照其属主(root)的权限例子 ll /bin/passwd[root@sky ~]# ll /bin/su-rwsr-xr-x. 1 root root 32208 Oct 312018 /bin/su#哪些命令默认设置了suid位[root@sky ~]# find /bin/ -type f -perm 4755|xargs ls -l-rwsr-xr-x. 1 root root 64328 Oct 312018 /bin/chage-rwsr-xr-x. 1 root root 57576 Apr 112018 /bin/crontab-rwsr-xr-x. 1 root root 32096 Oct 312018 /bin/fusermount-rwsr-xr-x. 1 root root 78272 Oct 312018 /bin/gpasswd-rwsr-xr-x. 1 root root 44320 Oct 312018 /bin/mount-rwsr-xr-x. 1 root root 41872 Oct 312018 /bin/newgrp-rwsr-xr-x. 1 root root 27832 Jun 102014 /bin/passwd-rwsr-xr-x. 1 root root 23656 Oct 312018 /bin/pkexec-rwsr-xr-x. 1 root root 32208 Oct 312018 /bin/su-rwsr-xr-x. 1 root root 32048 Oct 312018 /bin/umount# SetUID的作用1.让普通用户对可执行的二进制文件,临时拥有二进制文件的所属权限2.如果设置的二进制文件没有执行权限,那么suid的权限显示就是S3.特殊权限suid仅对二进制可执行程序有效,其他文件或目录则无效注意:suid极其危险,不信可以尝试对vim或者rm命令进行设定suid# 如何授权:chmod us 文件名或者chmod 4XXX 文件名例如:[root@db04 ~]# chmod u+s /bin/cat[root@db04 ~]# chmod 4755 /bin/cat给cat一个SetUID权限的话,普通用户就也可以看/etc/shadow了#给cat命令授权 SetUID 权限[root@db04 ~]# chmod 4755 /bin/cat#查看cat权限[root@db04 ~]# ll /bin/cat-rwsr-xr-x. 1 root root 48568 11月 22 2013 /bin/cat#切换用户[root@db04 ~]# su - xxx#再次查看/etc/shadow就能看了#在有执行权限的情况下是 s,没有执行权限的情况下是 S原本属主位上有x权限,s 显示s原本属主位上有x权限,s 显示S他的特殊权限4000(可以stat /passwd 看一下)

例如:先改成000 加s权限显示大S

再改777 加s权限显示小s

大S和小s单纯只是用来提示原来位置上有没有x权限

二、SetGID

对于二进制命令或者程序来说,sgid 的功能与 suid 基本相同,唯一的区别是,suid是获得命令所属用户的身份和权限,而sgid 是获得命令所属用户组的身份和权限

# sgid 核心知识小结1)与suid 不同的是,sgid 既可以针对文件,也可以针对目录进行设置。2)sgid 的权限是针对用户组权限位的。对于文件来说,sgid 的功能具体如下。1)sgid 仅对二进制命令及程序有效。2)二进制命令或程序,也需要有可执行权限x 的配合。3)执行命令的任意用户可以获得该命令在程序执行期间所属组的身份和权限。对于目录(继承目录所属的组)来说,sgid 的功能具体如下。1)Linux 里默认情況下所有用户创建文件,默认用户和组都是自身。2)sgid 可以让用户在此目录下创建的文件和目录具有与此目录相同的用户组设置(作用:组内文件共享。)setgid 位主要用于目录中,在为某个目录设置了setgid 位以后,在该目录中新创建的文件具有该目录的所属组权限,而不是创建该文件的用户的默认所有者。这就使得在多个用户之间共享一个目录中的文件变得简单。# sgid实际应用很少例子 ll /bin/writes在属组位# 如何授权:chmod g+s 文件名或者chmod 2XXX 文件名2000 就是只授这个权变成------S---

例如:

root@sky,10.0.0.201:~ # mkdir /tmp/test 创建test目录root@sky,10.0.0.201:~ # chmod g+s /tmp/test 授权root@sky,10.0.0.201:~ # ll /tmp/test/ -d 看一下drwxr-sr-x. 2 root root 6 Aug 23 10:47 /tmp/test/ r-s 已经有了sroot@sky,10.0.0.201:~ # touch /tmp/test/toot.file在test下创建toot文件root@sky,10.0.0.201:~ # su - a01 切到a01用户Last login: Tue Aug 23 09:29:22 CST 2022 on pts/0[a01@sky ~]$ touch /tmp/test/xxx.file 在test下创建xxx.file 提示无权限touch: cannot touch ‘/tmp/test/xxx.file’: Permission deniedroot@sky,10.0.0.201:~ # chmod 777 /tmp/test777授权下root@sky,10.0.0.201:~ # su - a01切到a01用户[a01@sky ~]$ touch /tmp/test/xxx.file 就可以创建了。在test下创建xxx.file[a01@sky ~]$ ll /tmp/test 查看total 0-rw-r--r--. 1 root root 0 Aug 23 10:56 toot.file-rw-rw-r--. 1 a01 root 0 Aug 23 11:08 xxx.file#属组变跟root了 不加权限正常是跟a01那只要我是root组下的,我test下面的都能操作三、sbit

Sticky BIT ,简称 SBIT 特殊权限 ,可意为粘着位、粘滞位、防删除位等。

SBIT 权限仅对目录有效,一旦目录设定了 SBIT 权限,则用户在此目录下创建的文件或目录,就只有自己和 root 才有权利修改或删除该文件。

也就是说,当甲用户以目录所属组或其他人的身份进入 A 目录时,如果甲对该目录有 w 权限,则表示对于 A 目录中任何用户创建的文件或子目录,甲都可以进行修改甚至删除等操作。但是,如果 A 目录设定有 SBIT 权限,那就大不一样啦,甲用户只能操作自己创建的文件或目录,而无法修改或删除其他用户创建的文件或目录。

举个例子,Linux 系统中,存储临时文件的 /tmp 目录就设定有 SBIT 权限:

✓ 17:43:23 root@sky,10.0.0.201:/tmp # touch rootfile root下创建rootfile✓ 17:43:37 root@sky,10.0.0.201:/tmp # su - xxx切到xxx[xxx@sky tmp]$ touch xxx.file 用户xxx创建xxx.fileroot@sky,10.0.0.201:~ # su - a01切到a01 切到/tmp下 创建a01.file[a01@sky ~]$ cd /tmp/# 这时用a01用户删rootfile 和 xxx.file 均提示无法删除[a01@sky tmp]$ rm -fr xxx.filerm: cannot remove ‘xxx.file’: Operation not permitted[a01@sky tmp]$ rm -fr rootfilerm: cannot remove ‘rootfile’: Operation not permitted# 但若是移除/tmp目录的SBIT权限,则可以嗨删0 ✓ 17:46:22 root@sky,10.0.0.201:/tmp # chmod o-t /tmp/ 去除/tmp目录的SBIT权限 0 ✓ 17:46:32 root@sky,10.0.0.201:/tmp # ll -d /tmp/看一眼drwxrwxrwx. 19 root root 4096 Aug 23 17:44 /tmp/ 已经没有t了 0 ✓ 17:46:35 root@sky,10.0.0.201:/tmp # su - xxx换xxx用户[xxx@sky tmp]$ rm -fr rootfile嗨删[xxx@sky tmp]$ rm -fr a01.file[xxx@sky tmp]$ ll删完看一眼 都没了# ll -d /tmpdrwxrwxrwt. 19 root root 4096 Aug 23 18:21 /tmp原本权限位上没有x 那T原本权限位上没有x 那t授权命令:chmod o+t默认权限 1000
•••展开全文
相关文章