红帽学习笔记[RHCSA] 第四课[用户相关、破解root密码]

时间:2021-04-12 19:11:57

第四课

关于Linux 的用户

  1. 用户分类:
# UID 是用户ID
​ UID 0分配给超级用户(root)
​ UID 1-200 是一系列的 系统用户 静态分配给红帽的系统进程
​ UID 201-999 是一系列的 系统用户,共文件系统中没有自己的文件的系统进程使用。通常在安装需要他们的软件时,从可用池中动态分配他们。程序一这些五特权的系同用户身份运行。一边限制他们仅访问正常运行的所需资源
​ UID 1000+ 普通用户
  1. 用户组
# 主要组或基本组
如果没有指定用户组,创建用户的时候系统会默认同时创建一个和这个用户名同名的组,这个组就是基本组。在创建文件时,文件的所属组就是用户的基本组。
# 附属组
除了基本组之外,用户所在的其他组,都是附加组。用户是可以从附加组中被删除的。
# ---------------------------
用户不论为与基本组中还是附加组中,就会拥有该组的权限。一个用户可以属于多个附加组。但是一个用户只能有一个基本组。
  1. 关于用户与组的信息存放位置
/etc/passwd  用户信息
/etc/shadow 用户密码相关
/etc/group 用户组信息
/etc/gshadow 存放组密码信息
  1. 关于3中文件的内容
# /etc/passwd
用户名:密码:UID:GID:描述信息:家目录:shell环境
# /etc/shadow
用户名:加密后的密码:最后一次修改密码的时间:密码最小生存周期:密码最大生存周期:密码到期前一天开始警告:密码到期之后还可以使用的天数:账号过期时间:保留项

Linux 红帽系破解root密码

  1. 重启 reboot
  2. 进入启动项后,选择非默认项,按键 e进入编辑模式
# 我的常用默认项
Red Hat Enterprise Linux Server,with Linux 3.10.0-123.e17.x86_64
# 我的非默认项
Red Hat Enterprise Linux Server,with Linux 0-rescue-
  1. 找到 linux16关键字所在行,在行末键入console=tty0 rd.break
  2. Ctrl+x,等待进入 switch_root模式
  3. 键入mount -0 remount,rw /sysroot
  4. 键入chroot /sysroot
  5. 键入echo "new passwd"|passwd --stdin root
  6. 键入touch /.autorelabel
  7. 键入两次exit,等待自动重启。

本次课程涉及的命令

id查看用户信息

# 查看当前用户
[root@localhost Desktop]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
# 查看其他用户
[root@localhost Desktop]# id user1
uid=1003(user1) gid=1003(user1) groups=1003(user1),10(wheel)

passwd修改用户密码

# 修改当前用户密码
[root@localhost Desktop]# passwd
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
# root用户修改普通用户的密码
[root@localhost Desktop]# passwd user1
Changing password for user user1.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

useradd添加用户

# 创建用户
[root@localhost Desktop]# useradd testuser
[root@localhost Desktop]# id testuser
uid=1008(testuser) gid=1008(testuser) groups=1008(testuser)
# -u 指定UID
# -G 指定附属组
# -g 指定主组(默认会创建一个与user同名的组)
# -s 指定一个shell
# 不让用户登陆系统
[root@localhost Desktop]# useradd test_no_login -s /sbin/nologin
[root@localhost Desktop]# id test_no_login
uid=1009(test_no_login) gid=1009(test_no_login) groups=1009(test_no_login)
[root@localhost Desktop]# su test_no_login
This account is currently not available.
# 发现不能够登陆shell

usrmod修改用户一些信息。

# -u 修改UID
# -L 锁定用户
# -s 指定一个shell
# -U 解锁用户
# -g 修改主要组
# -G 修改附属组

usrdel删除用户

# 删除用户
[root@localhost Desktop]# userdel user2
# -r 删除家目录
[root@localhost Desktop]# userdel -r user2

su 切换用户

# root用户切换到任何用户不需要输入密码
# su - test 是用这个用户直接登陆。不加-是用它的shell环境
[root@localhost Desktop]# su kane
[kane@localhost Desktop]$

sudo以root身份运行命令。注:需要再附属组上增加(wheel)

[kane@localhost /]$ rm -rf test
rm: cannot remove ‘test’: Permission denied
[kane@localhost /]$ sudo rm -rf test
[sudo] password for kane:
[kane@localhost /]$

groupadd添加一个组

#  -g可以直接给一个组ID

groupmod修改组的信息

# 修改组id
groupmod -g gid
# 修改组的名字
groupmod -n new_name old_name

groupdel删除组

chage负责管理用户密码时效问题

# -m 两次改变密码之间相距的最小天数即"最小天数"
# -M 两次改变密码之间相距的最大天数即"最大天数"
# -W 过期警告天数即"警告天数"
# -E 过期日期 日期格式:YYYY-MM-DD
chage -E 2019-10-01 test