Linux 文件/目录访问权限
文章目录
访问权限
知识点
一、简介
权限字符 | 普通文件操作 | 目录文件操作 |
---|---|---|
r (read) | 浏览文件 | 查看目录文件列表 |
w (write) | 修改文件内容 | 添加、删除或重命名目录内文件 |
x (execute) | 执行文件 | 进入目录 |
文件的三种用户角色:
- user - 文件所有者 - u
- group - 同组用户 - g
- other - 其他用户 - o
二、改变访问权限(chmod)
1.文字设定法
chmod [who][+|-][mode] filepath
#如给组用户加上/home/hhh.txt的
chmod g+rw /home/hhh.txt
2.数字设定法
数字设定法用3个二进制位来表示一个用户对象的三种文件权限,“1”表示有权限,“0” 表示无权限。
- 第一位表示r权限(可读)
- 第二位表示w权限(可写)
- 第三位表示x权限(可执行)
每个用户对象二进制权限数字设定好后将其换算为八进制数[0~7]即可,如“110” ->“6”
chmod [mode] filepath
#文件所有者可读可写可执行、同组用户可读可执行、其他用户无权限
chmod 750 /root/file.txt
三、更改默认权限(umask)
#显示当前文件或文件夹的默认权限
umask
#设置umask
umask [权限掩码]
注:
- umask设置的是默认完整权限中需要去掉的权限
- umask中“1”是去除对应权限
如:目录的默认完整权限为777,则实际默认权限是777-022=755
四、更改所有权(chown/chgrp)
chown [option] [user.group] filepath
#递归设置
chown -R
#修改文件组用户
chgrp
上机实例
1、改变文件/目录的访问权限
新建目录/root/dir1、/root/dir2、/root/dir2/dir21
新建文件/root/file1.txt、/root/file2.txt、/root/dir1/file11.txt、/root/dir2/file21.txt
添加user1用户,命令:useradd user1
添加user2用户,命令:useradd user2
(1)使用文字设定法设置文件/root/file1.txt的权限:
为文件所有者增加执行权限
为同组用户、其他用户增加写权限和执行权限
为所有用户去掉执行权限
(2)使用数字设定法设置文件/root/file2.txt的权限:
为文件所有者增加执行权限l
为同组用户、其他用户增加写权限和执行权限
为所有用户去掉执行权限
(3)设置目录/root/dir1的权限:
将文件所有者设为user1,观察子文件file11.txt的权限变化
去掉同组用户的执行权限,观察是否能进入/root/dir1、直接列出/root/dir1的子文件列表、在/root/dir1中建立新文件vi
(4)同时修改/root/dir2及其子目录/子文件的所有者为user1、同组用户为user2,观察子文件和子目录的权限
命令:chown -R user1.user2 /root/dir2
(5)使用chgrp修改文件/root/file2.txt的同组用户为user2
2、更改文件/目录的默认权限
(1)查看当前系统的umask值
(2)创建新文件/root/file3.txt和新文件夹/root/dir3,分析umask值和文件默认权限的关系
umask中“1”是去除对应权限
(3)将默认权限设置为077,创建新文件/root/file7和新文件夹/root/dir7,观察权限变化