目录
一、账号、文件安全的措施
1、将非登录用户设置为nologin
禁止用户登录:(使用户无法登录系统)
usermod -s /sbin/nologin 用户名
允许账户登录系统:
usermod -s /bin/bash 用户名
2、锁定长期不使用的账号
锁定账户:(普通用户无法登录,但root用户可以切换到该被锁定的用户)
usermod -L 用户名
解锁账户:
usermod -U 用户名
锁定密码:(锁定密码也可以做到锁定账户的功能,即该普通用户无法登录)
passwd -l 用户名
解锁密码:
passwd -u 用户名
3、删除无用的账号
删除用户的同时一并删除该用户的家目录:
userdel -r 用户名
4、锁定重要文件
重要文件有/etc/passwd、/etc/shadow、/etc/fatab、进程的重要配置文件
锁定文件,无法修改,只读:
chattr +i 文件名
解锁文件:
chattr -i 文件名
5、密码控制
1、对新建用户进行密码有效期控制:
更改/etc/login.defs配置文件
PASS_MAX_DAYS(大概在第25行,默认值为99999)的值改为 30,即设置新建用户的密码有效期为30天
2、更改已有用户的密码有效期:
chage -M 密码有效期天数 用户名
6、限制命令的历史记录
步骤如下:
1、更改/etc/profile配置文件,这是linux系统全局配置文件,对所有用户生效:
vim /etc/profile
2、将HISTSIZE的数值改为80(一般60~100即可),这样就可以做到当输入history命令查看命令的历史记录时,最多只显示80个命令行:
HISTSIZE=80
:wq(保存退出/etc/profile)
3、source /etc/profile (使配置文件立刻生效,无需重启)
7、设置远程登录超时时间
步骤如下:
1、在/etc/profile配置文件的末行添加新内容
2、添加内容为
TMOUT= 600(600代表超时的数值,单位为秒,即10分钟未操作则自动退出)
3、source /etc/profile(使配置文件立刻生效,无需重启)
8、限制用户命令权限
一、限制所有用户的su命令切换用户操作(慎用,别用)
vim /etc/pam.d/su
在第六行取消注释(注意:所有用户切换都会受限!):
:wq!保存退出
二、将用户加入wheel组
wheel组通常被用作具有管理员权限的用户组,其成员可以使用sudo命令来执行需要超级用户权限的操作。
wheel默认为空,需要管理员手动添加
配置wheel组权限,注意权限最小化,即仅设置用户需要使用的命令,任务所需最小权限
gpasswd -a 用户名 wheel
三、sudo授权
/etc/sudoers文件,这个文件默认权限是400,保存时必须wq!/etc/sudoers文件定义了哪些用户可以使用sudo命令以及允许他们执行哪些特权操作。
如果一个Linux用户不在sudoers文件中,就意味着该用户无法使用sudo命令来执行超级用户的特权操作。为了让该用户拥有sudo权限,需要对sudoers文件进行修改。
修改sudoers文件步骤:
1、vim /etc/sudoers
2、将107行和110行代码注释掉(110行一般默认被注释的):
3、在末行加入需要添加的用户和指定的命令
格式为:用户名 ALL=(root) 命令
例: gz ALL=(root) /sbin/ifconfig(gz输入:ifconfig ens33 192.168.74.100也不会报错了)
4、保存退出/etc/sudoers文件,退出后文件自动生效
9、设置GRUB密码
GRUB ( GRand Unified Bootloader) 的功能是在启动时从 BIOS 接管掌控、加载自身、加载 Linux 内核到内存,然后再把执行权交给内核。建议通过设置密码来保护GRUB的安全性。
设置GRUB密码:
grub2-setpassword
10、改掉一些大家都知道的服务端口号
通过更改端口号,可以增加服务器的安全性,减少受到常见攻击的风险。也可以避免存在多个服务同时使用相同的默认端口号的冲突。