用户安全管理的常用命令
在生产环境中,一般基于安全的理由,需要对一些系统在安装时产生的、非不要的、不会使用的用户进行一些删除处理,避免这些用户被人爆破入侵,对系统产生危害。
用户信息查看
对于这些用户的管理可以使用以下的几个命令
- 查看当前登录的用户有那些可以使用:who
- 查看用户的登陆历史可以用:last
- 查看用户的登录失败信息,也就是那些尝试爆破的信息:lastb
- 查看当前系统中都有哪些用户,用cat命令查看/etc/passwd文件
- 查看单钱系统中都有哪些用户组,用cat命令查看/etc/group文件
删除多余用户
通过上面的查找,可以把系统中多余的用户和用户组都删除掉。以此来提高安全性和管理用户。 一般情况下,可以删除的多余用户有:
sync
shutdown
halt
uucp
operator
games
gopher
多余的用户组包括:
adm
games
lp
dip
创建新用户并赋权
由于超级管理员root的权限过于完整和强大,一般情况下使用,都会创建另外一个用户,并给这个用户赋予一定的权限,或者与root用户相等的权限,新创建的管理员用户通过sudo来操作/etc/sudoers中赋予的管理权限的命令。并禁用root用户来防止root用户被爆破。产生极大的危害性。
使用下面的命令创新用户和给用户添加密码
# 创建新用户
adduser 用户名
# 修改用户密码
passwd 用户名
新用户创建完成后,如果是管理用户,还需要赋予root的权限,否则但使用sudo的使用,会提示该用户不在sudoer的名单中。
给用户赋予root的权限有下面的三种做法,这三种做法都需要使用root用户来操作:
- 修改
/etc/sudoers文件,将# %wheel ALL=(ALL) ALL前面的#号去掉。 - 同样是修改
/etc/sudoers文件,但是就只是添加需要成为管理员的用户权限,内容为需要成为管理员的用户名 ALL=(ALL) ALL.(推荐使用这种方式) - 修改
/etc/passwd文件,找到需要成为管理员的用户名,修改其用户ID为0,例如:
text
ESXiuser: x: 1000: 1000: ESXiuser:/home/ESXiuser:/bin/bash
# 修改代表用户ID的第3列为零
ESXiuser: x: 0: 1000: ESXiuser:/home/ESXiuser:/bin/bash
锁定用户管理的关键性文件
Linux找那个的用户信息和用户的口令信息是保存在/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow这个几个文件当中。可以修改这几个文件的属性来提高其安全性。通过root用户使用chattr命令为文件添加一个不可修改、删除和重命名的i属性。具体的命令格式如下:
# 添加i属性锁定文件
chattr +i 文件名
# 解除文件的i属性
chattr -i 文件名
禁用root用户的远程登录
打开ssh的配置文件,也就是/etc/ssh/sshd_config。修改以下的两项内容:
PermitRootLogin no
PermitEmptyPasswords no
如果找不到这两项,可以手动自己添加,这两项的作用为禁止root用户的远程登录和禁止空白密码的用户登陆。修改完成后需要重启ssh的服务才生效。