# 本章重点:
- 用户管理相关命令:useradd、usermod、userdel、id、finger、whoami、who、w、
- 用户密码相关命令:passwd、md5sum、mkpasswd
- 用户管理相关文件:/etc/passwd、/etc/shadow
- 用户组管理相关命令:groupadd、groupmod、groupdel
- 用户组管理相关文件:/etc/passwd、/etc/gshadow
- 用户名和用户组默认配置文件:/etc/default/useradd、/etc/login.defs
- 用户提权相关命令:su、sudo、visudo配置文件
一、用户介绍
1.1 概述
1.能够通过账号、密码登录系统的,被称作是“用户”
2.linux用户和windows用户的区别在于:
linux支持多用户同时登录
windows默认不支持多个用户登录
1.2 查看用户信息
- 查看当前登录的用户
[root@ly01 ~]# id root
uid=0(root) gid=0(root) groups=0(root)
- 报错
[root@ly01 ~]# id username
id: username: no such user
- 显示其他用户的信息
[root@ly01 ~]# id goudan
uid=1010(goudan) gid=1010(goudan) groups=1010(goudan)
1.3 用户相关的两个重要文件
[root@ly01 ~]# ll /etc/passwd //存放所有用户信息
-rw-r--r--. 1 root root 981 Nov 8 11:42 /etc/passwd
[root@ly01 ~]# ll /etc/shadow //存放用户的密码信息
----------. 1 root root 724 Nov 8 11:42 /etc/shadow
1.4 /etc/passwd及/etc/shadow详解
[root@ly01 ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
第一列:【root】用户名称 第二列:【x】密码占位符 第三列:【0】用户uid信息 第四列:【0】用户gid信息,组的id号码 第五列:【root】注释信息 第六列:【/root】用户的家目录 第七列:【/bin/bash】用户bash shell ;/sbin/nologin 禁止登陆系统
[root@ly01 ~]# head -1 /etc/shadow
root:$6$9tg9OMEC$220pDH9wo3iK4jp7mukJSEcT0yitdLOziec9/v8d9l8gH0aDOIUbP6ABlk7u3mzCJvvH1HLIhhMOamstuVukx.:18208:0:99999:7:::
第一列:【root】用户名
第二列:【】加密之后的密码,或者!!表示没有密码
第三列:【17834】最近的一次修改密码时间距离1970年1月1日0点过了多少天
第四列:【0】表示两次修改密码的最短间隔时间。0表示可以无限修改
第五列:【99999】表示密码的最大有效期
第六列:【7】密码过期前多少天警告
第七列:密码过期后的宽恕时间
第八列:账号过期时间,距离1970年多少天后过期
第九列:没有使用,保留
1.5 用户的作用
每一个进程,都会有一个用户进行管理
root用户作为管理者,权限很大,破坏性大。
id 表示一组数字,表示对应的编号,相当于身份证号码 uid 一组约定
1.6 uid划分
- centos 7
【0】超级管理员,root
【1-200】 系统用户,系统之前已经创建好的,运行系统的服务
【201-999】 系统用户,是我们自己创建的
【1000+】 普通用户
- centos 6
【0】超级管理员,root
【1-499】系统用户
【500+】 普通用户
二、用户管理操作
2.1 创建用户useradd (adduser)
说明:创建用户,默认创建普通用户 格式:useradd 【选项】【参数-用户名】
选项: 【-u】指定uid 【-g】指定基本组gid,gid(组)必须存在,指定gid号或者组名称 【-G】附加组,多个用逗号分隔
【-c】注释信息 【-M】不创建家目录 【-r】创建系统用户,不创建家目录 【-s】指定bash,命令解释器 【-d】指定家目录,不存在的目录
- 创建用户
[root@ly01 ~]# useradd user01
- 创建一个普通用户
[root@ly01 ~]# useradd -u 2000 -c '新用户' -d /opt/user04 -s /bin/bash user02
- 创建一个系统用户
[root@ly01 ~]# useradd -u 677 -c '虚拟用户' -M -s /sbin/nologin user03 //也可以通过-r创建
- 批量创建用户
seq :生成数字序列
#方法一:创建连续的用户
[root@ly01 ~]# seq 1 10|awk '{print"useradd user"$1}'|bash
#方法二
[root@ly01 ~]# seq 10|sed -r 's#(.*)#useradd \1#g' |bash
#创建不连续的用户
[root@ly01 ~]# echo -e 'goudan\nda\nshuaibi'|sed -r 's#(.*)#useradd \1#g'
xargs 分组 【-n】+ 数字 #将一行内容进行分组,默认以空白字符为分隔
[root@ly01 ~]# echo {2..10}|xargs -n1
2.2 修改用户usermod
说明:修改用户信息 格式:usermod【选项】【参数-用户名】
选项:
【-u】修改uid
【-g】修改用户基本组
【-a】添加附加组,跟-G 配合使用
【-G】添加附加组,默认是覆盖,-aG 追加 -G 覆盖
【-d】修改用户的家目录
【-m】迁移家目录,-md 配合使用
【-c】修改注释信息
【-s】修改命令解释器bash
【-l】修改用户名
【-L】锁定用户
【-U】解锁用户
- 修改uid信息
[root@ly01 ~]# usermod -u 1008 goudan
[root@ly01 ~]# id goudan
uid=1008(goudan) gid=1010(goudan) groups=1010(goudan)
- 迁移家目录
[root@ly01 ~]# usermod -md /opt/goudan goudan
//usermod -md 新目录 用户名
- 修改注释信息
[root@ly01 ~]# usermod -c '旧用户' user02
- 修改命令解释器
[root@ly01 ~]# usermod -s /sbin/nologin user01
- 修改用户名
[root@ly01 ~]# usermod -l user1 user01
// usermod -l 新用户 旧用户
- 锁定用户
[root@ly01 ~]# usermod -L user1
- 解锁用户
[root@ly01 ~]# usermod -U user1
- 设置密码
[root@ly01 ~]# passwd user1
2.3 删除用户userdel
说明:删除用户,默认不删除家目录及email usedel 【选项】【参数-用户名】
选项: 【-r】删除家目录及email
- 删除用户
[root@ly01 ~]# userdel user1 - 删除用户、家目录及email
[root@ly01 ~]# userdel -r user12.4 显示用户
2.4.1 id
说明:显示用户的信息 格式:id [-gGnru][--help][--version][用户名称]
[root@ly01 ~]# id goudan2.4.2 finger
说明:显示用户基本信息 格式:finger【选项】【参数-用户名】
[root@ly01 ~]# yum install -y finger
//安装finger
[root@ly01 ~]# finger goudan
Login: goudan Name:
Directory: /home/goudan Shell: /bin/bash
Last login Fri Nov 8 12:12 (CST) on pts/0
No mail.
No Plan.
2.4.3 whoami
说明:显示当前登录的用户 格式:whoami【选项】
[root@ly01 ~]# whoami
root
2.4.4 who
说明:显示当前登录系统终端的用户信息 格式:who【选项】【文件】
[root@ly01 ~]# who
root pts/0 2019-11-08 15:07 (10.0.0.1)
user1 pts/1 2019-11-08 15:57 (10.0.0.1)
2.4.5 w
说明:显示当前登录系统终端的用户信息,系统负载,系统时间 格式:w+【选项】+【参数-用户】
选项: 【-h】只显示用户登录信息
[root@ly01 ~]# w
15:59:27 up 52 min, 2 users, load average: 0.00, 0.01, 0.04
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10.0.0.1 15:07 7.00s 0.17s 0.02s w
user1 pts/1 10.0.0.1 15:57 1:29 0.00s 0.00s -bash
- w命令报错,提示窗口尺寸太小
[root@qls ~]# w
w: 46 column window is too narrow
//解决方法:拖动放大尺寸
- 【-h】只显示用户的登录信息
[root@qls ~]# w -h root pts/0 10.0.0.1 Wed10 6.00s 0.33s 0.00s w -h root pts/1 10.0.0.1 08:35 2:40m 0.02s 0.02s -bash root pts/2 10.0.0.1 12:03 18:46 0.01s 0.01s -bash test01 pts/3 10.0.0.1 12:03 13:58 0.63s 0.63s top
2.5 创建用户时,默认设置文件
创建用户时的默认选项在“/etc/login.defs”和“/etc/default/useradd”两个文件中配置
2.5.1 /etc/login.defs
[root@ly01 ~]# grep -Ev '^#|^$' /etc/login.defs
//过滤注释行和空行
| 文件内容 | 介绍 |
|---|---|
| MAIL_DIR /var/spool/mail | 用户邮箱 |
| PASS_MAX_DAYS 99999 | 密码最大有效期 |
| PASS_MIN_DAYS 0 | 密码修改最短间隔天数 |
| PASS_MIN_LEN 5 | 密码最短长度为5位,对root用户无效 |
| PASS_WARN_AGE 7 | 密码过期前7天会发出警告 |
| UID_MIN 1000 | 普通用户最小uid |
| UID_MAX 60000 | 普通用户最大uid |
| SYS_UID_MIN 201 | 系统用户最小uid |
| SYS_UID_MAX 999 | 系统用户最大uid |
| GID_MIN 1000 | 普通组最小GID |
| GID_MAX 60000 | 普通组最大GID |
| SYS_GID_MIN 201 | 系统组最小GID |
| SYS_GID_MAX 999 | 系统组ID最大GID |
| CREATE_HOME yes | 是否创建家目录 |
| UMASK 077 | 用户家目录权限 |
| USERGROUPS_ENAB yes | 用户创建或者删除用户的时候,如果不指定基本组,默认会创建同名组,删除时也会把组删除 |
| ENCRYPT_METHOD SHA512 | 密码的加密规则 |
2.5.1 /etc/default/useradd
| 文件内容 | 介绍 |
|---|---|
| GROUP=100 | 如果/etc/login.defs中的USERGROUPS_ENAB=NO,并且创建用户的时候没有指定基本组,系统会默认将新创建的用户基本组设置为users=100这个组 |
| HOME=/home | 用户的家目录位置 |
| INACTIVE=-1 | 账号过期停权,-1不启用 |
| EXPIRE= | 账号过期时间,不设置表示不启用 |
| SHELL=/bin/bash | 默认创建用户的命令解释器 |
| SKEL=/etc/skel | 用户家目录的模板目录 |
| CREATE_MAIL_SPOOL=yes | 是否创建用户的邮箱,默认是创建 |
2.6 创建用户密码
2.6.1 passwd
说明:设置密码,交互式的设置 格式:passwd【选项】【参数-用户名】
- 对当前用户设置密码
[root@ly01 ~]# passwd //默认对当前用户设置密码
Changing password for user root.
New password: //新密码
BAD PASSWORD: The password is a palindrome
Retype new password: //再次输入密码
passwd: all authentication tokens updated successfully.
- 对其他用户设置密码
[root@ly01 ~]# passwd test01
Changing password for user test01.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
- 普通用户只能给自己设置密码
[test01@ly01 ~]$ passwd
Changing password for user test01.
Changing password for test01.
(current) UNIX password: //旧密码
New password: //新密码
Retype new password: //再次输入
passwd: all authentication tokens updated successfully.
注意: root用户可以给任何用户设置密码,且没有密码长度的限制 普通用户只能对自己设置密码,密码长度不能小于等于8位,且不能有序。
- 免交互设置密码
[root@ly01 ~]# echo '123'|passwd --stdin goudan //显示密码+设置密码+标准输入+用户名 Changing password for user goudan. passwd: all authentication tokens updated successfully. - 随机密码
[root@ly01 ~]# echo $RANDOM
SP1:产生随机数变量,相当于/dev/random这个文件
6978
[root@ly01 ~]# echo $RANDOM|md5sum
SP2:为随机数变量添加指纹
3f2e3c61c080c01443dcad58ba2241ce -
[root@ly01 ~]# echo $RANDOM|md5sum|cut -c 1-10
SP3:取第一到第十个字符
c77f03634f
[root@ly01 ~]# echo $RANDOM|md5sum|cut -c 1-10|tee /root/passwd.txt
SP4:将随机数追加到文件中,并且打印到屏幕上
3753998b77
[root@ly01 ~]# echo $RANDOM|md5sum|cut -c 1-10|tee /root/passwd.txt |passwd --stdin goudan
SP5:设置随机密码
Changing password for user goudan.
passwd: all authentication tokens updated successfully.
注释
- tee
说明:重定向,将字符重定向到一个文件并且输出到屏幕上方 格式:tee【选项】【参数-指定输出重定向的文件】
选项 【-a】 重定向到文件时,使用追加的方式
[root@ly01 ~]# ls|tee ls.txt
anaconda-ks.cfg
finger
finger.txt
goudan
ls.txt
md5.txt
out.txt
passwd.txt
2.6.2 md5sum
说明:给文件加上指纹信息 格式:md5sum【选项】【参数-指定保存着文件名和检验和的文本文件】
选项: 【-c】检查指纹库
- 给文件创建指纹锁(为文件生成一个md5值)
[root@ly01 ~]# md5sum passwd.txt
ad13bc35970e5136e2aa07ff65c11a35 passwd.txt
- 将md5值重定向到一个文件中
[root@ly01 ~]# md5sum passwd.txt >finger.txt
- 检查指纹库,确认文件内容是否有改变
[root@ly01 ~]# md5sum -c finger.txt
//指纹文件passwd.txt未被修改
passwd.txt: OK
[root@ly01 ~]# echo '123' >passwd.txt
[root@ly01 ~]# md5sum -c finger.txt
//指纹文件passwd.txt被修改
passwd.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
2.6.4 mkpasswd
说明:生成密码
选项: 【-l】指定密码长度 【-d】指定数字(个数) 【-c】指定小写字母(个数) 【-C】指定大写字母(个数) 【-s】指定特殊字符(个数)
- 安装mkpasswd
[root@qls ~]# yum install -y expect - 生成一个随机9位密码
[root@ly01 ~]# mkpasswd
>r78oEkgI
- 生成指定位数及要求的密码
[root@ly01 ~]# mkpasswd -l 24 -c 6 -C 6 -d 6 -s 6
}=8(2XoAj#~90tlSL4D0|dGs
三、用户组管理
3.1 介绍
将同类用户分为一个组,对组操作就是对组内所有用户操作
3.2 组的分类
- 基本组:只有一个
- 附加组:可以有多个
3.3 用户组相关的文件
/etc/group和/etc/gshadow
3.3.1 /etc/group:用户组信息
[root@ly01 ~]# head -1 /etc/group
root:x:0:
| 文件内容 | 说明 |
|---|---|
| root | 用户组名 |
| x | 密码占位符 |
| 0 | 用户组的GID |
| 第四列 | 显示用户的名称,说明哪些用户将其作为附加组使用(此处是goudan),多个用户用逗号分隔 |
3.3.2 /etc/gshadow:用户组密码信息
root:::
| 文件内容 | 介绍 |
|---|---|
| root | 用户组名 |
| 第二列 | 密码,如果为空或!表示没有密码 |
| 第三列 | 用户组的管理者 |
| 第四列 | 显示用户的名称,说明哪些用户将其作为附加组使用,多个用户用逗号分隔 |
3.3 用户组相关命令
3.3.1 groupadd
说明:创建用户组 格式: groupadd【选项】【参数-用户名】
选项 【-g】设置gid信息 【-r】设置系统组
- 创建普通用户组
[root@ly01 ~]# groupadd user04
- 设置gid信息
[root@ly01 ~]# groupadd -g 1234 user05
[root@ly01 ~]# tail -1 /etc/group
user05:x:1234:
- 设置系统组
[root@ly01 ~]# groupadd -r user06 [root@ly01 ~]# tail -1 /etc/group
user06:x:996:
3.3.2 groupmod
说明:修改用户组的信息 格式:groupmod【选项】【参数】
选项: 【-g】修改GID 【-n】修改组名称
- 修改GID
[root@ly01 ~]# groupmod -g 2019 user04
[root@ly01 ~]# tail -3 /etc/group
user04:x:2019:
user05:x:1234:
user06:x:996:
- 修改用户的名称
[root@ly01 ~]# groupmod -n user07 user04
//goupmod -n 新名称 旧名称
[root@ly01 ~]# tail -3 /etc/group
user05:x:1234:
user06:x:996:
user07:x:2019:
3.3.3 groupdel
说明:删除用户组
格式:groupdel【参数】
- 删除一个组
[root@ly01 ~]# groupdel user07
[root@ly01 ~]# tail -3 /etc/group
maicai:x:1012:
user05:x:1234:
user06:x:996:
- 为用户指定基本组和附加组
[root@ly01 ~]# usermod -g user05 -G user06 goudan
[root@ly01 ~]# id goudan
uid=1008(goudan) gid=1234(user05) groups=1234(user05),996(user06)
- 查看组信息
[root@ly01 ~]# grep 'user05' /etc/group
user05:x:1234:
删除组,如果该组是用户的附加组,删除不会报错 [root@ly01 ~]# groupdel user06 [root@ly01 ~]# id goudan uid=1008(goudan) gid=1234(user05) groups=1234(user05)
删除组,如果是一个用户的基本组,会报错,删除不了
[root@ly01 ~]# groupdel user05
groupdel: cannot remove the primary group of user 'goudan'
- 无法删除组的解决方法
第一种解决方法:删除用户,在删除组(不推荐)
[root@ly01 ~]# userdel -r goudan
[root@ly01 ~]# groupdel user05
第二种方法:修改用户的基本组,再去删除
[root@ly01 ~]# usermod -g user01 goudan
[root@ly01 ~]# id goudan
uid=1013(goudan) gid=1011(user01) groups=1011(user01)
[root@ly01 ~]# userdel goudan
- 将用户从附加组中移除,如果是基本组,则无法操作
[root@ly01 ~]# usermod -G user01 goudan [root@ly01 ~]# gpasswd -d goudan user01 //附加组中移除用户 Removing user goudan from group user01
四、用户提权
4.1 介绍
- 普通公司一般禁止使用root进行远程登录,都是使用普通用户的权限操作,但如果遇到没有权限的操作则需要提权
- 提权的方式有两种:
su :切换用户
优点:简单 缺点:权限太大,需要知道root密码 sudo:提权
优点:权限清晰,给你需要的权限,不需要root的密码,缺点:配置复杂
4.2 系统shell类型
- 交互式 :等待用户输入指令 非交互式:一条命令直接执行,一般使用shell脚本
- 登录式:根据用户名和密码进行登录
非登录式:不根据密码和用户进行登录
4.3 su:切换用户
说明:切换用户 格式:su【选项】【参数-指定想要切换身份的用户】
4.3.1 su切换用户时,加载的环境变量
.bash_profile
.bashrc //个人配置文件 /etc/bashrc /etc/profile /etc/profile.d/*.sh //全局配置文件 注: *#profile类,设定环境变量,登录前运行的脚本和命令 bashrc类,设定本地变量,定义命令别名个人环境变量优先级大于全局变量*
4.3.2 环境变量执行顺序
- 登录式的shell
/etc/profile /etc/profile.d/*.sh .bash_profile .bashrc /etc/bashrc
- 非登录式的shell
[root@ly01 ~]# bash .bashrc /etc/bashrc /etc/profile.d/*.sh
4.3.3 su和su -的区别
两者区别就在于加载的环境变量不同(进入后用户所在位置不同)
- su username:非登录式的shell
- su - username:登录式的shell
4.3.4 su和su-的具体使用
- su:直接切换,使用的是、用户的环境变量
[root@ly01 ~]# su goudan
.bashrc
/etc/bashrc
/etc/profile.d/test.sh
[goudan@ly01 root]$ pwd
/root
//进的不是自己的家目录,使用的还是root的环境变量,但是如果用su -使用的就是普通用户本身的环境变量
- su -:切换,进自己的家目录,使用的是切换后的用户自身环境变量
[root@ly01 ~]# su - goudan
/etc/profile
/etc/profile.d/test.sh
.bash_profile
.bashrc
/etc/bashrc
[goudan@ly01 ~]$ pwd
/home/goudan
- 普通用户切换到root用户
[goudan@ly01 ~]$ su -
[goudan@ly01 ~]$ su - root
- root用户切换到普通用户,不需要密码
普通用户切换到其他用户,需要密码的
4.4 sudo:用于提权
说明:用于提权,以其他身份来执行命令 格式:sudo 【选项】【参数】
选项: 【-l】列出目前用户可执行与无法执行的指令
4.4.1 提权的方法
- 使用visudo命令,相当于使用vi编辑/etc/sudoers文件
4.4.2 提权步骤
- 创建用户,基本组指定为wheel,切换用户
[root@ly01 ~]# useradd -g wheel goudan //创建用户,指定组,将基本组指定为wheel(日志审计,权限较大) [root@ly01 ~]# grep 'wheel' /etc/group wheel:x:10: [root@ly01 ~]# echo '1'|passwd --stdin goudan [root@ly01 ~]# su - goudan - 查询当前用户拥有的权限
[goudan@ly01 ~]$ sudo -l //查询当前用户当前拥有的权限 [sudo] password for goudan: //输入当前用户的密码 User goudan may run the following commands on ly01: (ALL) ALL //拥有的权限 - 使用sudo提权操作
[goudan@ly01 ~]$ mkdir /goudan mkdir: cannot create directory ‘/goudan’: Permission denied //没有权限操作 [goudan@ly01 ~]$ sudo mkdir /goudan //sudo提权操作
4.4.3 限制权限
- 修改配置文件
[root@qls ~]# visudo 92gg
#示例:
goudan ALL=(ALL) /bin/cat
- 检查语法
[root@ly01 ~]# visudo -c
/etc/sudoers: parsed OK
- 创建测试用户
[root@ly01 ~]# useradd goudan
[root@ly01 ~]# echo '1'|passwd --stdin goudan
[root@ly01 ~]# su - goudan
- 检查用户拥有的权限
[goudan@ly01 ~]$ sudo -l //检查拥有权限
[sudo] password for goudan: //输入当前用户的密码
User goudan may run the following commands on ly01:
(ALL) /bin/cat //权限
- 测试用户拥有权限
[goudan@ly01 ~]$ cat /etc/shadow
cat: /etc/shadow: Permission denied
[goudan@ly01 ~]$ sudo cat /etc/shadow //测试cat权限
[goudan@ly01 ~]$ rm -rf /opt
rm: cannot remove ‘/opt’: Permission denied
[goudan@ly01 ~]$ sudo rm -rf /opt //测试其他权限
Sorry, user goudan is not allowed to execute '/bin/rm -rf /opt' as root on ly01.
- 密码的时间戳缓存,过期后需要重新输入密码
[root@ly01 ~]# ll /var/db/sudo/lectured
total 0
-rw-------. 1 root wheel 0 Nov 10 11:46 goudan
4.4.4 visudo配置用户权限写法
- Allow root to run any commands anywhere
goudan ALL=(ALL) /bin/cat //单个命令
goudan ALL=(ALL) /bin/cat,/bin/rm //多个命令
goudan ALL=(ALL) /bin/* //匹配/bin下面的所有命令
goudan ALL=(ALL) NOPASSWD: /bin/*,!/bin/su //执行命令时不需要输入密码
goudan ALL=(ALL) NOPASSWD: /bin/su //执行切换命令时 ,su - root,不需要密码
4.4.5 visudo配置组(sudo组)
sudo组的别名
User Aliases: User_Alias DEV = goudan //User_Alias 自定义组名 = 用户名
设置命令的别名
Command Aliases Cmnd_Alias READ = /bin/cat,/bin/yum
进行配置
Allow root to run any commands anywhere DEV ALL=(ALL) NOPASSWD: READ
- 创建用户测试
[root@ly01 ~]# useradd goudan
[root@ly01 ~]# echo '1'|passwd --stdin goudan
[root@ly01 ~]# su - goudan
- 查询权限
[goudan@ly01 ~]$ sudo -l
User goudan may run the following commands on ly01:
(ALL) NOPASSWD: /bin/cat, /bin/yum //因为有缓存,所以不需要输入密码,权限也对
4.4.6 visudo配置组(用户组)
- 创建测试组和用户
[root@ly01 ~]# groupadd ly01
[root@ly01 ~]# useradd test01 -g ly01
[root@ly01 ~]# echo '1'|passwd --stdin test01
- 进行配置
[root@ly01 ~]# visudo
Allows people in group wheel to run all commands %ly01 ALL=(ALL) NOPASSWD:READ //%组名+主机(角色名)+限制能使用的命令
- 检查语法
[root@ly01 ~]# visudo -c
/etc/sudoers: parsed OK
- 登录测试 ,权限修改成功
[test01@ly01 ~]$ sudo -l
User test01 may run the following commands on ly01:
(ALL) NOPASSWD: /bin/cat, /bin/yum
4.5 禁止root远程登录
- 编辑/etc/ssh/sshd_config
- 修改PermitRootLogin no
- 重启服务systemctl restart sshd