用户安全管理的常用命令

在生产环境中,一般基于安全的理由,需要对一些系统在安装时产生的、非不要的、不会使用的用户进行一些删除处理,避免这些用户被人爆破入侵,对系统产生危害。

用户信息查看

对于这些用户的管理可以使用以下的几个命令 - 查看当前登录的用户有那些可以使用: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用户来操作:

  1. 修改/etc/sudoers文件,将# %wheel ALL=(ALL) ALL前面的#号去掉。
  2. 同样是修改/etc/sudoers文件,但是就只是添加需要成为管理员的用户权限,内容为需要成为管理员的用户名 ALL=(ALL) ALL.(推荐使用这种方式)
  3. 修改/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的服务才生效。