第六节:Centos7用户管理 6.1 用户和组的相关配置文件 6.1.1用户与组的概念 用户:一般指使用服务器的人,在此指登录并使用此服务器的人员 组:相同权限一些用户的逻辑统称 root:对于centos系统来说默认有无限的权限--系统管理员 /etc/password:记录用户相关信息的配置文件 /etc/group:记录组相关信息的配置文件 /etc/shadow:记录用户密码等配置信息的文件 (添加新用户后会在此三个文件中创建新的记录) 6.1.2用户的分类 1)UID号为0:系统管理员用户--超级管理员用户 2)centos7下的普通用户 UID号为1-999:系统用户 UID号为1000+:本地用户 3)还存在为了运行服务建立的虚拟用户 如:ftp apache等

6.2 用户与组的管理 6.2.1用户的管理 1:useradd 重要参数及作用 -d:后面跟指定新的用户家目录路径 -M:指定不创建用户家目录,做项目在源码安装mysql时候用到 -g:后面跟指定新建用户的主组(初始组),默认情况下系统会创建与用户名相同的初始组 -G:后面跟指定新建用户的附加组(额外组) -s:后面跟指定新建用户使用的bash 如:/sbin/nologin 例1:不带参数添加用户 [root@node-1 ~]# useradd wangtao [root@node-1 ~]# tail -1 /etc/passwd wangtao:x:1000:1000::/home/wangtao:/bin/bash 字段说明: 用户名:密码占位符:UID:GID:用户说明:家目录:使用的bash #查看系统中,支持哪些shell [root@node-1 ~]# cat /etc/shells /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash

例2:指定用户UID: -u 用户ID [root@node-1 ~]# useradd -u 1100 oracle [root@node-1 ~]# id oracle uid=1100(oracle) gid=1100(oracle) groups=1100(oracle)

例3:指定用户家目录:-d 家目录位置 [root@node-1 ~]# useradd -d /opt/wt wt [root@node-1 ~]# tail -1 /etc/passwd wt:x:1101:1101::/opt/wt:/bin/bash 例4:指定用户的主组与附加组: -g 主组名 -G 附加组名 [root@node-1 ~]# groupadd tianshi [root@node-1 ~]# useradd -g oracle -G tianshi marry [root@node-1 ~]# id marry uid=1102(marry) gid=1100(oracle) groups=1100(oracle),1102(t ianshi)

2:删除用户 userdel -r:加此参数会把用户家目录与/var/mail下用户邮件目录一起删除(默认不删除) 6.2.2 密码的文件 [root@node-1 ~]# head -1 /etc/shadow root:$6$wxSA3eLq5oLe6DgM$vLO7G558qu5mK8xnpTSD0lzL7YeE.hnIVQ ImJtaym/H3N8yhlY7.1FSNXdW4IcqdBb4JTal8Zoy3NbQlOfrXh0::0:99999:7::: 参数说明: 用户名:加密的密码文件:最后修改密码日期:不能更改密码的最少天数:最长密码使用天数:密码过期前几天发警告信息:过期几天仍旧可以登录:用户过期不能登录时间:保留 对密码说明: 已加密密码,分为三个部分,第一部分是表示使用哪种哈希算法;第二部分是用于加密哈希的salt;第三部分是已加密的哈希 哈希算法:$1表示MD5 ; $6 表示SHA-512 ; $5 SHA-256

6.2.3:控制添加用户规则文件 /etc/default/useradd 和 /etc/login.defs 默认拷贝文件:/etc/skel/下的文件 [root@node-1 ~]# ll /etc/skel/.bash .bash_logout .bash_profile .bashrc

6.2.4 chage 修改用户使用属性 如:-m 天数 修改用户密码使用最小天数 小技巧: 强制在下次登录时更新密码: chage -d 0 用户名 【不如直接修改/etc/shadow文件】

6.2.5其他相关的命令: 查看用户相关命令: id 用户名 --查看指定用户和组的信息 whoami   --查看登录的用户名 who --显示目前登入系统的用户信息。 w --w命令用于显示已经登陆系统的用户列表

6.2.6 修改用户信息 语法:usermod 【参数】用户名 常用参数: -u UID -d 宿主目录 -g 起始组 #只能有一个 -G 附加组 #可以有多个 -s 登录shell -L 锁定 -U   解锁 例1:修改指定用户的UID号 [root@node-1 ~]# id oracle uid=1100(oracle) gid=1100(oracle) groups=1100(oracle) [root@node-1 ~]# usermod -u 1200 oracle [root@node-1 ~]# id oracle uid=1200(oracle) gid=1100(oracle) groups=1100(oracle) 例2:更改用户主目录 [root@node-1 ~]# usermod -m -d /opt/oracle oracle [root@node-1 ~]# ll /opt/ total 0 drwx------ 2 oracle oracle 59 Feb 13 20:38 oracle -m选项会自动创建新目录并且移到内容到新目录里面 【直接修改/etc/passwd对应的内容即可】

6.3:进入centos7 紧急模式恢复root密码 1)重启服务器,出现 GRUB 启动菜单时按 e 键进入编辑状态 2)找到 linux16 所在行,末尾添加 rd.break console=tty0,按 Ctrl+x 键进恢复模式 3)以可写方式挂载硬盘中的根目录,并重设 root 密码: switch_root:/# mount -o remount,rw /sysroot --以可读写方式重新挂载根系统 switch_root:/# chroot /sysroot/ --切换到根系统 sh-4.2# echo 'newpassword' | passwd --stdin root --设置新的密码 sh-4.2# touch /.autorelabel --标记下一次启动重做 SELinux 标签 sh-4.2# exit switch_root:/# reboot