下面我们讲解shell中的权限
通过ls -l 可查看文件或目录的属性,如
-rwxr-xr-x a.sh <- 代表a.sh是一个文件>
drwxr-xr-x b
说明
★ 第一字符代表的含义如下:
d 目录。
l 符号链接(指向另一个文件)。
s 套接字文件。
b 块设备文件。
c 字符设备文件。
p 命名管道文件。
– 普通文件,或者更准确地说,不属于以上几种类型的文件。
★ 文件的访问方式
读(-r): 可以显示该文件的内容
写(-w): 可以编辑或删除它
执行(-x): 如果该文件是一个shell脚本或程序,则可被执行
★ 文件的权限:
文件属主(-u): 创建该文件的用户
同组用户(-g): 拥有该文件的用户组中的任何用户
其他用户(-o): 即不属于拥有该文件的用户组的某一个用户
所有用户(-a): 一切的用户
★ 除第一个字符外,每3个数字代表一个权限位
-rwxr-xr-x,划分权限位之后为:rwx r-x r-x
★ 有两种方式可修改文件的权限
方式一:
chmod [who] operator [permission] filename
w h o的含义是:
u 文件属主权限。
g 同组用户权限。
o 其他用户权限。
a 所有用户(文件属主、同组用户及其他用户)。
o p e r a t o r的含义:
+ 增加权限。
– 取消权限。
= 设定权限。
p e r m i s s i o n的含义:
r 读权限。
w 写权限。
x 执行权限。
如: chmod -R u=x name_dir (给目录name_dir及其子目录/文件的文件属主赋予执行的权限)
方式二
chmod [mode] file
mode 每一个权限位用一个八进制数表示,如551
读(-r) : 4
写(-w) : 2
执行(-x): 1
如: chmod 751 file_name =>file_name文件的属主具有可读,可写,可执行的权限;
file_name文件属主所在的组具有可读,可执行的权限,没有可写的权限
file_name文件属主所在组的其他用户具有可执行的权限,没有读,写的权限