1、实验环境
公司的Linux主机即将提供给技术部作为开发服务器使用,根据部门内坝目组的构成特况,自元需要建立相应的组账号、用户账号,并为相关目录设权限,然后需要设置一个共用的数据存储自录,便于同事之间进行数据交换。
2、需求描述
- 建立用户目录。
- 创建目录/tech/benet和/tech/accp,分别用于存放各项自组中用户账号的宿主文件夹。
- 添加组账号
- 为两个项自组添加组账号benet,accp,GID号分别设置为2001、2002,
- 为技术部添加组账号tech.GD号设置为300.
- 添加用户账号
- benet组包括三个用户,分别为kylin、tsengia、obama,宿主目录均使用/tech/benet/目录中与账号同名的文件夹。其中kylin 用户账号设为2018年12月31日后失效。
- accp组包括两个用户,分别为handy, cucci,宿主目录均使用/tech/accp/目录中与账号同名的文件夹。其中 cucci 用户的登录Shell设为/bin/sh.
上述所有的用户账号均要求加入 tech组内。
在测试阶段,仅为kylin、tsengia、handy这三个用户账号设置初始密码“123456”,其他用户暂时先不设置密码。
- 设置目录权限及归属.
- 将/tech目录的属组设置为tech,去除其他用户的所有权限。
- 将/tech/benet目录的属组设置为benet,去除其他用户的所有权限。
- 将/tech/ accp目录的属组设置为accp,去除其他用户的所有权限。
- 建立公共数据存储目录.
- 创建/public目录.允许所有技术组内的用户读取、写入.执行文件.非技术组的用户禁止访问此目录.
3、实验步骤
3.1、创建用户目录
创建目录/tech/benet和/tech/accp,分别用于存放各项目组中用户账号的宿主文件夹。
[root@node1 ~]# mkdir -p /tech/benet
[root@node1 ~]# mkdir -p /tech/accp
3.2、添加组账号
(1)为两个项目添加组账号benet,accp,GID号分别设置为2001、2002。
(2)为技术部添加组账号tech,GID号设置为300
[root@node1 ~]# groupadd -g 2001 benet
[root@node1 ~]# groupadd -g 2002 accp
[root@node1 ~]# groupadd -g 300 tech
查看这三个组的GID
[root@node1 ~]# grep "benet" /etc/group
benet:x:2001:
[root@node1 ~]# grep "accp" /etc/group
accp:x:2002:
[root@node1 ~]# grep "tech" /etc/group
tech:x:300:
3.3、添加组账号
(1)benet组包含三个用户,分别为kylin,tsengia,obama,宿主目录均使用/tech/benet目录中与账号同名的文件夹。其中kylin用户账号设为2000年1月1日后失效。
(2)accp组包括两个用户,分别为handy、cucci,宿主目录均使用/tech/accp目录中与账号同名的文件夹。其中cucci用户的登录Shell设置为/bin/sh
[root@node1 ~]# useradd -e 2020-1-1 -d /tech/benet/kylin -g benet kylin
[root@node1 ~]# useradd -d /tech/benet/tsengia -g benet tsengia
[root@node1 ~]# useradd -d /tech/benet/obama -g benet obama
[root@node1 ~]# useradd -d /tech/accp/handy -g accp handy
[root@node1 ~]# useradd -d /tech/accp/cucci -g accp -s /bin/sh cucci
3.4、验证结果
[root@node1 ~]# groups kylin
kylin : benet
[root@node1 ~]# groups tsengia
tsengia : benet
[root@node1 ~]# groups obama
obama : benet
[root@node1 ~]# tail -5 /etc/passwd
kylin:x:1001:2001::/tech/benet/kylin:/bin/bash
tsengia:x:1002:2001::/tech/benet/tsengia:/bin/bash
obama:x:1003:2001::/tech/benet/obama:/bin/bash
handy:x:1004:2002::/tech/accp/handy:/bin/bash
cucci:x:1005:2002::/tech/accp/cucci:/bin/sh
3.5、上述所有的用户账号均要求加入tech组内
[root@node1 ~]# usermod -a -G tech kylin
[root@node1 ~]# usermod -a -G tech tsengia
[root@node1 ~]# usermod -a -G tech obama
[root@node1 ~]# usermod -a -G tech handy
[root@node1 ~]# usermod -a -G tech cucci
验证结果
[root@node1 ~]# grep "tech" /etc/group
tech:x:300:kylin,tsengia,obama,handy,cucci
3.6、为kylin、tsengia、handy这三个用户账号设置初始密码“123456”,其他用户暂时先不设置密码
[root@node1 ~]# echo "123456" | passwd --stdin kylin
[root@node1 ~]# echo "123456" | passwd --stdin tsengia
[root@node1 ~]# echo "123456" | passwd --stdin handy
3.7、设置目录权限及归属
(1)将/tech目录的属组设置为tech,去除其他用户的所有权限
(2)将/tech/benet目录的属组设置为benet,去除其他用户的所有权限
(3)将/tech/accp目录的属组设置为accp,去除其他用户的所有权限
[root@node1 ~]# chown :tech /tech/
[root@node1 ~]# chown :benet /tech/benet/
[root@node1 ~]# chown :accp /tech/accp/
[root@node1 ~]# chmod 770 /tech/
[root@node1 ~]# chmod 770 /tech/benet/
[root@node1 ~]# chmod 770 /tech/accp/
验证结果
[root@node1 ~]# ls -ld /tech/
drwxrwx--- 4 root tech 31 6月 6 14:23 /tech/
[root@node1 ~]# ls -ld /tech/benet/
drwxrwx--- 5 root benet 47 6月 6 14:24 /tech/benet/
[root@node1 ~]# ls -ld /tech/accp/
drwxrwx--- 4 root accp 32 6月 6 14:25 /tech/accp/
3.8、建立公共数据存储目录
(1)创建/public目录,允许所有技术组内的用户读取,写入,执行文件,非技术组的用户禁止访问此目录
[root@node1 ~]# mkdir /public
[root@node1 ~]# chown :tech /public/
[root@node1 ~]# ls -ld /public/
drwxr-xr-x 2 root tech 6 6月 6 14:32 /public/
[root@node1 ~]# chmod 770 /public/
[root@node1 ~]# ls -ld /public/
drwxrwx--- 2 root tech 6 6月 6 14:32 /public/