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