第四课
关于Linux 的用户
- 用户分类:
# UID 是用户ID
UID 0分配给超级用户(root)
UID 1-200 是一系列的 系统用户 静态分配给红帽的系统进程
UID 201-999 是一系列的 系统用户,共文件系统中没有自己的文件的系统进程使用。通常在安装需要他们的软件时,从可用池中动态分配他们。程序一这些五特权的系同用户身份运行。一边限制他们仅访问正常运行的所需资源
UID 1000+ 普通用户
- 用户组
# 主要组或基本组
如果没有指定用户组,创建用户的时候系统会默认同时创建一个和这个用户名同名的组,这个组就是基本组。在创建文件时,文件的所属组就是用户的基本组。
# 附属组
除了基本组之外,用户所在的其他组,都是附加组。用户是可以从附加组中被删除的。
# ---------------------------
用户不论为与基本组中还是附加组中,就会拥有该组的权限。一个用户可以属于多个附加组。但是一个用户只能有一个基本组。
- 关于用户与组的信息存放位置
/etc/passwd 用户信息
/etc/shadow 用户密码相关
/etc/group 用户组信息
/etc/gshadow 存放组密码信息
- 关于3中文件的内容
# /etc/passwd
用户名:密码:UID:GID:描述信息:家目录:shell环境
# /etc/shadow
用户名:加密后的密码:最后一次修改密码的时间:密码最小生存周期:密码最大生存周期:密码到期前一天开始警告:密码到期之后还可以使用的天数:账号过期时间:保留项
Linux 红帽系破解root密码
- 重启 reboot
- 进入启动项后,选择非默认项,按键
e
进入编辑模式
# 我的常用默认项
Red Hat Enterprise Linux Server,with Linux 3.10.0-123.e17.x86_64
# 我的非默认项
Red Hat Enterprise Linux Server,with Linux 0-rescue-
- 找到
linux16
关键字所在行,在行末键入console=tty0 rd.break
- 按
Ctrl+x
,等待进入 switch_root模式
- 键入
mount -0 remount,rw /sysroot
- 键入
chroot /sysroot
- 键入
echo "new passwd"|passwd --stdin root
- 键入
touch /.autorelabel
- 键入两次
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