特殊权限

2022/4/12 23:20:40

本文主要是介绍特殊权限,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

特殊权限

特殊权限介绍

# 基本权限
r:读
w:写
x:执行

# 特殊权限
[root@localhost ~]# ll /bin/passwd
-rwsr-xr-x. 1 root root 27856 Apr 1 2020 /bin/passwd

[root@localhost ~]# ll /bin/write
-rwxr-sr-x. 1 root tty 19544 Oct 1 2020 /bin/write

[root@localhost ~]# ll /tmp/ -d
drwxrwxrwt. 10 root root 195 Apr 12 11:46 /tmp/

特殊权限的类型

1).setUID

# 1.普通用户可不可以修改密码
可以,修改自己的密码,但密码要复杂

# 2./etc/shadow文件的作用
存储用户密码的文件

# 3./etc/shadow文件的权限
[root@localhost ~]# ll /etc/shadow
----------. 1 root root 685 Apr 11 15:29 /etc/shadow

# 4.普通用户,是否可以修改/etc/shadow文件
不可以,/etc/shadow文件,对于普通用户没有任何权限,所以不能读取,也不能写入内容

# 5.那么普通用户,为什么可以修改密码
1)使用了passwd这个命令
2)passwd命令在属主权限位上,原本是x权限,变成了s权限
3)s权限在属主权限位,又叫setUID权限,sUID
4)作用:普通用户在使用有sUID权限的文件或命令时,会以该文件的属主身份去执行该命令

setUID特性

# 1.原本属主位上如果有x权限,则setUID为 s
# 2.原本属主位上如果没有x权限,则setUID为 S
# 3.授权方式
- chmod u+s 文件名
- chmod 4xxx 文件名
# 4.setUID权限的数字是4000

2)setGID

[root@localhost ~]# ll /bin/write
-rwxr-sr-x. 1 root tty 19544 Oct 1 2020 /bin/write

# 创建一个目录
[root@localhost ~]# mkdir /tmp/lza
# 赋予sgid权限
[root@localhost ~]# chmod g+s /tmp/lza
# 查看目录权限
[root@localhost ~]# ll /tmp/lza/ -d
drwxr-sr-x. 2 root root 6 Apr 12 18:03 /tmp/lza/
# 使用root用户创建用户
[root@localhost ~]# touch /tmp/lza/lza.txt
# 查看文件
[root@localhost ~]# ll /tmp/lza/lza.txt
-rw-r--r--. 1 root root 0 Apr 12 18:08 /tmp/lza/lza.txt
# 切换用户
[root@localhost ~]# su - lizian
[lizian@localhost ~]$
# 创建文件
[lizian@localhost ~]$ touch /tmp/lza/xxx
touch: cannot touch ‘/tmp/lza/xxx’: Permission denied
# 赋予目录777权限
[root@localhost ~]# chmod 777 /tmp/lza/
# 查看目录权限
[root@localhost ~]# ll -d /tmp/lza/
drwxrwsrwx. 2 root root 21 Apr 12 18:15 /tmp/lza/
# 普通用户创建文件
[lizian@localhost ~]$ touch /tmp/lza/lizian.txt
# 查看权限
[lizian@localhost ~]$ ll /tmp/lza/lizian.txt
-rw-rw-r--. 1 lizian root 0 Apr 12 18:22 /tmp/lza/lizian.txt

setGID特性

# 1.原本属组位上如果有x权限,则setGID为 s
# 2.原本属组位上如果没有x权限,则setGID为 S
# 3.授权方式
- chmod g+s 文件名
- chmod 2xxx 文件名
# 4.setGID权限的数字是2000

# 主要应用场景:文件共享

3)SBIT

[root@localhost ~]# ll /tmp/ -d
drwxrwxrwt. 10 root root 195 Apr 12 11:46 /tmp/

粘滞位权限作用特性

# 1.带有粘滞位权限的目录下的所有文件,谁都可以读,写
# 2.带有粘滞位权限的目录下的文件只有属主能删除自己的文件,其他用户无法删除
# 3.带有粘滞位权限的目录,只有root能删除
# 4.授权方式
- chmod o+t 文件名
- chmod 1xxx 文件名
# 5.SBIT权限的数字是1000
# 6.其他用户权限位上有x权限 t
# 没有x权限 T

凌驾于root之上的权限

# 设置这个权限
chattr [选项]... 文件名
i:只能查看文件内容,无法编辑
a:只能查看和追加文件内容,无法修改或覆盖原文件内容

+:设置,增加该权限
-:取消该权限

# 查看这个权限
lsattr 文件名

umask

# 查看当前系统默认的umask
[root@localhost ~]# umask
0022

# 修改系统默认的umask
[root@localhost ~]# umask 025

# 计算方法
目录使用777 - umask
文件使用666 - umask

如果umask的位数上有奇数
文件使用666 - umask 在奇数位上加1



这篇关于特殊权限的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程