一、账号的安全控制
1.1、账号的优化
账号的优化一般分为下面几个步骤
- 将一些用户设置无法登录,防止其破坏系统
- 锁定无用账号
- 删除长期不登录的闲置账号
- 锁定用户和账号密码的配置文件,防止系统被入侵
1.2、设置用户无法登录
通常linux中想让用户无法登录,一般会将用户的shell改为 /sbin/nologin ,而/sbin/login的作用是用户无法使用bash或其他shell来登陆系统而已,并不是说这个账号就无法使用系统资源。
cat /etc/passwd|grep ^zs /////查看用户属性
usermod -s /sbin/nologin zs /////修改用户无法登录
su zs ////切换用户来验证能否登录
1.3、锁定无用账号
usermod -L zs ////锁定账号
[root@localhost ~]# cat /etc/shadow |grep ^zs # 查看密码的配置文件并检索出zs开头的用户 zs:!$6$LA7n3jCI3IvhMBHS$.9YqBUKpKwb9DHSIPX9KDVV4YJ5g04GxFQI8jdGx8XJoMqEgkdLrlAd03ahyCcjejZ7iKuO.Iv5OSlGxoSCTD.::0:99999:7::: #!表示密码是锁定状态
[root@localhost ~]# usermod -U zs #解锁zs用户的密码 [root@localhost ~]# cat /etc/shadow |grep ^zs # 查看密码的配置文件并检索出zs开头的用户 zs:$6$LA7n3jCI3IvhMBHS$.9YqBUKpKwb9DHSIPX9KDVV4YJ5g04GxFQI8jdGx8XJoMqEgkdLrlAd03ahyCcjejZ7iKuO.Iv5OSlGxoSCTD.::0:99999:7::: #密码字段开头没有!说明密码已经解锁
1.4、删除账号
[root@localhost ~]# userdel lisi #删除用户lisi
1.5、锁定用户配置文件
[root@localhost ~]# chattr +i /etc/passwd /etc/shadow ///锁定用户配置文件
[root@localhost ~]# lsattr /etc/passwd /etc/shadow ----i----------- /etc/passwd ----i----------- /etc/shadow ///查看是否处于锁定状态
1.6、密码的安全控制
已有用户设置密码
[root@localhost ~]# chage -d 0 ls # 让 ls用户下次登录必须修改密码 [root@localhost ~]# chage -M 15 ls # 设置用户ls 密码15天到期 [root@localhost ~]# cat /etc/shadow |grep ^ls ls:$6$ViTJMlj1$Xgkd1y157FqI84nodUIgJZ8.YLYH8hBO8QnpTNaGkjuQ9HjViLyDfexoD5RVy.DDrEi.rX3KZtovzbr3PqbwT1:0:0:15:7::: #第五字段有到期天数
新建用户设置密码
[root@localhost ~]# vim /etc/login.defs # 修改 /etc/login.defs 配置文件 PASS_MAX_DAYS 99999 # 密码最大有效期 PASS_MIN_DAYS 0 #两次密码修改最少间隔时间 PASS_MIN_LEN 5 #设置的密码长度,root用户无效 PASS_WARN_AGE 7 #密码过期前多少天提示
二、用户命令的权限控制
1、历史命令的管理
bash中默认命令记忆可达1000个。这些命令保存在主文件夹内的.bash_history中
设置历史命令保存个数
[root@localhost ~]# vim /etc/profile #修改历史命令的保存个数 HISTSIZE=5 #当前历史命令为5个 . /etc/profile #刷新配置文件
2、切换用户
su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码
命令格式
su 用户名
su - 用户名
su 用户名:非登录式的登录,不会读取目标用户的的配置文件,不改变当前工作目录,即未完全登录
su - 用户名:登录式切换,会读取目标用户的配置文件,切换至自已的家目录,即完全切换
[root@localhost ~]# su zs [zs@localhost root]$ pwd /root # 非登录式切换 [root@localhost ~]# su - zs 上一次登录:一 3月 7 14:33:15 CST 2022pts/0 上 [zs@localhost ~]$ pwd /home/zs #登录式切换
3、pam模块
在Linux中执行有些程序时,这些程序在执行前首先要对启动它的用户进行认证,符合一定的要求之后才允许执行,例如login, su等。在Linux中进行身份或是状态的验证程序是由PAM来进行的,PAM(Pluggable Authentication Modules)可动态加载验证模块,因为可以按需要动态的对验证的内容进行变更,所以可以大大提高验证的灵活性。
Linux-PAM有四种模块类型,分别代表四种不同的任务,它们是:
认证管理(auth),账号管理(account),会话管理(session)和密码(password)管理,一个类型可能有多行,它们按顺序依次由PAM模块调用。
4、sudo
sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等等。这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性。Sudo不是对shell的一个代替,它是面向每个命令的。
给用户添加命令
[root@localhost ~]# vim /etc/sudoers # 进入提权的配置文件 zs ALL=(root) /usr/sbin/useradd, /usr/bin/su,/usr/sbin/which 加权限,这里的/usr/sbin/useradd ,/usr/bin/su, /usr/bin/which表示普通用户执行时必须使用全路径
5、grub加密
设置grub密码:
众所周知,通过编辑GRUB启动参数可以轻松的进入单用户模式从而修改root密码,这对于一台多用户的计算机或服务器来说,无疑增加了安全隐患。大家一定很像为自己的GRUB加一把锁吧,大家可以通过GRUB的password参数对GRUB设置密码。
给cenos 6 grub 加密
[root@kgc ~]# grub2-mkpasswd-pbkdf2 #根据提示设置GRUB菜单的密码 输入口令: Reenter password: 123456 PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.E96097D1B1E470345D9FB62759335832B4A0F39CD4C9A57B502BD59CF1B8C393EEA37847984E242AAD4BFBB72E4BDC2196E6A7495CE7C86BF3D2498A34CAC2B7.B2EB99ED40267AE9496357B78C0DC04CE79957980A4A3FFA577B7502D70A5412D2EAD5CE4DAAC0FE068621CB29B76E44A7645EDCC7784FF20E113AF0B95E3467i [root@kgc ~]# cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak [root@kgc ~]# cp /etc/grub.d/00_header /etc/grub.d/00_header.bak #备份文件 [root@kgc ~]# vim /etc/grub.d/00_header #最后 cat << EOF set superusers="root" #设置登录用户 password_pbkdf2 root #设置密码 grub.pbkdf2.sha512.10000.E96097D1B1E470345D9FB62759335832B4A0F39CD4C9A57B502BD59CF1B8C393EEA37847984E242AAD4BFBB72E4BDC2196E6A7495CE7C86BF3D2498A34CAC2B7.B2EB99ED40267AE9496357B78C0DC04CE79957980A4A3FFA577B7502D70A5412D2EAD5CE4DAAC0FE068621CB29B76E44A7645EDCC7784FF20E113AF0B95E3467i EOF 使用 grub2-mkconfig 命令生成新的 grub.cfg 配置文件。 [root@kgc ~]# grub2-mkconfig -o /boot/grub2/grub.cfg //生成新的 grub.cfg 文件 重启系统进入GRUB菜单时,按e键将需要输入账号密码才能修改引导参数。 cat << EOF set superusers="root" password_pbkdf2 root grub.pbkdf2.sha512.10000.4F3CD9383616C3AAFB1E98A289CB707A6FEEDAE7BEFB10A59642FE641C8F13AD9A27EAD43DEB07D9F4228149C716FA40C8C04E13E98FFAC45EF7AA2AD76C96B9.49CEC46B324DC9A94D0B461C711569ADB79213708929B1891232DB5FE31EC6F5A0A4E4D0A4AA0EAA64E38A6876EEB3B5EBF8991D0FB04537E1F39D1AA40D1AD5 EOF cat << EOF set superusers="用户" password_pbkdf2 用户 加密密码 EOF
给cenos 7 配置 grub密码
[root@localhost ~]# grub2-setpassword
标签:系统安全,密码,用户,etc,应用,Linux,root,localhost,zs From: https://www.cnblogs.com/zhao222/p/16789069.html