shell编程学习之权限
一、linux的访问权限分为三种
读、写、执行 使用r w x或者是使用八进制4 2 1来设置权限
二、linux的文件权限分为三种
文件属主 、同组用户、其他用户
三、linux的文件类型
_(普通文件) d(目录) l(链接) p(命名管道) b(块设备文件) s(套接字 文件) c(字符设备文件)
讲解一个简单例子
drwxr-x--x 2 root root 4096 02-10 14:20 test
d : 说明是目录
rwx:是文件属主的权限,有读、写、执行权限
r-x: 是同组的用户的权限,有读、执行的权限
--x: 是其他用户的权限,有执行的权限
四、修改权限
使用命令chmod
[root@linux-3 shell]# chmod --help
用法:chmod [选项]... 模式[,模式]... 文件...
或:chmod [选项]... 八进制模式 文件...
或:chmod [选项]... --reference=参考文件 文件...
将每个[文件]的模式更改为[模式]。
-c, --changes 类似 --verbose,但只在有更改时才显示结果
--no-preserve-root do not treat `/' specially (the default)
--preserve-root fail to operate recursively on `/'
-f, --silent, --quiet 去除大部份的错误信息
-v, --verbose 处理任何文件都会显示信息
--reference=参考文件 使用[参考文件]的模式,而非自行指定权限模式
-R, --recursive 以递归方式更改所有的文件及子目录
--help 显示此帮助信息并退出
--version 输出版本信息并退出
Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.
最重要的是看最后一行
Each MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.
说明如下:
[ugoa]
u:文件属主权限
g:同组用户权限
o:其他用户权限
a:所有用户
[-+=]
-:取消权限
+:增加权限
=:设置权限
[rwxXst]
r::读
w:写
x:执行
s:set-ID
t:粘性位
[ugo]
u:针对文件属主操作
g:针对同组的用户操作
o:针对其他用户操作
就上面的例子修改权限
[root@linux-3 shell]# chmod o+r test/ #其他用户有读的权限
[root@linux-3 shell]# ll
总计 8
drwxr-xr-x 2 root root 4096 02-10 14:20 test
[root@linux-3 shell]# chmod 755 test/ #这样也是可以给予权限的
[root@linux-3 shell]# ll
总计 8
drwxr-xr-x 2 root root 4096 02-10 14:20 test