linux-文件权限

来源:互联网 发布:eric python 编辑:程序博客网 时间:2024/04/29 04:32

理解Linux系统文件权限
使用ls -l可列出类似如下:
drwxr-xr-x 2 zhangsan zhangsan 4096 11月 3 23:15 Desktop
drwxr-xr-x 2 zhangsan zhangsan 4096 11月 3 22:57 Documents
drwxr-xr-x 2 zhangsan zhangsan 4096 11月 3 22:57 Downloads
-rw-r–r– 1 zhangsan zhangsan 8980 11月 3 19:17 examples.desktop
drwxr-xr-x 2 zhangsan zhangsan 4096 11月 3 22:57 Music
drwxr-xr-x 2 zhangsan zhangsan 4096 11月 3 22:57 Pictures
drwxr-xr-x 2 zhangsan zhangsan 4096 11月 3 22:57 Public
drwxr-xr-x 2 zhangsan zhangsan 4096 11月 3 22:57 Templates
drwxr-xr-x 2 zhangsan zhangsan 4096 11月 3 22:57 Videos

前十位即文件权限,又分为四部分:第一位为文件类型,接着三位为当前登录用户对该文件所有的权限,接着为其所在组所具有的
对该文件的权限,最后三位为其他用户对该文件所拥有的权限。

关于第一位文件类型:
- 代表文件
d 代表目录
l 代表链接文件
c 代表字符型设备文件
b 代表块设备文件
n 代表网络设备文件

文件权限又分为三部分:读(r),写(w),可执行(x),如果为-表示没有对应权限

所以以第一列为例也就表示:Desktop是一个目录(d),此目录拥有者者zhangsan拥有(rwx)读写与执行权限,然后zhangsan组的其他成员拥有(r-x)读和执行权限,系统上zhangsan组以外的其他成员拥有(r-x)读与执行的权限。

授权命令:chmod命令
用法:chmod [-cfvR] [–help] [–version] mode file…
关于参数mode:权限设定字符串,格式为:[ugoa…][[+-=][rwxX]…][,…]
u 表示该文件的拥有者
g 表示拥有者所在的组
0 表示其他用户
a 表示系统所有用户

+ 表示增加权限
- 表示减少权限
= 表示惟一设定给定的权限

关于命令选项:
-c 只有文件权限信息更改,才显示更改信息
-f 若权限更改失败,也不显示提示信息
-R 以递归的方式对当前目录下所有的文件以及子目录进行相同的权限变更
–help 显示帮助信息
–version 显示版本

使用例子:
(1)将test.txt文件设置为所有用户可读
chmod ugo+r test.txt 或者 chmod a+r test.txt
(2)将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt

当使用=惟一设定权限时,相当于【chmod 八进制三位数字 filename】 用法,八进制三位数第一位与文件拥有者对应,第二位
与拥有者所在组对应,第三位与系统其他用户对应。如chmod 777 test.txt,即表示将test.txt权限设定为所有用户都可以读写
执行,下面详细解释:
chmod 777 test.txt —–> chmod u=7 g=7 o=7 test.txt —-转换为3位二进制—>chmod u=111 g=111 o=111 test.txt
然后,每一位进制制中的1代表拥有其所处位置的权限,0则表没有,所以不管u也好,g也好,o也好,读写可执行三位都为1,
也即此文件所有用户都可以读写执行,所以同理可得chmod 765 test.txt即表示test.txt文件拥有者有所有的权限,所在组用户
拥有读写权限,没有执行权限,其他用户只有读和执行权限,没有写的权限。

注:chmod 无视链接文件。

0 0
原创粉丝点击