RHEL7用户管理
用户的分类:用户的分类:
根据帐号的位置:本地帐号、远程(域)帐号。 LDAP,NIS,
根据帐号的功能:超级用户(root) UID:0
普通用户
系统用户 UID:1-999 本地用户 UID:1000+
组分类:
根据帐号的位置:本地组、远程(域)组。 LDAP,NIS,
根据帐号的功能:超级用户组(root) UID:0
普通用户组
系统用户组 UID:1-999
本地用户 组 UID:1000+
***每一个用户都有一个同名的组***
关于系统用户和组的相关配置文件:
帐号信息 密码信息
用户:/etc/passwd /etc/shadow
组: /etc/group /etc/gshadow
/etc/passwd 每个字段的作用:
root:x:0:0:root:/root:/bin/bash
用户名 : 密码占位符 : UID : GID : 用户描述 : 用户主目录(bash中"~"代表哪个) : 登录后使用的shell
passwd中伪用户:
/etc/passwd文件中常见的伪用户
passwd中伪用户:/etc/passwd文件中常见的伪用户伪用户含义
nobody NFS使用源码安装nginx,运行nginx web服务器默认使用nobody用户
[root@fooher.com ~]# cat /etc/shells/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
Zsh
/etc/shadow: 结构:
root:$6$.BTyNB8Q397zR.KY$412……M8ZHWiidd/:16274: 0 : 99999 : 7 : : :
了解:
/etc/group配置文件结构:
[root@fooher.com ~]# grep rm /etc/group
rm:x:1000:rm
M: x: 1000: rm
组 组密码占位符 GID: 组成员(用户名)
添加用户帐号相关命令:
语法:useradd 用户名
常用参数:
-u UID
-d 宿主目录
-g 起始组 #只能有一个
-G 附加组 #可以有多个
-s 登录shell
[root@fooher.com ~]# useradd mk[root@fooher.com ~]# ls /home/ mk rm rm1[root@fooher.com ~]# tail -1 /etc/passwd mk:x:1002:1002::/home/mk:/bin/bash
指定用户UID
[root@fooher.com ~]# useradd -u 2016 sunwukong [root@fooher.com ~]# id sunwukong uid=2016(sunwukong) gid=2016(sunwukong) groups=2016(sunwukong)
指定用户的宿主目录
[root@fooher.com ~]# useradd -d /tmp/baigujing baigujing [root@fooher.com ~]# tail -1 /etc/passwd baigujing:x:2017:2017::/tmp/baigujing:/bin/bash
指定用户的起始组
[root@fooher.com ~]# useradd -g 2016 niumowang [root@fooher.com ~]# id niumowang uid=2019(niumowang) gid=2016(sunwukong) groups=2016(sunwukong)
指定用户附加组
[root@fooher.com ~]# useradd -G 2017 bajie [root@fooher.com ~]# id bajie uid=2020(bajie) gid=2020(bajie) groups=2020(bajie),2017(baigujing)
指定用户的登录shell
[root@fooher.com ~]# useradd -M -s /sbin/nologin mysql
注:-M再创建用户时不创建用户宿主目录
创建用户的另外的命令
useradd 或adduser
[root@fooher.com ~]# adduser honghaier
关于用户密码的命令:
[root@fooher.com ~]# passwd #默认修改的是当前登录用户 Changing password for user root. New password: BAD PASSWORD: The password is shorter than 8 characters Retype new password: passwd: all authentication tokens updated successfully.
[root@fooher.com ~]# passwd honghaier Changing password for user honghaier. #修改指定用户的密码 New password: BAD PASSWORD: The password is shorter than 8 characters Retype new password: passwd: all authentication tokens updated successfully.
如果你创建一百个用户,并给一百个用户,输入一个初始密码?怎么办?
[root@fooher.com ~]# echo 123456 | passwd --stdin niumowang Changing password for user niumowang. passwd: all authentication tokens updated successfully.
Linux用户密码加密:sha512
123456 -> sha512 -> CFnSYSQg8CYOAf5
8748912345659798 -> sha512 -> (随机值)CFnSYSQg8CYOAf5
修改用户信息:
语法:
#usermod 用户名
常用参数:
-u UID
-d 宿主目录
-g 起始组 #只能有一个
-G 附加组 #可以有多个
-s 登录shell
[root@fooher.com ~]# id honghaier uid=2022(honghaier) gid=2022(honghaier) groups=2022(honghaier) [root@fooher.com ~]# usermod -u 1022 honghaier [root@fooher.com ~]# id honghaier uid=1022(honghaier) gid=2022(honghaier) groups=2022(honghaier) [root@fooher.com ~]# usermod -g 2016 -G 2017 honghaier [root@fooher.com ~]# id honghaier uid=1022(honghaier) gid=2016(sunwukong) groups=2016(sunwukong),2017(baigujing)
删除用户:
#userdel 用户名 ***-r 宿主目录一起删除*** [root@fooher.com ~]# userdel -r rm [root@fooher.com ~]# ls /home/ bajie honghaier mk niumowang rm1 sunwukong
添加组:
[root@fooher.com ~]# groupadd foohercom [root@fooher.com ~]# grep foohercom /etc/group foohercom:x:2023:
删除组:
[root@fooher.com ~]# groupdel foohercom
控制添加用户规则的文件
[root@fooher.com ~]# vim /etc/default/useradd HOME=/home #哪个目录作为用户主目录存放目录。如果你不想让用户家目录在/home下,可以修改这个地方。 SHELL=/bin/bash #默认shell使用哪个 SKEL=/etc/skel #模板目录 解决模板文件被删之后显示不正常的问题
[root@fooher.com ~]# useradd top [root@fooher.com ~]# echo 123456 | passwd --stdin top [root@fooher.com ~]# ls -a /home/top/ . .. .bash_logout .bash_profile .bashrc .mozilla .zshrc [root@fooher.com ~]# rm -rf !$.bash* rm -rf /home/top/.bash* [root@fooher.com ~]# su - top-bash-4.2$
恢复:
[root@fooher.com ~]# cp /etc/skel/.bash* /home/top/ [root@fooher.com ~]# chown top:top /home/top/.bash*
切换用户:
[root@fooher.com ~]# su - top
加上- ,在切换时会把环境变量一起进行切换 不加,保留原本的环境变量
查看用户信息相关命令:
[root@fooher.com ~]# id top uid=2022(top) gid=2023(top) groups=2023(top)
[root@fooher.com ~]# w 21:44:14 up 1:35, 3 users, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root :0 :0 20:30 ?xdm? 1:16 0.14s gdm-session-worker [pam/gdm-password] root pts/0 :0 20:38 4:38 0.13s 0.04s -bash root pts/1 192.168.1.100 20:42 6.00s 0.65s 0.01s w [root@fooher.com ~]# who root :0 2016-01-30 20:30 (:0) root pts/0 2016-01-30 20:38 (:0) root pts/1 2016-01-30 20:42 (192.168.1.100) [root@fooher.com ~]# yum -y install finger [root@fooher.com ~]# finger top Login: top Name: Directory: /home/top Shell: /bin/bash Last login Sat Jan 30 21:42 (CST) on pts/1 No mail. No Plan.
RHEL7 恢复root密码
首先重启,按↑↓键,进入如下界面,选择第一项,按下e键进行编辑
在此界面找到ro这一项,并进行修改,改为rw init=/sysroot/bin/sh
改完之后,按下Ctrl+X进入紧急模式
原理:启动一个shell环境,系统并没有真正的启动
换根,修改密码
注意:恢复密码时把selinux关闭
重启系统
先退出当前根,执行/bin/sh shutdown –r now
如何无密码登录,把用户的密码占位符删除掉就可以
禁止root账号登录系统,同时设置普通用户rm作为系统管理员
改:root:x:0:0:root:/root:/bin/bash
为:root:x:0:0:root:/root:/sbin/nologin
设置rm用户为管理员
改:rm:x:1000:1000:rm:/home/rm:/bin/bash
为:rm:x:0:0:rm:/home/rm:/bin/bash
RHEL6恢复root密码
上下键停留在此界面
按小写的e
输入1,进入单用户模式
输入b进行启动
完成