RHEL7用户管理
本节所讲内容:
- 用户和组的相关配置文件
- 管理用户和组
- RHEL7破解root密码
与windows 相比 LINUX中的用户和账号的作用是一样的.
都是基于用户对访问的资源做控制,只不过在表示的细节上有差异.
用户账号:
超级用户: root 至高无上
本地用户: 由管理员创建,权限受到一定的限制,在自己的宿主目录是完整的权限.
系统用户:一般是不会登录系统的,用于维持某个服务程序正常运行.
用户的分类:
根据帐号的位置:本地帐号、远程(域)帐号。 ldap
根据帐号的功能:超级用户(root) UID:0
普通用户
系统用户 UID:1-999
本地用户 UID:1000+ rhel6 500
UID:即每个用户的身份标示,类似于每个人的身份证号码.
关于系统用户和组的相关配置文件:
帐号信息 密码信息
用户:/etc/passwd /etc/shadow
组: /etc/group /etc/gshadow
添加用户帐号相关命令:
语法:useradd 用户名
常用参数:
-u UID
-d 宿主目录
-g 起始组 #只能有一个
-G 附加组 #可以有多个
-s 登录shell
[root@xuegod60 ~]# useradd SAN [root@xuegod60 ~]# ls /home/ San [root@xuegod60 ~]# tail - /etc/passwd san:x::::/home/san:/bin/bash
用户帐户的全部信息被保存在/etc/passwd文件。这个文件以如下格式保存了每一个系统帐户的所有信息
(字段以“:”分割)
/etc/passwd 每个字段的作用:
root:x:0:0:root:/root:/bin/bash
用户名 : 密码占位符 : UID : GID : 用户描述 : 用户主目录(bash中"~"代表哪个) : 登录后使用的shell
伪用户--为了安全
linux中任何一个命令的操作都必须有一个用户的身份
伪用户一般和系统或者程序服务相关
bin,daemon,shutdown ,halt linux默认都有这些伪用户
伪用户通常不需要或无法登陆系统
可以没有宿主目录
/etc/passwd文件中常见的伪用户
源码安装nginx,运行nginx web服务器默认使用nobody用户
指定用户UID
指定用户的宿主目录
指定用户的起始组
指定用户附加组
指定用户的登录shell
创建用户的另外的命令
useradd 或adduser
[root@xuegod60 ~]# adduser honghaier
删除用户:
userdel
-r 抄家 连同宿主目录一起
密码的文件
/etc/shadow
root:$6$.BTyNB8Q397zR.KY$412……M8ZHWiidd/:16274: 0 : 99999 : 7 : : :
修改用户信息:
语法:
#usermod 用户名
常用参数:
-u UID
-d 宿主目录
-g 起始组 #只能有一个
-G 附加组 #可以有多个
-s 登录shell
修改UID
修改shell
修改附加组
组分类:
根据帐号的位置:本地组、远程(域)组。
根据帐号的功能:超级用户组(root) GID:0
普通用户组
系统用户组 GID:1-999
本地用户 组 GID:1000+
***每一个用户都有一个同名的组***
/etc/group配置文件结构:
[root@xuegod60 ~]# grep rm /etc/group
rm:x:1000:rm
控制添加用户规则的文件
当添加新的用户帐户时,默认会执行下列操作。
- 它的主目录就会被创建(一般是"/home/用户名",除非你特别设置)
-
一些隐藏文件如
.bash_logout
,.bash_profile
以及.bashrc
会被复制到用户的主目录。 - 会创建一个和用户名同样的组(译注:除非你给新创建的用户指定了组)。
解决模板文件被删之后显示不正常的问题
[root@xuegod60 ~]# useradd aaa
[root@xuegod60 ~]# echo 123456 | passwd --stdin aaa
[root@xuegod60 ~]# ls -a /home/aaa/
. .. .bash_logout .bash_profile .bashrc .mozilla .zshrc
[root@xuegod60 ~]# rm -rf !$.bash*
rm -rf /home/aaa/.bash*
[root@xuegod60 ~]# su – aaa
-bash-4.2$
恢复:
[root@xuegod60 ~]# cp /etc/skel/.bash* /home/aaa/
[root@xuegod60 ~]# chown aaa:aaa /home/aaa/.bash*
切换用户:
[root@xuegod60 ~]# su – aaa
加上- ,在切换时会把环境变量一起进行切换
不加,保留原本的环境变量
查看用户信息相关命令:
id
w
who
whoami
finger
实战:RHEL7 恢复root密码
密码恢复
首先重启,按↑↓键,进入如下界面,选择第一项,按下e键进行编辑
在此界面找到ro这一项,并进行修改,改为rw init=/sysroot/bin/sh
改完之后,按下Ctrl+X进入紧急模式
原理:启动一个shell环境,系统并没有真正的启动
换根,修改密码
/ 默认
chroot命令用来在指定的根目录下运行指令
。chroot,即 change root directory (更改 root 目录)。在 linux 系统中,系统默认的目录结构都是以/,即是以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为/位置
在经过 chroot 命令之后,系统读取到的目录和文件将不在是旧系统根下的而是新根下(即被指定的新的位置)的目录结构和文件,
注意:恢复密码时把selinux关闭
重启系统
先退出当前根,执行/bin/sh shutdown –r now