usermod -s /sbin/nologin 用户名
usermod -L 用户名 //锁定用户账户
passwd -l 用户名 //锁定用户密码
passwd -S 用户名 //查看用户状态
userdel -r 用户名 //删除用户及其宿主目录
passwd -d 用户名 //清空账户密码
chattr +i /etc/passwd /etc/shadow //锁定文件
lsattr /etc/passwd /etc/shadow //查看文件状态
chattr -i /etc/passwd /etc/shadow //解锁文件
vi /etc/securetty
#tty5
//想要不让在哪个终端登陆就在该终端前加注释#
tty6
touch /etc/nologin
//创建/etc/nologin文件即禁止普通用户登录
rm -rf /etc/nologin
//删除该文件即取消登录限制
chage -M 日期 用户 //设置用户密码有效期
chage -E xxxx-xx-xx //设置过期日期
[xxxx为年][xx为月]-[xx为日]
vim /etc/login.defs //修改密码配置文件适用于新建用户
chage -d 0 用户 //强制在下次登陆时更改密码
不法分子会查看上次输入的记录,可能导致root密码等重要信息揭露
vi /etc/profile //编辑全局变量配置文件
export HISTZIZE=200 //将内容插入最后一行
vim ~/.bashrc
echo " " > ~/.bash_history //将内容插入最后一行
当终端处于闲置一段时间后实现自动注销
vim /etc/profile //编辑全局变量配置文件
export TMOUT=600 //将内容插入最后一行
su命令使得每个用户都具有反复尝试其他用户的登陆密码,若是root用户,则风险更大
vim /etc/pam.d/su
su
命令进行切换的su
命令,但root
下使用su
切换到其他普通用户需要输入密码;如果第一行不注释,则root
使用su
切换普通用户就不需要输入密码pam_rootok.so模块的主要作用是使uid为0的用户,即 root用户能够直接通过认证而不用输入密码
root
用户和wheel
组内的用户才可以使用su
命令wheel
组内的用户才能使用su
命令,root
用户也被禁用su
命令►第一列代表PAM认证模块类型
①auth
:对用户身份进行识别,如提示输入密码,判断是否为root。
②account
:对账号各项属性进行检查,如是否允许登录系统,帐号是否已经过期,是否达到最大用户数等。
③password
:使用用户信息来更新数据,如修改用户密码。
④session
:定义登录前以及退出后所要进行的会话操作管理,如登录连接信息,用户数据的打开和关闭,挂载文件系统。
►第二列代表PAM控制标记
①required
:表示需要返回一个成功值,如果返回失败,不会立刻将失败结果返回,而是继续进行同类型的下一验证,所有此类型的模块都执行完成后,再返回失败。
②requisite
:与required
类似,但如果此模块返回失败,则立刻返回失败并表示此类型失败。
③sufficient
:如果此模块返回成功,则直接向程序返回成功,表示此类成功,如果失败,也不影响这类型的返回值。
④optional:不进行成功与否的返回,一般不用于验证,只是显示信息(通常用于 session
类型)。
⑤include
:表示在验证过程中调用其他的PAM配置文件。比如很多应用通过完整调用/etc/pam.d/system-auth
(主要负责用户登录系统的认证工作)来实现认证而不需要重新逐一去写配置项。
►第三列代表PAM
模块,默认是在/lib64/security/
目录下,如果不在此默认路径下,要填写绝对路径。
►第四列代表PAM
模块的参数,这个需要根据所使用的模块来添加。
vim /etc/pam.d/su
#auth required pam_wheel.so use_uid
//去除此段的#
gpasswd -a fox wheel //将用户“fox”加入到whell组中
►Linux-PAM
是linux
可插拔认证模块,是一套可定制、可动态加载的共享库,使本地系统管理员可以随意选择程序的认证方式
►PAM
使用/etc/pam.d/
下的配置文件,来管理对程序的认证方式。应用程序调用相应的PAM配置文件,从而调用本地的认证模块,模块放置在/lib64/security
下,以加载动态库的形式进行认证。比如使用su
命令时,系统会提示输入root
用户的密码,这就是su
命令通过调用PAM
模块实现的
查看su操作记录
安全日志文件:/var/log/secure
cat /var/log/secure
►PAM
认证一般遵循的顺序:Service
(服务)→PAM
(配置文件)→pam_*.so
(认证模块)
►PAM
认证首先要确定哪一项应用服务,然后加载相应的PAM的配置文件(位于/etc/pam.d
下),最后调用认证模块(位于 /lib64/security/
下)进行安全认证
►用户访问服务器的时候,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证。不同的应用程序所对应的PAM 模块也是不同的
如果想查看某个程序是否支持 PAM
认证,可以用 ls
命令进行查看/etc/pam.d/
ls /etc/pam.d/ //PAM配置文件
ls /lib64/security/ //认证模块
vim /etc/sudoers //默认为只读,保存方式:wq!
或
visudo
►格式1:用户 主机名=命令程序列表
►格式2:(用户) 主机名=命令程序列表
fox foxhome=/sbin/ifconfig //使fox拥有ifconfig权限
fox foxhome=!/sbin/reboot //使fox没有reboot权限
fox foxhome=/sbin/* //使fox拥有所有sbin权限
fox foxhome=/sbin/reboot,poweroff //加逗号自定义
►用户别名 User_Alias
►主机别名 Host_Alias
►命令别名 Cmnd_Alias
User_Alias USERS=fox,cat
//用户的别名users包含fox和cat
Host_Alias HOSTS=foxhome,cathome
//主机别名hosts包括:foxhome和cathome
Cmnd_Alias CMNDS=/sbin/reboot,poweroff
//可执行的命令包括关机和重启
USERS HOSTS=CMNDS
//相当于:用户组 主机组 = 命令程序列表
不法分子会借着开关机的期间进入BIOS界面篡改GRUB的内容,最后导致服务器无法正常开启
grub2-mkpasswd-pbkdf2
从grub到最后都是密钥,记得保存好
创建登录用户前记得先备份
//对重要文件进行备份
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
cp /etc/grub.d/00_header /etc/grub.d/00_header.bak
vim /etc/grub.d/00_header