#文件的权限 使用 “+” 设置权限,使用 “-” 用于取消
ls -lh 显示权限
ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示
chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限
chown user1 file1 改变一个文件的所有人属性
chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性
chgrp group1 file1 改变文件的群组
chown user1:group1 file1 改变一个文件的所有人和群组属性
find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件
chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限
chmod u-s /bin/file1 禁用一个二进制文件的 SUID位
chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的
chmod g-s /home/public 禁用一个目录的 SGID 位
chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件
chmod o-t /home/public 禁用一个目录的 STIKY 位
chmod +x 文件路径 为所有者、所属组和其他用户添加执行的权限
chmod -x 文件路径 为所有者、所属组和其他用户删除执行的权限
chmod u+x 文件路径 为所有者添加执行的权限
chmod g+x 文件路径 为所属组添加执行的权限
chmod o+x 文件路径 为其他用户添加执行的权限
chmod ug+x 文件路径 为所有者、所属组添加执行的权限
chmod =wx 文件路径 为所有者、所属组和其他用户添加写、执行的权限,取消读权限
chmod ug=wx 文件路径 为所有者、所属组添加写、执行的权限,取消读权限
1.chmod
chmod命令用于改变文件或目录的权限,设置权限有字符和数字两种设定方法。
1.1 在数字设定法中,0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,以上数字相加所得到的数最最终权限。如可写可读为6,可执行和可读为5权限。
八进制模式是指:先取得权限(rwx)的值,然后将其转换成3位二进制值,这二进制值用一个8进制值来表示。 然后组合的3个8进制值分别代表属主,属组,其它用户的权限。
权限 | 二进制值 | 八进制值 | 描述 |
--- | 000 | 0 | 没有任何权限 |
--x | 001 | 1 | 执行权限 |
-w- | 010 | 2 | 写入权限 |
-wx | 011 | 3 | 写入和执行权限 |
r-- | 100 | 4 | 读取权限 |
r-x | 101 | 5 | 读取和执行权限 |
rw- | 110 | 6 | 读取和写入权限 |
rwx | 111 | 7 | 全部权限 |
通过上面表格说明,我们就能根据文件和目录需要的权限来组合八进制值。例如举列:
如果目录或文件的八进制,组合值为777,代表所有用户都有读,写,执行权限。
如果目录或文件的八进制,组合值为666,代表所有用户都有读,写权限。
如果目录或文件的八进制,组合值为744,代表属主有读,写,执行权限。属组有读权限,其它用户有读权限。
如果目录或文件的八进制,组合值为740,代表属主有读,写,执行权限。属组有读权限,其它用户没有任何权限。
1.2 在英文设定法中,r表示可读权限,w表示可写权限,x表示可执行权限,-表示无任何权限。
| 选项 | 相应功能 |
| u | 操作对象简称,用户user,文件或目录的所有者。 |
| g | 操作对象简称,同组用户group,文件或目录所属群组 |
| o | 操作对象简称,其它用户others |
| a | 操作对象简称,所有用户all,系统默认使用此项 |
| + | 权限操作符,添加某些权限 |
| - | 权限操作符,取消某些权限 |
| = | 权限操作符,设置文件的权限为给定的权限 |
| r | 权限设定(英文),表示可读权限 |
| w | 权限设定(英文),表示可写权限 |
| x | 权限设定(英文),表示可执行权限 |
| - | 权限设定(英文字符),表示没有权限 |
| X | 权限设定,如果目标文件是可执行文件或目录,可给其设置可执行权限 |
| s | 权限设定,设置权限suid和sgid,使用权限组合“u+s”设定文件的用户的ID位,“g+s”设置组ID位 |
| t | 权限设定,只有目录或文件的所有者才可以删除目录下的文件 |
| -c | 如果文件权限已经改变,显示其操作信息 |
| -f | 操作过程中不显示任何错误信息 |
| -R | 修改指定目录下所有文件或子目录的权限 |
| -v | 显示命令运行时的详细执行过程 |
| --help | 显示帮助信息 |
| --version | 显示版本信息 |
2.chown
使用chown来改变文件的属主,可以用登录名或UID来指定文件的新属主。
-属主改为了mysql用户和属组为mysql组
-R选项可以递归改变子目录和文件的所属关系。
-h选择可以改变文件的所有符号链接文件的所属关系
chown -R mysql.mysql /usr/local/mysql
3.chgrp
改变默认属组
#文件的特殊属性 ,使用 “+” 设置权限,使用 “-” 用于取消
chattr +a file1 只允许以追加方式读写文件
chattr +c file1 允许这个文件能被内核自动压缩/解压
chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件
chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接
chattr +s file1 允许一个文件被安全地删除
chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘
chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件
lsattr 显示特殊的属性