运维管理 ·

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进行启动

完成

评论已关闭