Linux权限管理
权限管理
权限管理,其实就是指对不同的用户,设置不同的文件 访问权限,Linux系统中的目录和文件的访问身份分为:user,group,others 分别简写为: u , g ,o
- user 是文件的所有者
- group 是文件所有者所在组的其他成员;
- others 不在所有者的所在组的其他用户;
每个身份对文件的权限又分为:read,write,execute 分别简写为: r,w,x 数字表示分别为: 4,2,1
查看权限
ls 命令表示查看文件及目录详细信息
例如说明:
第 1 列:dr-xr-xr-x,表示文件或目录的类型及权限;
第 2 列: 4,表示文件或目录的链接个数;
第 3 列:t01,表示文件或目录的所有者;
第 4 列:test,表示文件或目录的所在群组;
第 5 列:136,表示文件或目录本身的大小;
第 6 列:5月 24 11:26表示文件或目录最后更新时间;
第 7 列:day01.py ,表示文件或目录的名称。
第 1 列说明:
dr-xr-xr-x 共10个字符,
第 1 个字符表示文件或目录的类型,其类型包括
- 表示普通文件;
d 表示目录文件;
l 表示符号连接文件;
p 表示命名管道文件;
s 表示 Socket 文件;
c 表示字符设备文件;
b 表示块设备文件。
第 2~4 个字符r-x,表示所有者的权限
第 5~7 个字符r-x,表示所有者同组用户的权限
第 8~10 个字符r-x,表示其他用户的权限
修改权限
chmod 命令表示修改文件或目录权限
chmod 修改文件权限有两种使用格式:字母法与数字法
字母法:chmod u/g/o/a +/-/= rwx 文件
[ u/g/o/a ] | 含义 |
---|---|
u | user 表示该文件的所有者 |
g | group 表示与该文件的所有者属于同一组( group )者,即用户组 |
o | other 表示其他以外的人 |
a | all 表示这三者皆是 |
[ +-= ] | 含义 |
---|---|
+ | 增加权限 |
- | 撤销权限 |
= | 设定权限 |
rwx | 含义 |
---|---|
r | read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。 |
w | write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。 |
x | excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。 |
如果需要同时进行设定拥有者、同组者以及其他人的权限,参考如下:
数字法:“rwx” 这些权限也可以用数字来代替
字母 | 说明 |
---|---|
r | 读取权限,数字代号为 "4" |
w | 写入权限,数字代号为 "2" |
x | 执行权限,数字代号为 "1" |
- | 不具任何权限,数字代号为 "0" |
如执行:chmod u=rwx,g=rx,o=r filename 就等同于:chmod u=7,g=5,o=4 filename
chmod 751 file:
文件所有者:读、写、执行权限
同组用户:读、执行的权限
其它用户:执行的权限
注意:如果想递归所有目录加上相同权限,需要加上参数“ -R ”。 如:chmod 777 test/ -R 递归 test 目录下所有文件加 777 权限
语法格式:
chmod 选项 文件名称
将文件 file1.txt 设为所有人皆可读取
chmod ugo+r file1.txt
chmod a+r file1.txt
将文件 test.py 设定为只有该文件拥有者可以执行
chmod u+x test.py
将目录tedu及子目录设定为只有该文件拥有者可以读取
chmod -R u+r tedu