文件的权限chmod, chown, chgrp, chattr Linux教程


#文件的权限 使用 “+” 设置权限,使用 “-” 用于取消

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 显示特殊的属性


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回