背记(默写)
[root@computer ~]# ls /etc/passwd -l
-rw-r--r--. 1 root root 965 5月 20 14:58 /etc/passwd
[root@computer ~]# ls /etc/shadow -l
----------. 1 root root 644 5月 20 14:58 /etc/shadow
[root@computer ~]# ls /etc/group -l
-rw-r--r--. 1 root root 486 5月 20 14:58 /etc/group
[root@computer ~]# ls -l /etc/gshadow
----------. 1 root root 386 5月 20 14:58 /etc/gshadow
[root@computer ~]# ls -al /etc/skel/
总用量 24
drwxr-xr-x. 2 root root 62 4月 11 2018 .
drwxr-xr-x. 81 root root 8192 7月 10 14:58 ..
-rw-r--r--. 1 root root 18 4月 11 2018 .bash_logout
-rw-r--r--. 1 root root 193 4月 11 2018 .bash_profile
-rw-r--r--. 1 root root 231 4月 11 2018 .bashrc
[root@computer ~]# ls -l /var/spool/mail/
总用量 0
-rw-rw----. 1 varnish mail 0 5月 20 14:58 varnish
[root@computer ~]# ls -al /home/
总用量 0
drwxr-xr-x. 3 root root 21 5月 20 14:58 .
dr-xr-xr-x. 18 root root 235 4月 24 21:24 ..
drwx------. 2 varnish varnish 62 5月 20 14:58 varnish
用户和组(基本组 附属组)
添加用户 / 修改用户属性 / 删除用户 /创建组 /添加组 /删除组
存储用户信息 所在文件 /etc/passwd
创建用户:创建一个新用户,随着创建一个跟用户名相同的组
(基本组 类似于人一出生就带着国籍)
(附属组 又称为 从属组,类似于改变国籍)
唯一标识:uid gid
创建用户命令:useradd [选项] 用户名
查看用户信息:id 用户名
常见选项:-u 用户ID -d 家目录路径 -G(附属组) 组ID -s 解释器
-g(基本组)
[root@localhost ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
[root@localhost ~]# tail -1 /etc/passwd
tll:x:1005:1005::/home/tll:/bin/bash
[root@localhost etc]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash //解释器
bin:x:1:1:bin:/bin:/sbin/nologin
hfx: x:1000:1000:hfx:/home/hfx:/bin/bash(用:分隔)
用户名:密码占位符:UID:基本组的GID:用户描述信息:用户家目录:解释器
1000 uid
1000 gid
/home/hfx 该用户的家目录
[root@localhost etc]# useradd njd
[root@localhost etc]# grep njd /etc/passwd
njd:x:1004:1004::/home/njd:/bin/bash
[root@localhost etc]# id njd //查看用户的基本信息
uid=1004(njd) gid=1004(njd) 组=1004(njd)
四分之三原则:
复杂度: 数字 /小写字母 /大写字母 /特殊字符
管理员设置密码:交互式设置密码
[root@localhost etc]# passwd haha //以超级管理员的身份给用户bkz设置密码
更改用户 haha 的密码 。
新的 密码:(不显示)
无效的密码: 密码少于 8 个字符
//设置密码的规则,是给普通用户设置的,对于管理员无效
重新输入新的 密码:(不显示,再次输入密码123)
passwd:所有的身份验证令牌已经成功更新。
[root@localhost etc]# su – haha //切换到普通用户bkz
[bkz@localhost ~]$ passwd //设置密码
更改用户 haha 的密码 。
为 haha 更改 STRESS 密码。
(当前)UNIX 密码:(不显示123)
新的 密码:(以普通用户的身份设置密码时需要遵循3/4原则)
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
新的 密码:
无效的密码: 这个密码和原来的相同
新的 密码:
无效的密码: 这个密码和原来的相同
123passwd: 已经超出服务重试的最多次数
[bkz@localhost ~]$ exit //退出普通用户,进入到超级管理员
登出
[root@localhost etc]#
设置非交互式密码
格式:echo 密码 | passwd --stdin 用户名
[root@localhost etc]# useradd ksj
[root@localhost etc]# echo 123 | passwd --stdin ksj
更改用户 ksj 的密码 。
passwd:所有的身份验证令牌已经成功更新。
对已经存在的用户进行属性修改 使用usermod
格式:usermod [ 选项 ] 用户名
[root@localhost ~]# tail /etc/passwd
lsl:x:1003:1003::/home/lsl:/bin/bash
njd:x:1004:1004::/home/njd:/bin/bash
ksj:x:1005:1005::/home/ksj:/bin/bash
[root@localhost ~]# usermod -u 1110 haha //指定用户bkz的uid为1110
[root@localhost ~]# id haha
uid=1110(haha) gid=1001(haha) 组=1001(haha)
[root@localhost ~]# tail /etc/passwd
lsl:x:1003:1003::/home/lsl:/bin/bash
njd:x:1004:1004::/home/njd:/bin/bash
ksj:x:1005:1005::/home/ksj:/bin/bash
[root@localhost ~]# cat /etc/shells //查看解释器信息
/bin/sh
/bin/bash
/sbin/nologin //该解释器nologin是禁止用户登录的
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
[root@localhost ~]# tail -1 /etc/passwd
ksj:x:1005:1005::/home/ksj:/bin/bash
[root@localhost ~]# usermod -s /sbin/nologin bkz
//使用选项 -s , 禁止用户bkz登录服务器
[root@localhost ~]# tail -1 /etc/passwd
ksj:x:1005:1005::/home/ksj:/bin/bash
删除用户 userdel [ -r ] 用户名
-r 删除用户的同时删除家目录(正常情况下不适用)
[root@localhost ~]# ls /home(存放账户信息的文件) //查看用户的家目录
haha llf llx ksj lsl njd
[root@localhost ~]# userdel bkz //删除用户bkz
[root@localhost ~]# ls /home //再次查看用户的家目录,发现没有删除bkz的家目录
haha llf llx ksj lsl njd
[root@localhost ~]# tail /etc/passwd
//查看文件etc/passwd的最后10行,用户haha被删掉了
llx:x:1002:1002::/home/llx:/bin/bash
lsl:x:1003:1003::/home/lsl:/bin/bash
njd:x:1004:1004::/home/njd:/bin/bash
ksj:x:1005:1005::/home/ksj:/bin/bash
[root@localhost ~]# userdel -r ksc //删除用户ksc的同时删除其家目录(一般不常用)
[root@localhost ~]# tail /etc/passwd //查看文件etc/passwd最后10行,用户ksc被删
llx:x:1002:1002::/home/hlx:/bin/bash
lsl:x:1003:1003::/home/lsl:/bin/bash
njd:x:1004:1004::/home/njd:/bin/bash
[root@localhost ~]# ls /home //查看家目录,用户ksj的家目录一并被删除
haha lfx hlx lsl njd
创建组 groupadd [ 选项 ] 组名
成员加入组 gpasswd -a 用户名 组名
[root@localhost ~]# useradd tll //创建用户tll,同时创建基本组tll
[root@localhost ~]# groupadd dcd //创建组dcd
[root@localhost ~]# tail -1 /etc/passwd
//在存放用户信息的文件/etc/passwd中,查看刚刚创建的用户tll,在最后一行查看
tll:x:1005:1005::/home/tll:/bin/bash
用户名:密码占位符:UID:基本组的GID:用户描述信息:用户家目录:解释器
[root@localhost ~]# cat /etc/group //查看组文件信息
lsl:x:1003:
njd:x:1004:
tll:x:1005:
dcd:x:1006:
[root@localhost ~]# id tll
uid=1005(tll) gid=1005(tll) 组=1005(tll)
[root@localhost ~]# gpasswd -a tll dcd
//将用户tll (它本身有一个同名的基本组tll) 加入到dcd附属组
正在将用户“tll”加入到“dcd”组中
[root@localhost ~]# tail /etc/passwd
lsl:x:1003:1003::/home/lsl:/bin/bash
njd:x:1004:1004::/home/njd:/bin/bash
tll:x:1005:1005::/home/tll:/bin/bash
[root@localhost ~]# id tll //用户UID,基本组GID 附属组dcd
uid=1005(tll) gid=1005(tll) 组=1005(tll),1006(dcd)
[root@localhost ~]# gpasswd -a tll dcd //键给用户tll加入到组dcd中
正在将用户“tll”加入到“dcd”组中
[root@localhost ~]# tail /etc/group
lsl:x:1003:
njd:x:1004:
tll:x:1005:
dcd:x:1006:tll
[root@localhost ~]# gpasswd -a njd dcd //将用户njd加入到组dcd中
正在将用户“njd”加入到“dcd”组中
[root@localhost ~]# tail /etc/group
ntp:x:38:
lsl:x:1003:
njd:x:1004:
tll:x:1005:
dcd:x:1006:tll,njd
组名 组的密码占位符 组ID 组的成员列表
成员从组中删除 gpasswd -d 用户名 组名
删除组 groupdel 组名
/etc/shadow字段含义:
包含用户账户的加密密码信息。该文件的每一行都对应一个用户账户,并且每行都有9个以冒号(:)分隔的字段。
1)用户名: 这是用户的登录名。
2)加密密码: 这是密码字段,其中包含用户密码的加密形式。
3)最后一次密码更改的时间: 这是表示1970年1月1日后密码最后一次被更改的时间,以天数表示。
4)密码最小时间期限: 这是密码不能被更改的最小时间(在这个时间内被认为是密码更改的天数)。
5)密码最大时间期限: 这是密码可以被更改的最大时间。
6)密码警告时间: 这是在密码过期前多少天开始警告用户。
7)密码过期时间: 这是密码过期后多少天账户被禁用。
8)账户关闭时间: 这是从1970年1月1日起账户被禁用的时间。
9)保留字段: 这是为将来的用途保留的字段。
影子文件(只能被root读取修改)
[root@computer ~]# vim /etc/passwd
[root@computer ~]# vim /etc/shadow
用户名 “ 密码sha512*! ”表示没有密码 更新密码得时间:1970年1月1日时间戳ms10
两次修改时间得间隔 密码有效期 密码修改到期前的警告天数
密码过期后的宽限天(默认-1 为空永远不禁用) 密码失效时间 保留无意义
[root@computer ~]# vim /etc/group
安装MySQL 8.0以上版本
[root@computer ~]# yum -y remove mariadb-libs.x86_64
[root@computer ~]# mkdir mysqlrpm
[root@computer ~]# cd mysqlrpm/
[root@computer mysqlrpm]# rz -E
rz waiting to receive.
[root@computer mysqlrpm]# ls
mysql-9.0.0-1.el9.aarch64.rpm-bundle_(1).tar
[root@computer mysqlrpm]# tar -xvf mysql-9.0.0-1.el9.aarch64.rpm-bundle_\(1\).tar
[root@computer mysqlrpm]# ls