查看文件权限:
ls -l 在目录下列出文件列表和权限信息
-rw-r--r-- 1 byron staff 89 8 11 10:47 OWNERS
-rwxr-xr-x 1 byron staff 4034 8 11 10:47 ensure_gn_version.py
drwxr-xr-x 3 byron staff 96 8 11 10:47 linux64
权限信息通用格式:
-rwxr-xr-x number user group filesize updatetime filename
通用格式分为7个部分,分别是:
- 文件属性,共10个字符,第1个表示类型,
-
表示文件,d
表示文件夹。后9个字符分3组,分别表示对于当前用户,当前用户所在组,其他用户的 读/写/执行权限。r
可读,w
可写,x
可执行 ,-
无权限 number
表示文件的数量user
表示当前用户名group
表示当前用户所在组的名字filesize
表示该文件大小,单位byteupdatetime
表示文件最后修改时间filename
文件名
上面例子中,-rw-r--r--
表示OWNERS是一个文件,对当前用户有读写权限,没有执行权限, 当前用户所在组其他用户只有读权限,没有写和执行权限。
drwxr-xr-x
表示linux64是一个文件夹,对当前用户有读写执行权限,用户组和其他用户有读和执行权限,没有写权限,且文件夹中有3个文件。
修改文件权限
修改权限的命令格式:
chmod <权限范围><权限操作><具体权限> <文件或目录>
权限范围
:
- u : user,当前用户
- g :Group,当前用户所在组
- o :Other,其他用户
- a :All,全部用户
权限操作
:
+
:增加权限,
-
:取消权限,
=
:设置拥有权限,
具体权限
:
- r :可读
- w :可写
- x :可执行
举个例子:
-rw-r--r-- 1 byron staff 0 12 27 12:04 text.txt // 文件原始权限
chmod u+x text.txt // 执行修改权限
-rwxr--r-- 1 byron staff 0 12 27 12:04 text.txt // 修改后的权限
-rw-r--r-- 1 byron staff 0 12 27 12:04 text.txt // 文件原始权限
chmod a=rwx text.txt // 执行修改权限
-rwxrwxrwx 1 byron staff 0 12 27 12:04 text.txt // 修改后的权限
-rw-rw-rw- 1 byron staff 0 12 27 12:04 text.txt // 文件原始权限
chmod u+x-w text.txt // 执行修改权限
-r-xrw-rw- 1 byron staff 0 12 27 12:04 text.txt // 修改后的权限
还有一种修改权限的命令格式:
chmod <数字> <文件名>
3位数字分别表示user, group,other的权限
r = 4, w = 2, x = 1
则 rwx为 4+2+1=7, rw-为 4+2=6, r-x为4+1=5,-wx为2+1=3等等
所以我们常见的755代表rwxr-xr-x
,777代表rwxrwxrwx
所以前面的chmod a=rwx filename
可以简化为chmod 777 filename
-rw-r--r-- 1 byron staff 0 12 27 12:04 text.txt // 文件原始权限
chmod 777 text.txt // 执行修改权限
-rwxrwxrwx 1 byron staff 0 12 27 12:04 text.txt // 修改后的权限