James Bryant

【转】linux云计算集群架构学习笔记:用户管理和root用户密码重置

0
阅读(1278)

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/passwd san: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:66.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

Baidu
map