1、 改变文件/目录的访问权限
新建目录/root/dir1、/rootdir2、 /root/dir2/dir21
[root@bogon ~]# mkdir /root/dir1 /root/dir2 /root/dir2/dir21
新建文件/root/file1.txt. /root/file2.txt. /root/dir1/file11.txt. /root/dir2/file21.txt
[root@bogon ~]#touch /root/file1.txt /root/file2.txt /root/dir1/file11.txt /root/dir2/file21.txt
添加user1用户,命令: useradd user1
[root@bogon ~]# useradd user1
添加user2用户,命令: useradd user2
[root@bogon ~]# useradd user2
(1 )使用文字设定法设置文件/root/file1.txt的权限:
为文件所有者增加执行权限
[root@bogon ~]# chmod u+x /root/file1.txt
为同组用户、其他用户增加写权限和执行权限
[root@bogon ~]#chmod go+wx /root/file1.txt
为所有用户去掉执行权限
[root@bogon ~]# chmod a-x /root/file1.txt
(2 )使用数字设定法设置文/roof/file2.txt的权限:
为文件所有者增加执行权限
[root@bogon ~]# chmod 744 /root/file2.txt //文件默认权限是-rw-r--r--
为同组用户、其他用户增加写权限和执行权限
[root@bogon ~]# chmod 777 /root/file2.txt
为所有用户去掉执行权限
[root@bogon ~]# chmod 666 /root/file2.txt
(3 )设置目录/root/dir1的权限: 将文件所有者设为user1,观察子文件file11.txt的权限变化
[root@bogon ~]# chown -R user1 /root/dir1
[root@bogon ~]# ll /root/dir1
-rw-r--r-- 1 user1 root 0 Mar 18 17:28 file11.txt
去掉同组用户的执行权限,观察是否能进入/root/dir1、直接列出/root/dir1的子文件列表、在/root/dir1中建立新文件
[root@bogon ~]# chmod g-x /root/dir1
[root@bogon ~]# ll
drwxr--r-x 2 user1 root 4096 Mar 18 17:20 dir1
[root@bogon ~]# cd /root/dir1 //root用户 可以进入dir1
[root@bogon dir1]# touch file12.txt //root用户 可以建立新文件
[root@bogon dir1]#ls ./ //root用户可以列出目录下的文件
file11.txt file12.txt
[ root@bogon ~ ]#usermod -g root xiaohai //修改xiaohai用户的主用户组为root(以前所在主用户组为xiaohai)
[ root@bogon ~ ]#su - xiaohai //切换到普通用户xiaohai
[ xiaohai@bogon ~ ]#cd /root/dir1
-bash:cd : /root/dir1:Permission denied //拒绝访问,权限不够
[ xiaohai@bogon ~ ]#ll /root/dir1
total 0
?--------- ? ? ? ? ? file11.txt //在不停闪烁
?--------- ? ? ? ? ? file12.txt //在不停闪烁
[ xiaohai@bogon ~ ]#mkdir /root/dir1/dir8
mkdir:cannot create directory '/root/dir1/dir8':Permission denied
//拒绝创建新目录,权限不够,因为dir1同组用户权限是r--,不能增删改查,不能cd 进入
[ xiaohai@bogon ~ ]#
(4 )同时修改/root/dir2及其子目录/子文件的所有者为user1、同组用户为user2 ,观察子文件和子目录的权限
[root@bogon ~]# chown -R user1:user2 /root/dir2
[root@bogon ~]# ll /root/dir1
drwxr-xr-x 2 user1 user2 4096 Mar 18 17:20 dir21
-rw-r--r-- 1 user1 user2 0 Mar 18 17:20 file21.txt
(5 )使用chgrp修改文件/root/file2.txt的同组用户为user2
[root@bogon ~]# chgrp user2 /root/file2.txt
[root@bogon ~]# ll
-rw-rw-rw- 1 root user2 0 Mar 18 17:20 file2.txt
2、更改文件/目录的默认权限
(1 )查看当前系统的umask值
[root@bogon ~]#umask
0022
(2 )创建新文件/root/file3.txt和新文件夹/root/dir3,分析umask值和文件默认权限的关系
[root@bogon ~]#touch /root/file3.txt //文件默认权限是-rw-r--r--
[root@bogon ~]#mkdir /root/dir3 //目录默认权限是drwxr-xr-x
[root@bogon ~]#ll
-rw-r--r-- 1 root root 0 Mar 18 17:40 file3.txt
drwxr-xr-x 2 root root 4096 Mar 18 17:40 dir3
//普通文件的权限是777减去umask值,再减去所有用户的执行权限
//目录的权限是777减去umask值
(3 )将默认权限设置为077,创建新文件/root/file7和新文件夹/root/dir7,观察权限变化
[root@bogon ~]#umask 077
[root@bogon ~]#umask
0077
[root@bogon ~]#touch /root/file7 //普通文件的默认权限为-rw-------
[root@bogon ~]#mkdir /root/dir7 //目录文件的默认权限为drwx------
[root@bogon ~]#ll
-rw------- 1 root root 0 Mar 18 17:40 file7
drwx------ 2 root root 4096 Mar 18 17:40 dir7