实验目的:掌握linux账号和权限管理的方法

实验需求:

>建立用户目录

创建目录/tech/benet和/tech/accp,分别用于存放各项目组中用户账号的宿主文件夹

>添加组账号

为两个项目组添加组账号benet、accp、GID分别设置为2001/2002

为技术部添加组账号tech,GID设置为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目录,允许所有技术组内的用户读取、写入、执行文件,非技术组的用户禁止访问此目录

实验步骤

​>建立用户目录

创建目录/tech/benet和/tech/accp,分别用于存放各项目组中用户账号的宿主文件夹

解①:使用mkdir -p /tech/benet /tech/accp/创建文件夹

[root@chan ~]# mkdir -p /tech/benet /tech/accp
[root@chan ~]# ls /tech
accp benet

Linux系统(六):账号和权限管理_用户账号

>添加组账号

为两个项目组添加组账号benet、accp、GID分别设置为2001/2002

解①:使用groudadd -g 2001 benetgroudadd -g 2002 accp添加组账号

[root@chan ~]# groupadd -g 2001 benet 
[root@chan ~]# groupadd -g 2002 accp
[root@chan ~]# tail /etc/group
gnome-initial-setup:x:982:
sshd:x:74:
slocate:x:21:
avahi:x:70:
postdrop:x:90:
postfix:x:89:
tcpdump:x:72:
a:x:1000:
benet:x:2001:
accp:x:2002:

为技术部添加组账号tech,GID设置为300

解①:使用groupadd -g 300 tech添加组账号

[root@chan /]# groupadd -g 300 tech
[root@chan /]# tail /etc/group
postdrop:x:90:
postfix:x:89:
tcpdump:x:72:
a:x:1000:
benet:x:2001:kylin,tsengia,obama
accp:x:2002:
kylin:x:1001:
tsengia:x:1002:
obama:x:1003:
tech:x:300:

Linux系统(六):账号和权限管理_用户账号_02

>添加用户账号

Benet组包括三个用户,分别为kylin、tsengia、obama,宿主目录均使用/tech/benet/目录中与账号同名的文件夹,其中kylin用户账号设为2018年12月31日失效

解①:使用useradd -d /tech/benet/kylin -e 2018-12-31  kylin &useradd -d /tech/benet/tsengia  tsengia &useradd -d /tech/benet/obama obama 创建账号

[root@chan /]# useradd -d /tech/benet/kylin -e 2018-12-31 kylin
[root@chan /]# useradd -d /tech/benet/tsengia tsengia
[root@chan /]# useradd -d /tech/benet/obama obama
[root@chan /]# ls /tech/benet
kylin obama tsengia
[root@chan /]# ls -l /tech/benet
总用量 0
drwx------. 3 kylin kylin 78 7月 1 15:55 kylin
drwx------. 3 obama obama 78 7月 1 15:58 obama
drwx------. 3 tsengia tsengia 78 7月 1 15:57 tsengia

Linux系统(六):账号和权限管理_bash_03

Linux系统(六):账号和权限管理_bash_04

解②:使用gpasswd -M kylin,obama,tsengia benet 同时将三个用户加入组benet,使用grep "^benet" /etc/group查看组内成员

[root@chan /]# gpasswd -M kylin,tsengia,obama benet
[root@chan /]# grep "^benet" /etc/group
benet:x:2001:kylin,tsengia,obama

Linux系统(六):账号和权限管理_bash_05

accp组包括两个用户,分别handy、cucci,宿主目录均使用/tech/accp/目录中与账号同名的文件夹。其中cucci用户的登陆shell设为/bin/sh

解①使用useradd id /tech/accp/handy handy&useradd -d /tech/accp/cucci -s /bin/sh cucci 创建账号

[root@chan /]# useradd -d /tech/accp/handy handy
[root@chan /]# useradd -d /tech/accp/cucci -s /bin/sh cucci
[root@chan /]# tail /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
a:x:1000:1000:a:/home/a:/bin/bash
kylin:x:1001:1001::/tech/benet/kylin:/bin/bash
tsengia:x:1002:1002::/tech/benet/tsengia:/bin/bash
obama:x:1003:1003::/tech/benet/obama:/bin/bash
handy:x:1004:1004::/tech/accp/handy:/bin/bash
cucci:x:1005:1005::/tech/accp/cucci:/bin/sh

Linux系统(六):账号和权限管理_用户账号_06

上诉所有的用户账号均要求加入tech组内

解①:使用gpasswd -M handy,cucci,obama,tsengia,kylin tech让用户加入组

[root@chan /]# gpasswd -M kylin,tsengia,obama,handy,cucci tech
[root@chan /]# grep "^tech" /etc/group
tech:x:300:kylin,tsengia,obama,handy,cucci

Linux系统(六):账号和权限管理_bash_07

>设置目录权限及归属

将/tech目录的属组设置为tech,去除其他用户的所有权限

解①:使用chown :tech /tech设置属组,chmod o-rwx /tech去除权限

[root@chan /]# chown :tech /tech
[root@chan /]# ll -d /tech
drwxr-xr-x. 4 root tech 31 7月 1 15:38 /tech
[root@chan /]# chmod o-rwx /tech
[root@chan /]# ll -d /tech
drwxr-x---. 4 root tech 31 7月 1 15:38 /tech

Linux系统(六):账号和权限管理_kylin_08

将/tech/benet目录的属组设置为benet,去除其他用户的所有权限

解①:使用chown :benet /tech/benet设置属组,chmod o-rwx /tech/benet去除权限

[root@chan /]# chmod o-rwx /tech
[root@chan /]# ll -d /tech
drwxr-x---. 4 root tech 31 7月 1 15:38 /tech
[root@chan /]# chown :benet /tech/benet
[root@chan /]# chmod o-rwx /tech/benet
[root@chan /]# ll -d /tech/benet/
drwxr-x---. 5 root benet 47 7月 1 15:58 /tech/benet/

Linux系统(六):账号和权限管理_bash_09

将/tech/accp目录的属组设置为accp,去除其他用户的所有权限

解①:使用chown :accp /tech/accp设置属组,chmod o-rwx /tech/accp去除权限

Try 'chmod --help' for more information.
[root@chan /]# chown :accp /tech/accp/
[root@chan /]# chmod o-rwx /tech/accp/
[root@chan /]# ll -d /tech/accp
drwxr-x---. 4 root accp 32 7月 1 16:32 /tech/accp

Linux系统(六):账号和权限管理_用户账号_10

>建立公共数据存储目录

创建/public目录,允许所有技术组内的用户读取、写入、执行文件,非技术组的用户禁止访问此目录

解①:使用mkdir /public创建目录,chown :tech /public改变目录属组,chmod g=rwx /public改变属组权限  

[root@chan /]# mkdir /public
[root@chan /]# chown :tech /public/
[root@chan /]# chmod g=rwx /public/
[root@chan /]# ll -d /public/
drwxrwxr-x. 2 root tech 6 7月 1 16:49 /public/

Linux系统(六):账号和权限管理_bash_11

Linux系统(六):账号和权限管理_bash_12

实验完成!!!