目录
1 权限
- 权限的作用:规定哪些用户对哪些资源可以如何使用。
1.1 权限的查看
- 以root身份在tmp目录下创建一个目录与一个文件。
- 查询文件与目录的权限信息。使用命令 ls -l 文件名 查询文件权限,使用命令 ls -ld 目录名 查询目录权限。可以分别缩写为 ll 文件名 、 ll -d 目录名 。
1.2 权限解读
- 如上图中的test.txt文件,前8位为“-rw-r–r–”,各位表示含义如下:
- 第一个字段就是描述文件和目录权限的编码。这个字段的第一个字符代表了对象的类型:
- 代表文件
- d 代表目录
- l 代表链接
- c 代表字符型设备
- b 代表块设备
- n 代表网络设备
- 之后有3组三字符的编码,第1组表示对象的所属者owner权限、第2组表示对象所属组group权限、第3组表示系统其他用户other权限。每一组定义了3种访问权限:
- r 代表对象是可读的
- w 代表对象是可写的
- x 代表对象是可执行的
- 文件权限:
- r(read):可读取此文件的实际内容,如读取文本文件的文字内容;
- w(write):可以编辑、新增或是修改文件的内容(不包含删除文件);
- x(eXecute):该文件具有可以被系统执行的权限;
- 文件夹权限:
- r:表示具有读取目录结构列表的权限,当你具有一个目录的r权限时,表示你可以查询到该目录下的文件名数据
- w:表示具有改变目录结构的权限,包括新建文件与目录、删除文件与目录、重命名文件及目录、移动文件及目录位置
- x:代表用户能否进入该目录成为工作目录
2 权限修改
2.1 修改文件/目录普通权限
2.1.1 方法1:指定权限修改
- 方法介绍:使用公式 chmod 对象 算数运算符 权限 文件 ,对特定文件的特定用户或组修改权限。该方法对目录同样适用。
- 参数说明:
- 对象:u代表所属者、g代表所属组、o代表其他用户、a代表所有人。
- 算数运算符:+ 附加权限、- 移除权限、= 指定权限。
- 权限:r w x
- 修改test.txt文件权限为其他用户不可读,操作如下:
2.1.2 方法2:八进制赋权法
- 方法介绍:采用0~7的数字代表不同用户的权限,采用命令 chmod xxx 文件 ,对特定文件的特定用户或组修改权限,其中每一个x表示0~7。该方法对目录同样适用。
- 参数说明:
x数值 | 二进制数值 | 权限 |
---|---|---|
0 | 000 | — |
1 | 001 | –x |
2 | 010 | -w- |
3 | 011 | -wx |
4 | 100 | r– |
5 | 101 | r-x |
6 | 110 | rw- |
7 | 111 | rwx |
- 使用技巧:记住1、2、4对应的权限,其余数值可以转为这三个数相加,也代表其权限的叠加。
- 使用该方法,修改test.txt权限为所有用户可读可写可执行。
2.1.3 修改文件所属信息
- 修改文件所属者:使用命令 chown 新所有者 文件 。
- 修改文件所属组:使用命令 chgrp 新所有组 文件 。
2.2 修改目录及可执行文件的特殊权限
2.2.1 粘滞位
- 功能:粘滞位针对目录赋权,目录中创建的文件只有建立者可以删除。
- 赋权方法: chmod o+t 目录名 。
- 使用结果:
2.2.2 sgid权限
- 功能:sgid针对目录建立的权限,在该目录中建立的文件所属组继承父目录的所属组。
- 赋权方法: chmod g+s 目录名 。
- 使用结果:
2.2.3 suid权限
- 功能:suid是针对可执行文件建立的权限。赋权后,无论谁运行该可执行文件,均具有该文件所属者的权限。
- 赋权方法: chmod u+s 目录名 。
2.3 撤销权限
- 将上述命令的+号改为-号,或者采用八进制赋值法将对应权限位设为0.
3 与权限相关的其他操作
3.1 按权限查找文件
- 思路:使用find命令配合八进制赋权法进行查找。
- 查找方法: find 目标目录 -perm xxxx ,命令中不同位的x含义如下:
- 第1位x:表示特殊权限,1表示粘滞位已赋权、2表示sgid已赋权、4表示suid已赋权。
- 第2位x:表示所属者权限rwx。
- 第3位x:表示所属组权限rwx。
- 第4位x:表示其他用户权限rwx。
3.2 设置系统不再添加用户
- 使用方法: chattr +i 目录1 [目录2] 。
- 上述目录主要可以是以下目录:
- /etc/group:表示不再新增组。
- /etc/passwd:表示不再新增用户,一般配合shadow使用。
- /etc/shadow:表示不再新增用户,一般配合passwd使用。
3.3 设置umask
- 当一个文件被不同用户创建时,其默认权限是不一样的,当一个文件被普通用户和root用户创建时,其他用户权限不同,这是因为不同用户的umask不一样。
- umask:指定在建立文件时预设的权限掩码。
- 作用原理:默认情况下root的umask为0022,其余用户为0002,而默认情况下目录的最高权限为0777,文件的最高权限为666。以root用户为例,当新建目录时默认权限为0777 - 0022 = 0755;当新建文件时默认权限为666 - 022 = 644。
3.4 修改默认密码最长有效期时间
- 保存密码默认参数的文件在/etc/login.defs中,使用vim编辑器修改其默认值,即可完成修改。
4 总结
- 掌握设置权限的作用;
- 掌握权限的查看方式;
- 理解权限中不同符号的含义;
- 掌握对文件和目录设置权限的方法;
- 掌握对目录和可执行文件设置特殊权限的方法;
- 了解与权限相关的其他操作。