将用户设置为无法登录(usermod -s /sbin/nologin)
[root@localhost ~]# tail /etc/passwd ? ? ??
#查看lisi的属性[root@localhost ~]# chsh -s /sbin/nologin lisi ? ??
#修改lisi的shell属性
Changing shell for lisi.
Shell changed.
[root@localhost ~]# tail -1 /etc/passwd?? ??? ??? ??? ?
#查看lisi的属性
lisi:x:1001:1001::/home/lisi:/sbin/nologin
usermod
锁定账户 (usermod -L)
[root@localhost ~]# passwd -l zhaosi
锁定用户 zhaosi 的密码 。
passwd: 操作成功
[root@localhost ~]# su zhangsan
[zhangsan@localhost root]$ su zhaosi
密码:
su: 鉴定故障
[root@localhost ~]# passwd -u zhaosi
解锁用户 zhaosi 的密码。
passwd: 操作成功
[root@localhost ~]# passwd -u zhaosi
解锁用户 zhaosi 的密码。
passwd: 操作成功
[root@localhost ~]# su zhangsan
[zhangsan@localhost root]$ su zhaosi
密码:
[zhaosi@localhost root]$?
删除账户 (userdel -r)
userdel -r ?用户名
家目录?家目录 ? 无主文件 ?前主人的uid
锁定账户密码 本质锁定
设置随机密码,7天改一次,对密码复杂性有要求
shell——/sbin/nologin却比较特殊,所谓“无法登陆”指的仅是这个用户无法使用bash或其他shell来登陆系统而已,并不是说这个账号就无法使用系统资源。举例来说,各个系统账号中,打印作业有lp这个账号管理,www服务器有apache这个账号管理,他们都可以进行系统程序的工作,但就是无法登陆主机而已。
+i :锁定文件
-i :解锁文件
[root@localhost ~]# chattr +i /etc/passwd /etc/shadow
#+i ---锁定文件
[root@localhost ~]# useradd liqi
useradd:无法打开 /etc/passwd
[root@localhost ~]# lsattr /etc/passwd /etc/shadow
----i----------- /etc/passwd
----i----------- /etc/shadowchattr -i /etc/passwd /etc/shadow ?#解锁文件
su 不加-:不完全切换
su 加-:完全切换
wheel:超级管理员组
切换用户的方式:
su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录,即不完全切换
su - UserName:登录式切换,会读取目标用户的配置文件,切换至自已的家目录,即完全切换
说明:root su至其他用户无须密码;非root用户切换时需要密码
注意:su 切换新用户后,使用 exit 退回至旧的用户身份,而不要再用 su 切换至旧用户,否则会生成很多的bash子进程,环境可能会混乱。
su 与 su-
即有 - 选项,切换用户身份更彻底;反之,只切换了一部分,这会导致某些命令运行出现问题或错误(例如无法使用 service 命令)。
[zhangsan@localhost ~]$ pwd
/home/zhangsan
[zhangsan@localhost ~]$ su?
密码:
[root@localhost zhangsan]# pwd
/home/zhangsan
[zhangsan@localhost ~]$ su -
密码:
上一次登录:二 7月 13 10:24:14 CST 2021pts/1 上
[root@localhost ~]# pwd
/root
限制使用su命令的用户
[root@localhost ~]# gpasswd -a lisi wheel
#将用户加入 wheel组 root[root@localhost ~]#vim /etc/pam.d/su
#开启服务
#auth ? ? ? ? ? required ? ? ? ?pam_wheel.so use_uidvim /etc/pam.d/su
2 # auth sufficient pam_ rootok.so
6 #auth required pam_ wheel.so use_ _uida)以上两行是默认状态(即开启第一行,注释第二行),这种状态下是允许所有用户间使用su命令进行切换的。
b)两行都注释也是允许所有用户都能使用su命令,但root'下使用su切换到其他普通用户需要输入密码;如果第一行不注释,则root使用su切换普通用户就不需要输入密码(pam rootok. so模块的主要作用是使uid为0的用户,即root用户能够直接通过认证而不用输入密码。)
c)如果开启第二行,表示只有root用户和wheel组内的用户才可以使用su命令
d)如果注释第一行,开启第二行,表示只有whee1组内的用户才能使用su命令,root用户也被禁用su命令。
su
?
PAM提供了对所有服务进行认证的中央机制,适用于本地登录,远程登录,如:telnet,rlogin,fsh,ftp,点对点协议PPP,su等应用程序中,系统管理员通过PAM配置文件来制定不同应用程序的不同认证策略;应用程序开发者通过在服务程序中使用PAM API(pam_xxxx( ))来实现对认证方法的调用;而PAM服务模块的开发者则利用PAM SPI来编写模块(主要调用函数pam_sm_xxxx( )供PAM接口库调用,将不同的认证机制加入到系统中;PAM接口库(libpam)则读取配置文件,将应用程序和相应的PAM服务模块联系起来。重复利用别人的开发的功能,不必自己开发,会话,密码验证等功能,已经做好了调用下就可以了未来通用性,所以有了pam框架,类似淘宝 一边普通买家,一边卖家,淘宝上既是买家也是卖家
/usr/lib64/security:存放功能模块
/etc/pam.d:配置文件
当用户来访问某一程序,如果这个程序启动用了pam模块,会先去读取配置文件,按照配置文件调用模块,进行操作
Auth:验证用户身份,按照身份给你相应权限
Account:验证账户是否有效
password:账户密码是否有效
session:管理会话,可以使用多少资源
— :这个模块可能没有
required:一票否决,最后一定失败,但是会继续进行验证
requisite:一票否决,如果失败,会立即结束验证,反馈失败
sufficient:验证成功则立即返回结果(前两个有一个失败,则为失败)
作用:控制进程占用资源
/etc/security? ?中的? ?limits.conf文件
作用:控制进程打开的数量
例如:
lisi? ? ? ? ? ? ? ?-? ? ? ? ? ? ? nproc? ? ? ? ? ? ? ? ? ?5
代表 lisi 这个用户在系统上只能打开五个进程
ab -c1025 -n 5000 http://192.168.91.100 ab:压测工具
su root---以管理员身份使用
sudo的配置文件是 sudoers 文件;位置:/etc/sudoers,属性为0440
作用:管理用户的使用权限和使用的主机
别名类型:?
User_Alias(用户)
Runas_Alias(代表用户)
Host_Alias(登录主机)
Cmnd_Alias(命令)
别名格式:必须大写字母,数字可以使用但是不能放在开头
###别名
Host_Alias MYHOSTS = kgc,localhost
User_Alias MYUSERS = zhangsan,wangwu,lisi
Cmnd_Alias MYCMNDS = /sbin/*,!/sbin/reboot,!/sbin/poweroff,!/sbin/init,!/usr/bin/rm
root ALL=(ALL) ALL 任意机器上的root用户可以在本机执行任何命令
root:哪个用户要使用命令 lisi zhangsan
ALL:哪台主机
(ALL):以谁的身份运行,一般写超级管理员root
ALL:所有命令
pam_rootok.so root不需要密码
pam_wheel.so 只有wheel组才可以切换
安全加固:
用户
删除长期不登陆的用户
锁定一些重要文件密码策略
将一些常用端口改掉
sudo