你的位置:首页 > 操作系统

[操作系统]linux云计算集群架构学习笔记:用户管理和root用户密码重置


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 -1 /etc/passwdsan:x:1002:1002::/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