基本权限和归属

  • 实验目标

公司技术部有一台Linux开发服务器,根据部门内项目组的构成情况,已经建立了相应的用户账号,现要求对开发数据相关目录配置访问权限。

1.文件夹/tech/nsdhome、/tech/jsdhome,分别归属于nsd组、jsd组,禁止其他用户进入。

2.创建部门公共目录/public,技术部的所有员工(tech组)对其拥有可读、可写、可执行,其他用户禁止访问此目录。

  • 实验步骤

  • 、创建文件夹/tech/nsdhome,/tech/jsdhome

[root@svr6 ~]# mkdir -p/tech/nsdhome /tech/jsdhome

[root@svr6 tech]# ls -F

jsdhome/  nsdhome/

2.、创建nsd组,jsd组和tech组

[root@svr6 tech]# groupadd -g 500tech

[root@svr6 tech]# groupadd -g 501nsd

[root@svr6 tech]# groupadd -g 502jsd

3.、创建用户jim和tom分别属于nsd组和jsd组,并且附加组都为tech组,创建其他用户lily

[root@svr6 ~]# useradd -u 501 -g nsd-G tech jim

[root@svr6 ~]# id jim

uid=501(jim) gid=501(nsd) 组=501(nsd),500(tech)

[root@svr6 ~]# useradd -u 502 -g jsd-G tech tom

[root@svr6 ~]# id tom

uid=502(tom) gid=502(jsd) 组=502(jsd),500(tech)

[root@svr6 ~]# useradd lily

[root@svr6 ~]# id lily

uid=801(lily) gid=801(lily) 组=801(lily)

4、将文件/tech/nsdhome和/tech/jsdhome分别归属于nsd组和jsd组

[root@svr6 ~]# chown :nsd/tech/nsdhome/

[root@svr6 ~]# chmod 770/tech/nsdhome/

[root@svr6 ~]# ls -ld /tech/nsdhome/

drwxrwx---. 2 root nsd 4096 9月   4 22:14/tech/nsdhome/

[root@svr6 ~]# chown :jsd/tech/jsdhome/

[root@svr6 ~]# chmod 770/tech/jsdhome/

[root@svr6 ~]# ls -ld /tech/jsdhome/

drwxrwx---. 2 root jsd 4096 9月   4 22:14/tech/jsdhome/

5、创建公共目录/public

[root@svr6 ~]# mkdir /public/

6、按要求为/public目录指定权限

[root@svr6 ~]# chown :tech /public/

[root@svr6 ~]# ls -ld /public/

drwxr-xr-x. 2 root tech 4096 9月   4 22:37/public/

[root@svr6 ~]# chmod 770 /public/

[root@svr6 ~]# ls -ld /public/

drwxrwx---. 2 root tech 4096 9月   4 22:37/public/

  • 结果验证

1、登录jim用户,查看是否能登录/tech/nsdhome,/tech/jsdhome和/public

[root@svr6 ~]# su - jim

[jim@svr6 ~]$ cd /tech/nsdhome/

[jim@svr6 nsdhome]$ ls

a.txt

[jim@svr6 ~]$ cd /tech/jsdhome/

-bash: cd: /tech/jsdhome/: 权限不够

[jim@svr6 ~]$ cd /public

[jim@svr6 public]$ ls

c.txt

2、登录tom用户,查看是否能登录/tech/nsdhome,/tech/jsdhome和/public

[root@svr6 ~]# su - tom

[tom@svr6 ~]$ cd /tech/nsdhome/

-bash: cd: /tech/nsdhome/: 权限不够

[tom@svr6 ~]$ cd /tech/jsdhome/

[tom@svr6 jsdhome]$ ls

b.txt

[tom@svr6 jsdhome]$ cd /public/

[tom@svr6 public]$ ls

c.txt

3、登录lily用户,查看是否能登录/tech/nsdhome,/tech/jsdhome和/public

[root@svr6 ~]# su - lily

[lily@svr6 ~]$ cd /tech/nsdhome/

-bash: cd: /tech/nsdhome/: 权限不够

[lily@svr6 ~]$ cd /tech/jsdhome/

-bash: cd: /tech/jsdhome/: 权限不够

[lily@svr6 ~]$ cd /public/

-bash: cd: /public/: 权限不够

  • 问题和经验总结

故障现象:登录nsd组员工jim时可以访问/tech/jsdhome

解决办法 : 修改/tech/jsdhome目录权限为770,使得其它用户对其不具有任何权限。

 

经验总结:在实际工作环境中,不同的员工对服务器内的文件具有的访问权限,对于公司来说十分重要。所以本实验具有一定的意义,实验过程中要注意目录或文件的权限修改,权限位前三位为文件或目录所属用户的权限,中间三位为文件或目录所属群组权限,最后三位为其他用户具有的权限,授权限时要分清不同用户应有的权限。