Linux练习13默认权限与特殊权限实例

项目1.默认权限

1.分别查看普通用户user1和root用户的umask值

[root@localhost aoian] # umask
0022
[root@localhost aoian] # useradd user1
root@localhost aoianj # su user1
user1 @localhost aoian] $ umask
0002

2.使用user1用户创建一个文件夹dir和文件file,查看它们的属性

$ mkdir dir
$ touch file
$ ll
drwxrwxr- x.2 user1 userl 6 11月 13 18: 58 dir
-rW-rW-r-- .1 userl userl 0 11月 13 18: 59 file

3.总结普通用户和root用户新建文件和文件夹的默认权限是如何确定的

文件最大权限是666

目录最大权限是777

普通用户umask-0002

666-002是664

777-002是775

计算出普通用户文件默认权限是664

文件夹默认权限是775

同理

Root用户umask-0022

计算出文件默认权限是644

目录默认权限是755

项目2.特殊权限实例

假设系统中有两个账号,分别是user1和user2,这两个人除了自己群组之外还共同属于一个名为project的群组。假设这两个用户需要共同拥有/home/net/目录的开发权,且该目录不允许其他人进入查阅。请问该目录的权限应如何设置

[root@localhost aoian]# groupadd project
[root@localhost aoian]# useradd -G project user1
[root@localhost aoian]# useradd -G project user2
[root@localhost aoian]# mkdir /home/net
[root@localhost aoian]# chgrp project /home/net
[root@localhost aoian]# cd /home
[root@localhost home]# ll
总用量 4
drwx------. 16 aoian aoian   4096 10月 16 09:50 aoian
drwxr-xr-x.  2 root  project    6 11月 13 20:44 net
drwx------.  3 user1 user1     78 11月 13 20:43 user1
drwx------.  3 user2 user2     78 11月 13 20:43 user2
[root@localhost home]# chmod 2770 net
[root@localhost home]# ll
总用量 4
drwx------. 16 aoian aoian   4096 10月 16 09:50 aoian
drwxrws---.  2 root  project    6 11月 13 20:44 net
drwx------.  3 user1 user1     78 11月 13 20:43 user1
drwx------.  3 user2 user2     78 11月 13 20:43 user2

chomd 2770 net ------------>>SGID : 2 修改特殊权限

如果chomd 770 net 则user2的权限不足

切换用户测试

[root@localhost home]# su user1
[user1@localhost home]$ cd net
[user1@localhost net]$ touch user01
[user1@localhost net]$ ll
总用量 0
-rw-rw-r--. 1 user1 project 0 11月 13 20:50 user01
[user1@localhost net]$ exit
exit
[root@localhost home]# ll
总用量 4
drwx------. 16 aoian aoian   4096 10月 16 09:50 aoian
drwxrws---.  2 root  project   20 11月 13 20:50 net
drwx------.  5 user1 user1    128 11月 13 20:55 user1
drwx------.  3 user2 user2     78 11月 13 20:43 user2
[root@localhost home]# su user2
[user2@localhost home]$ cd net
[user2@localhost net]$ ls
user01
[user2@localhost net]$ exit
exit

新建user3测试

[root@localhost home]# useradd user03
[root@localhost home]# su user03
[user03@localhost home]$ ls
aoian  net  user03  user1  user2
[user03@localhost home]$ cd net
bash: cd: net: 权限不够