linux中chmod 详解
linux中”ls -al”显示目录的权限与文件权限含义不同:
drwxrwxrwx
-rwxrwxrwx
这里面,目录上一行“d“表示是个目录,下一行“-“表示是个文件
===
Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users
语法
chmod mode file
其中mode可以设定为字符串[ugoa][+-=][rwx]
其中[ugoa]代表的是
u(owner)表示文件所有者,即创建文件的人
g(group):表示和文件所有者相同组的用户
o(other):表示非文件所有者和相同group的用户
a(all):表示所有用户
[±=]表示
+:表示给指定的用户授权指定的权限
-: 表示撤销指定用户的某个权限
=: 将指定用户的指定权限重新设置
[rwx]表示
r:可读权限
w:可写权限
x:可执行权限
给文件所有者设置可读权限
chmod u+r test.txt
给文件所有者设置可写权限
chmod u+w test.txt
给文件所有者设置可读可写可执行权限
chomd u+rwx test.txt
给其他的用户设置可执行权限
chmod o+x test.txt
将其他用户的可写权限撤销
chmod o-w test.txt
给文件所有者、当前组的用户设置可读可写可执行的权限
chmo ug+rwx test.txt
777表示什么
chmod可以使用八进制数来指定权限,无需再使用指定的权限和用户的字母来进行标识,通过读写执行等3个权限的数字来进行设置
八进制语法
# 权限 rwx
7 读+写+执行 rwx
6 读+写 rw-
5 读+执行 r-x
4 只读 r–
3 写+执行 -wx
2 只写 -w-
1 只执行 –x
0 无权限 —
r(读)的权限的数字为4,w(写)的权限的数字为2,x(执行)的权限数字为1
所以7表示的赋权的用户有读写执行权限,最大的权限
777表示什么
因为文件的权限分为3种用户,分别为u(文件所有者)、g(文件的组用户)、o(其他用户),所以777表示u、g、o都是777的权限
chmod 777 test.txt:表示将test.txt文件的读、写、执行权限赋权给所有的用户。
修改文件所属用户
chown -R user:group test.txt 可以修改指定文件的用户和组