首页 > 代码库 > 作业五

作业五

1. 查看配置文件/etc/shadow第一行中root账号的第三个字段(以‘:‘分隔)中的数字,请算一下这个数字是怎么来的?
距离1970年1月1日到上次更改密码的时间的间隔天数。例如root密码日期更改时间为2013年9月1日星期日,那么配置文件/etc/shadow中root的第三个字段为15949,计算如下:
15949 = (2013-1970)*365+MOD((2013-1970)/4)+(5*31+2*30+28)+1=15695+10+241+1=15949

2. 写出一个您认为很强悍的密码.
2ZbzHsi4#?fega8

3. 查资料搞明白 /sbin/nologin 和 /bin/false 的区别,您知道他们用在什么场合吗?
/sbin/nologin 不允许账号登陆,但是可以使用在ftp账号上,也就是说ftp账号即使设置了该项也可以通过ftp登陆
/bin/false   严格禁止用户登录系统,禁止使用一切服务

4. 请想一想,当我们创建一个新的账号时,系统会修改哪几个文件呢?
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow

5. 假如我们已经创建了一个普通用户user1, 默认这个用户的家目录为/home/user1, 做实验证明能否直接修改/etc/passwd配置文件中user1的家目录那个字段而改变user1的家目录呢? (提示: 您可以使用 “cd ~ ”命令来进入当前用户家目录的方法来验证)
[root@uhza006714 ~]# useradd  user1
[root@uhza006714 ~]# grep user1 /etc/passwd
user1:x:502:503::/home/user1:/bin/bash
[root@uhza006714 ~]# sed -i ‘s#/home/user1#/tmp#‘ /etc/passwd
[root@uhza006714 ~]# grep user1 /etc/passwd
user1:x:502:503::/tmp:/bin/bash
[root@uhza006714 ~]# su - user1
-bash-3.2$ echo $HOME
/tmp
-bash-3.2$ cd
-bash-3.2$ pwd
/tmp
证明可以通过更改/etc/passwd而更改用户的家目录

6. /etc/passwd 文件以":"为分隔符,第三和第四个字段表示什么含义?如果把某一行的第三个字段改为‘0‘ 会发生什么?
第三个表示用户id,第四个为组id,如果把第三个字段改为0,则该用户变成root

7.  先新增一个组group11,然后再新增一个账号user12, 使该账号所属组为刚刚新增的组。
groupadd group11; useradd -g group11 user12

8. 如果删除一个组时报错: “cannot remove the primary group of user ‘aming‘” 这是什么意思?如何解决该问题呢?
这是因为删除的组内有用户,需要先删除该组内的账号,再删除组

9. 如何删除某个账户时,连带这个账户的家目录一并删除?
userdel -r username

10. 如果您的Linux没有命令"mkpasswd", 需要安装哪个包?
yum install -y expect


11. 普通账户可以修改自己的密码吗?
可以修改

12. 使用su时,后面加了 ‘-‘ 表示什么含义?
加上- 表示,切换用户时,使用该用户的所有用户环境变量,例如$HOME, $BASH

13. sudo的作用是什么呢?
使用sudo可以使普通账户不用知道root的密码而临时拥有root的权限,这是为了提高安全性

14. 创建系统账号时,帐户名要符合什么样的规范?
可以是大小写字母、数字、减号(不能出现在首位)、点以及下划线,其他字符不合法。虽然用户名中可以出现点,但不建议使用,尤其是首位为点时,另外减号也不建议使用,因为容易造成混淆。

15. Linux系统里,你知道最大uid能有多大吗?默认创建一个普通帐号的uid最小是多少?
普通用户的uid最大为65535,目前的 linux 核心 (2.6.x 版)已经可以最大支持到 4294967295 (2^32-1) 。默认普通账号的最小uid为500

16. 请思考,一个用户可以同时属于多个用户组吗?如果可以,如何把一个用户加入到另外的组里? 同时加入多个组怎么做?
可以同时属于多个用户组,usermod  -G GROUP1,GROUP2,GROUP3 username

作业五