在linux的日常使用中,我们有时候会将一些不需要登录的用户取消登录资格,就可以使用以下命令将他们取消这
usermod -s /sbin/nologin 用户名 #将非登录的用户的Shell设为/sbin/nologin
usermod -L #锁定用户账户
passwd -l #锁定用户账户
passwd -u #解锁用户账户
usermod -U #解锁用户账户
passwd -S #查看用户账户的状态(是否被锁定)
这里额外写一种:passwd -d #清空指定用户的密码,仅使用用户名即可登录
userdel [-r] 用户名 #“-r”可以将该用户的宿主目录一并删除
chattr +i passwd shadow 锁定账号
chattr -i passwd shadow 解锁账号
lsattr passwd 查看账号
设置密码有效期
vim /etc/login.defs
修改密码配置文件,适用于新建用户
chage -M 10 muzi 老用户可以使用这个。
chage -d 0 muzi 下次登陆时必须修改密码
把shadow文件中的第三个字段被修改为0
如果我们新建立用户,可以在修改密码配置文件,这样后面新建的用户密码有效期都会按照配置文件来做
在平时使用的时候,我们可以通过history来查询我们之前进行的操作,非常的方便,但是有些时候,某些不法分子会通过查看我们之前的操作,来进行一些不法操作,这时候我们就可以通过限制命令条数来减少该风险的发生。
vi /etc/profile
export HISTSIZE=200 #减少记录的命令条数
. /etc/profile 或者 source /etc/profile #配置完输入可以重新加载
vi ~/.bashrc
echo"" >.bash_history
#登录时自动清空记录
export TMOUT=600
闲置600秒自动注销(注销的是终端)
或者我们可以通过在每次开机时清空.bash_history文件,来让开机之后查不到我们上次的操作指令
3.1 PAM概述
3.2 PAM认证原理
(一)第一列代表PAM认证模块类型
(二)第二列代表PAM控制标记
required:表示需要返回一个成功值,如果返回失败,不会立刻将失败结果返回,而是继续进行同类型的下一-验证,所有此类型的模块都执行完成后,再返回失败。
requisite:与required类似,但如果此模块返回失败,则立刻返回失败并表示此类型失败。
sufficient:如果此模块返回成功,则直接向程序返回成功,表示此类成功,如果失败,也不影响这类型的返回值。
optional:不进行成功与否的返回,一般不用于验证,只是显示信息(通常用于session 类型)。
include:表示在验证过程中调用其他的PAM配置文件。比如很多应用通过完整调用/etc/pam.d/system-auth (主要负责用户登录系统的认证工作)来实现认证而不需要重新逐—去写配置项。
(三)第三列代表PAM模块
默认是在/lib64/security/目录下,如果不在此默认路径下,要填写绝对路径。
同一个模块,可以出现在不同的模块类型中,它在不同的类型中所执行的操作都不相同,这是由于每个模块针对不同的模块类型编制了不同的执行函数。
(四)第四列代表PAM模块的参数
控制标记的补充说明:
这个就比较简单,只需要在su 后面加上你想去的用户名就可以了,但需要注意的是,从root用户su到别的用户时候,可以直接过去,但当从其他用户su回root的时候,则需要密码和赋权。
su - 用户名
在有些时候,因为su命令可以切换到别的用户,很容易被别人暴力破解,这时候我们就需要使用su赋权了,只给自己信任的人su命令。
在/etc/pam.d/su文件里设置禁止用户使用su命令
vim /etc/pam.d/su
auth sufficient pam_rootok.so
..........
#auth required pam_wheel.so use_uid
..........
gpasswd -a muzi wheel #将muzi加入到wheel组中
vi /etc/pam.d/su
#%PAM-1.0
auth sufficient pam_rootok.so
auth required pam_wheel.so use_uid
sudo命令的用途及用法
用途:以其他用户身份(如root)执行授权的命令
命令
sudo 授权命令
我现在改一个普通用户上面进行修改网卡,但是它提示说权限不足,这时候就需要用到sudo命令,来为我们的普通用户进行提权。
这时候,我们进入visudo文件中,修改nannan这个用户的赋权,给予它修改网卡以及重启的权力
这样的话,我们的重置网卡就成功了。但是在使用命令的时候,一定要在命令前面加入sudo命令,否则无法使用命令,
语法格式:
用户 主机名=命令程序列表
用户 主机名=(用户) 命令程序列表
主要是用于记录别的主机使用sudo的记录
visudo
Defaults logfile = /var/log/sudo
查看sudo使用情况
cd /var/log/
cat sudo