- • 用户和组的相关配置文件
- • 管理用户和组
- • RHEL7找回root身份
用户的分类:
根据帐号的位置:本地帐号、远程(域)帐号。 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文件中常见的伪用户
伪 用 户 | 含 义 |
nobody | NFS使用 |
源码安装nginx,运行nginx web服务器默认使用nobody用户
[root@xuegod60 ~]# 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@xuegod60 ~]# greprm /etc/group
rm:x:1000:rm
添加用户帐号相关命令:
语法:useradd 用户名
常用参数:
-u UID
-d 宿主目录
-g 起始组 #只能有一个
-G 附加组 #可以有多个
-s 登录shell
[root@xuegod60 ~]#useradd mk
[root@xuegod60 ~]# ls/home/
mk rm rm1
[root@xuegod60 ~]# tail-1 /etc/passwd
mk:x:1002:1002::/home/mk:/bin/bash
指定用户UID
[root@xuegod60 ~]#useradd -u 2016 sunwukong
[root@xuegod60 ~]# idsunwukong
uid=2016(sunwukong)gid=2016(sunwukong) groups=2016(sunwukong)
指定用户的宿主目录
[root@xuegod60 ~]#useradd -d /tmp/baigujing baigujing
[root@xuegod60 ~]# tail-1 /etc/passwd
baigujing:x:2017:2017::/tmp/baigujing:/bin/bash
指定用户的起始组
[root@xuegod60 ~]#useradd -g 2016 niumowang
[root@xuegod60 ~]# idniumowang
uid=2019(niumowang)gid=2016(sunwukong) groups=2016(sunwukong)
指定用户附加组
[root@xuegod60 ~]#useradd -G 2017 bajie
[root@xuegod60 ~]# idbajie
uid=2020(bajie)gid=2020(bajie) groups=2020(bajie),2017(baigujing)
指定用户的登录shell
[root@xuegod60 ~]#useradd -M -s /sbin/nologin mysql
注:-M再创建用户时不创建用户宿主目录
创建用户的另外的命令
useradd或adduser
[root@xuegod60 ~]#adduser honghaier
关于用户密码的命令:
[root@xuegod60 ~]# passwd #默认修改的是当前登录用户
Changing password foruser root.
New password:
BAD PASSWORD: Thepassword is shorter than 8 characters
Retype new password:
passwd: allauthentication tokens updated successfully.
[root@xuegod60 ~]# passwdhonghaier
Changing password foruser honghaier. #修改指定用户的密码
New password:
BAD PASSWORD: Thepassword is shorter than 8 characters
Retype new password:
passwd: allauthentication tokens updated successfully.
如果你创建一百个用户,并给一百个用户,输入一个初始密码?怎么办?
[root@xuegod60 ~]# echo123456 | passwd --stdin niumowang
Changing password foruser niumowang.
passwd: allauthentication tokens updated successfully.
Linux用户密码加密:sha512
123456 -> sha512 -> CFnSYSQg8CYOAf5
8748912345659798 ->sha512 -> (随机值)CFnSYSQg8CYOAf5
修改用户信息:
语法:
#usermod 用户名
常用参数:
-u UID
-d 宿主目录
-g 起始组 #只能有一个
-G 附加组 #可以有多个
-s 登录shell
[root@xuegod60 ~]# idhonghaier
uid=2022(honghaier)gid=2022(honghaier) groups=2022(honghaier)
[root@xuegod60 ~]#usermod -u 1022 honghaier
[root@xuegod60 ~]# idhonghaier
uid=1022(honghaier)gid=2022(honghaier) groups=2022(honghaier)
[root@xuegod60 ~]#usermod -g 2016 -G 2017 honghaier
[root@xuegod60 ~]# idhonghaier
uid=1022(honghaier)gid=2016(sunwukong) groups=2016(sunwukong),2017(baigujing)
删除用户:
#userdel 用户名 ***-r 宿主目录一起删除***
[root@xuegod60 ~]#userdel -r rm
[root@xuegod60 ~]# ls/home/
bajie honghaier mk niumowang rm1 sunwukong
添加组:
[root@xuegod60 ~]#groupadd xiyouji
[root@xuegod60 ~]# grepxiyouji /etc/group
xiyouji:x:2023:
删除组:
[root@xuegod60 ~]#groupdel xiyouji
控制添加用户规则的文件
[root@xuegod60 ~]# vim/etc/default/useradd
HOME=/home #哪个目录作为用户主目录存放目录。如果你不想让用户家目录在/home下,可以修改这个地方。
SHELL=/bin/bash #默认shell使用哪个
SKEL=/etc/skel #模板目录
解决模板文件被删之后显示不正常的问题
[root@xuegod60 ~]#useradd top
[root@xuegod60 ~]# echo123456 | passwd --stdin top
[root@xuegod60 ~]#ls -a /home/top/
. .. .bash_logout .bash_profile .bashrc .mozilla .zshrc
[root@xuegod60 ~]# rm -rf!$.bash*
rm -rf /home/top/.bash*
[root@xuegod60 ~]# su -top
-bash-4.2$
恢复:
[root@xuegod60 ~]# cp/etc/skel/.bash* /home/top/
[root@xuegod60 ~]# chowntop:top /home/top/.bash*
切换用户:
[root@xuegod60 ~]# su -top
加上- ,在切换时会把环境变量一起进行切换
不加,保留原本的环境变量
查看用户信息相关命令:
[root@xuegod60 ~]# id top
uid=2022(top)gid=2023(top) groups=2023(top)
[root@xuegod60 ~]# 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@xuegod60 ~]# 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@xuegod60 ~]# yum -yinstall finger
[root@xuegod60 ~]# fingertop
Login: top Name:
Directory: /home/top Shell: /bin/bash
Last login Sat Jan 3021: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进行启动