课后习题-6

1. 查看配置文件/etc/shadow第一行中root账号的第三个字段(以':'分隔)中的数字,请算一下这个数字是怎么来的?
  距离19700101 到修改密码的时间:echo $(($(date --date="2008/09/04"  +%s)/86400+1)) 
2. 写出一个您认为很强悍的密码.
  mnz111wa!!!jiayou@beijing
3. 查资料搞明白 /sbin/nologin 和 /bin/false 的区别,您知道他们用在什么场合吗?
  /sbin/nologin: 不允许登录,其他操作可以,  /bin/false : 任何服务都不允许,   
4. 请想一想,当我们创建一个新的账号时,系统会修改哪几个文件呢?
  /etc/passwd,/etc/shadow,/etc/gshadow, /etc/group
5. 假如我们已经创建了一个普通用户user1, 默认这个用户的家目录为/home/user1, 做实验证明能否直接修改/etc/passwd配置文件中user1的家目录那个字段而改变user1的家目录呢? (提示: 您可以使用 “cd ~ ”命令来进入当前用户家目录的方法来验证)
    实验验证可以通过这种方式直接修改用户登录家目录。
    useradd user  ; tail -n 1 /etc/passwd; sed -i 's#/home/user#/tmp#' /etc/passwd; su - user ;  cd~ ;  pwd ; 
6. /etc/passwd 文件以":"为分隔符,第三和第四个字段表示什么含义?如果把某一行的第三个字段改为'0' 会发生什么?
     UID  和GID , 如果修改为0 则表示该用户为超级用户 root 
7.  先新增一个组group11,然后再新增一个账号user12, 使该账号所属组为刚刚新增的组。
     groupadd group11 ; useradd -g group11 user12;     -G 主组,  -g  附属组
8. 如果删除一个组时报错: “cannot remove the primary group of user 'aming'” 这是什么意思?如何解决该问题呢?
      这是因为组中包含其他用户aming所以无法删除组。  首先删除用户aming , 再删除组就可以了。
9. 如何删除某个账户时,连带这个账户的家目录一并删除?
    userdel -r  删除用户相关的所有文件。   -f 强制删除
10. 如果您的Linux没有命令"mkpasswd", 需要安装哪个包?
     yum install -y expect 
11. 普通账户可以修改自己的密码吗?
    可以修改
12. 使用su时,后面加了 '-' 表示什么含义?
    完全切换至用户的登录环境。 
13. sudo的作用是什么呢?
    临时赋予普通用户某些超级用户权限而不用知道超级权限的密码
14. 创建系统账号时,帐户名要符合什么样的规范?
    账号中能包含字母, _,数字 , 不能以数字开头
15. Linux系统里,你知道最大uid能有多大吗?默认创建一个普通帐号的uid最小是多少?
     2^32 -1  个  , 最小 500 
16. 请思考,一个用户可以同时属于多个用户组吗?如果可以,如何把一个用户加入到另外的组里? 同时加入多个组怎么做?
    可以,   useradd -g 主组  -G 附属组   username     /  usermod -G  group1, group2,group3 username  
好了,做完了作业题,阿铭再给您介绍几个小知识点:

1.  锁定和解锁某个账户
假如要锁定 user1 账户,命令为:   passwd -l  user1
  
解锁user1:  passwd -u user1

注意,这两个用法只有root账户才有资格执行哦!

2.  如何限制远程登陆时,不允许root登陆,而只允许普通用户登陆? (上一章节已经介绍过,这里复习一遍)

答案:
修改配置文件/etc/sshd/sshd_config,  在文件中查找 "#PermitRootLogin  yes" 这句话, 修改为 "PermitRootLogin no”表示不允许root用户远程登录。 /etc/sshd/sshd_config 为sshd服务的配置文件,默认虽然在前面加"#"注释了这句,"PermitRootLogin yes” 但它默认就是允许root账户登陆的,所以要想不让root登陆,修改为no 就可以了。保存配置文件后,重启sshd 服务: service sshd restart


3. 如何限制远程登陆时,只允许root使用密钥登陆,而不能使用密码登陆?(上一章节已经介绍过,这里复习一遍)

答案:
打开配置文件 /etc/sshd/sshd_config 加上一句:
PermitRootLogin without-password
保存配置文件后,重启sshd 服务:  service sshd restart

这样就可以了。

4. 以某一个用户的身份执行某一个命令 
  su -c "command" user
原文地址:https://www.cnblogs.com/LinuxSuDa/p/4378081.html