1.Linux权限的概念
Linux用户:1.root,超级管理员
2.非root,XXX,普通用户
命令:su[用户名]
功能:切换用户。
su -:是指以root的身份重新登录一次。
普通用户切换root需要输入密码,root切换普通密码无需输入密码。
普通用户切换另一个普通用户,需要对方的密码。
sudo 命令:对该命令进行提权,以root的身份执行该命令。
注意:一个用户的用户名在sudoers配置文件中,才允许这个用户执行sudo
一个一个用户的用户名不在sudoers配置文件中,不允许这个用户执行sudo
2.Linux权限管理
1.文件访问者的分类
- 所有者(u)
- 所有者所在的组的用户(g)
- 其他用户(o)
2.文件类型和访问权限
1.文件类型
d :文件夹- :普通文件l :软链接(类似 Windows 的快捷方式)b :块设备文件(例如硬盘、光驱等)p :管道文件c :字符设备文件(例如屏幕等串口设备)s :套接口文件
2.基本权限
- 读(r/4)具有读取文件内容和浏览目录信息的权限
- 写(w/2)具有修改文件和删除移动目录内文件的权限
- 执行(x/1)具有执行文件和进入目录的权限
权限也可以使用8进制数值表示
权限符号 | 八进制 | 二进制 |
r | 4 | 100 |
w | 2 | 010 |
x | 1 | 001 |
rw | 6 | 110 |
rx | 5 | 101 |
wx | 3 | 011 |
rwx | 7 | 111 |
--- | 0 | 000 |
3.更改文件权限
1.chmod
功能:设置文件的访问权限。
格式:chmod[选项] 权限 文件名
上面指令的作用是将110.txt文件拥有者的读权限删除。
上面指令的作用是给所有用户的所有权限给110.txt文件。
注意:Linux文件可执行
1.必须具有可执行权限
2.必须是可执行文件
2.chown
功能:修改文件的拥有者
格式:chown[选项] 用户名 文件名
普通用户在授予文件权限时需要sudo提权。
3.chgrp
功能:修改文件的所属组
格式:chgrp[选项] 用户名 文件名
4.file
功能:辨识文件类型
语法:file[选项] 文件或目录
常用选项:
-c 详细显示指令执行过程,便于排错或分析程序执行的情形
-z 尝试取解读压缩文件的内容
5.umask
功能:查看或修改文件掩码
新建文件默认权限=0666
新建目录默认权限=0777
创建文件或目录时权限收到umask的影响,若默认权限时mask,实际的权限时mask&(~umask)
注:~为按位取反
格式:umask 权限值
将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限,超级用户默认掩码值为0022,普通用户默认掩码值为0002。
4.目录的权限
- 可执行权限:如果目录没有可执行权限,则无法cd到目录中
- 可读权限:如果目录没有可读权限,则无法用ls查看目录中的内容
- 可写权限:如果目录没有可写权限,则无法再目录中创建和删除文件
那么用户如果具有目录的写权限,用户就可以删除目录中的文件,而不用管该用户有没有这个文件的写权限吗?
为了解决这个问题,Linux有粘滞位的概念
5.粘滞位
语法:chmod +t 目录
功能:该目录下的文件只能由超级管理员,该目录的所有者和该文件的所有者删除。
其他用户无法删除该文件
粘滞位实际是给目录中的other设置的一个权限位,具有x的意义,同时也对目录权限做出了特殊规定。