作业6:用户管理
文章目录
实验系统:Centos 7
6.1 根据要求穿件用户、用户组和组成员
- 实验要求:
1.创建一个名为admin的组;
2.创建一个名为mary的用户,以admin作为附加组;
3.创建alice用户,以admin作为附加组;创建bobby用户,用户不许登录系统,admin不是其附加组;
4.mary,alice,bobby必须以redhat作为用户密码。
- 实验过程
[root@ ~ 03:49:09]#groupadd admin //创建admin组
[root@ ~ 03:51:52]#cat /etc/group //查看组文件
....
admin:x:1004:
[root@ ~ 03:52:10]#useradd mary -G admin //创建mary用户
[root@ ~ 03:54:15]#useradd alice -G admin //创建alice用户
[root@ ~ 03:54:28]#useradd bobby -s /etc/nologin //创建bobby用户
[root@ ~ 03:56:51]#passwd mary //添加mary的密码
Changing password for user mary.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@ ~ 03:57:08]#echo "redhat" |passwd --stdin alice
Changing password for user alice. //另一种方式给alice添加密码
passwd: all authentication tokens updated successfully.
[root@ ~ 03:58:26]#echo "redhat" |passwd --stdin bobby
Changing password for user bobby.
passwd: all authentication tokens updated successfully.
[root@ ~ 04:00:16]#cat /etc/passwd //查看用户配置文件
root:x:0:0:root:/root:/bin/bash
...
mary:x:1003:1005::/home/mary:/bin/bash
alice:x:1004:1006::/home/alice:/bin/bash
bobby:x:1005:1007::/home/bobby:/etc/nologin
- 知识补充:/etc/passwd每一行字段内容:
用户名对应uid:密码(不使用,已被存放到/etc/shadow):uid:gid:用户信息说明:家目录:shell
6.2 根据要求创建一个本地目录
- 实验要求:
1.目录拥有组为admin;
2.目录必须对于admin的组成员可读可写可执行。除了此目录的拥有者,其他人不能有任何权限(除root:他可以对系统的任何文档与目录都拥有权限)
3.在/common/admin中创建的所有文档或目录都自动继承admin组
- 实验分析
这个实验主要应用于项目开发,牵涉到目录的设定一般要使用SGID,使得多个同组账号可以共同拥有对目录的使用权;我们需要使用root进行chgrp、chmod相关操作,设定好这些admin组里面用户所需要的开发环境,root用户扮演者管理员的责任。
- 实验过程
[root@ / 04:04:27]#mkdir -p /common/admin //创建目录
[root@ / 04:05:24]#chgrp admin /common/admin/ //修目录属组
[root@ / 04:11:06]#ll -h /common //查看目录元数据
total 4.0K
drwxr-xr-x. 2 root admin 4.0K Jul 29 16:04 admin
[root@ / 04:24:39]#chmod 2770 /common/admin //修改目录权限
[root@ / 04:26:40]#ll /common //查看元数据,权限变化
total 4
drwxrws---. 2 root admin 4096 Jul 29 16:04 admin //设置sgid成功
6.3 修改umask,根据要求计算文件/目录权限
- 实验要求
将umask修改为053,计算root用户和普通用户分别创建文件和目录的权限,写出计算步骤
- 实验过程
创建目录的默认权限为rwxrwxrwx,对应三段二进制位为:777;
创建文件的默认权限为rw-rw-rw-,对应三段二进制数为:666
root用户的默认umask为022,普通用户的默认umask为002.
umask改为053时:
-
root用户创建的文件/目录计算:(所属主位不需要变动,所属组为屏蔽掉r,x权限,其他人屏蔽掉w,x权限),结果是:
-
目录:rwx -w- r–
-
文件:rw- -w- r–
-
-
普通用户创建的文件/目录计算:
- 目录:rwx -w- r–
- 文件:rw- -w- r–
- 知识补充
umask的function:拿掉一些权限,适当地定义umask对系统的安全有帮助。
6.4 复制/etc/fstab根据要求配置文档权限
- 实验要求
1.复制到/tmp/test
2.此文档拥有者必须是alice
3.此目录下用户无法删除其他用户创建的文件
4.只能对文档追加内容
- 实验分析
对目录设置sbit可以满足,当用户在该目录下建立文件或者目录时,仅有自己与root有权力删除改文件或者目录;
- 实验过程
Last login: Wed Jul 29 16:30:31 CST 2020 on pts/0
[root@ ~ 04:51:08]$ mkdir /tmp/test //创建目录
[root@ ~ 04:51:28]$ cp /etc/fstab /tmp/test/fstab //复制文件
[root@ ~ 04:51:48]$ chown alice /tmp/test/fstab //修改文件所有者
[root@ ~ 04:52:46]$ ll /tmp/test //查看目录元数据
total 4
-rw-r--r--. 1 alice root 545 Jul 29 20:55 fstab
[root@ ~ 04:53:16]$ chgrp admin /tmp/test/fstab //修改目录属组
[root@ ~ 04:54:27]$ ll /tmp/test/fstab //查看修改后的目录元数据
-rw-r--r--. 1 alice admin 545 Jul 29 16:47 /tmp/test/fstab
[root@ /tmp 05:03:36]#chmod 1777 ./test //文件不能被其他用户删除
[root@ /tmp 05:03:52]#ll //查看文件元数据变化
total 28
drwxrwxrwt. 2 alice alice 4096 Jul 29 16:47 test
[mary@linpengze test]$ ls //切换到同组的mary,测试
fstab
[mary@linpengze test]$ rm fstab //删除fstab
rm: remove write-protected regular file ‘fstab’? y
rm: cannot remove ‘fstab’: Permission denied //无法删除
[root@ /tmp/test 05:11:18]#chattr +a ./fstab //文档只能被追加内容
[root@ /tmp/test 05:11:28]#lsattr //查看当前目录下文件特殊属性
-----a-------e-- ./fstab //a:append e:executive
6.5 按要求修改命令提示符
-
实验要求:格式:<命令编号>用户名:主机名–>
-
实验过程
[root@ / 05:16:42]#vim ~/.bashrc //修改配置文件
PS1="<\#>\u:\h-->"
[root@ / 05:23:47]#init 6 //重启,实际可以用. ~/.bashrc在当前shell执行文件
<1>root:linpengze-->ls //测试,命令提示符发生改变
aa aabb.tar.gz nginx-1.14.0 quan test
aaased aaha.exp nginx-1.14.0.tar.gz quanfile
aaawk anaconda-ks.cfg -o scriptcluster
<2>root:linpengze-->
6.6 设置命令clear别名使得在登录shell中生效
- 实验过程
<7>root:linpengze-->alias cl=clear //这种方式仅在当前shell中生效
<8>root:linpengze-->cl
<9>root:linpengze-->vim /root/.bashrc //修改配置文件,使得在登录shell中生效
add: alias cl='clear'
<10>root:linpengze-->source ~/.bashrc