管理终端登录
[root@localhost ~]# grep "/sbin/nologin$" /etc/passwd
表示禁止终端登录,应确保不被人改动
输出结果:
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
libstoragemgmt:x:998:995:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
colord:x:997:994:User for colord:/var/lib/colord:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
saned:x:996:993:SANE scanner daemon user:/usr/share/sane:/sbin/nologin
gluster:x:995:992:GlusterFS daemons:/run/gluster:/sbin/nologin
saslauth:x:994:76:Saslauthd user:/run/saslauthd:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin setroubleshoot:::993:990::/var/lib/setroubleshoot:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
chrony:x:992:987::/var/lib/chrony:/sbin/nologin
unbound:x:991:986:Unbound DNS resolver:/etc/unbound:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
sssd:x:990:984:User for sssd:/:/sbin/nologin usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
geoclue:x:989:983:User for geoclue:/var/lib/geoclue:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin gdm:x:42:42::/var/lib/gdm:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
gnome-initial-setup:x:988:982::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin
账号管理
[root@localhost ~]# usermod -L chen
-L表示:锁定账号
[root@localhost ~]# passwd -S chen
-S表示:查看账号状态
输出结果:
chen LK 2025-02-27 0 99999 7 -1 (Password locked.) [root@localhost ~]# usermod -U chen
-U表示:解锁账号
[root@localhost ~]# passwd -S chen
输出结果:
chen PS 2025-02-27 0 99999 7 -1 (Password set, SHA256 crypt.)
文件管理
+i表示:锁定状态
[root@localhost ~]# chattr +i /etc/passwd /etc/shadow
查看文件状态
[root@localhost ~]# lsattr /etc/passwd /etc/shadow ----i----------- /etc/passwd ----i----------- /etc/shadow
-i表示:解锁状态
[root@localhost ~]# chattr -i /etc/passwd /etc/shadow
查看文件状态
[root@localhost ~]# lsattr /etc/passwd /etc/shadow ---------------- /etc/passwd ---------------- /etc/shadow
锁定文件 (锁定文件后无法打开文件)
[root@localhost ~]# chattr +i /etc/passwd /etc/shadow
查看文件
[r 结果:
useradd: cannot open /etc/passwd
密码安全控制
通过更改文件,改变密码期限
[root@localhost ~]# vi /etc/login.defs (适用于新建的用户)
删除前面的#,将days 后改为30
PASS_MAX_DAYS 30 (用户密码有效期30天)
用命令对已创建的lisi用户,改变命令期限
[root@localhost ~]# chage -M 30 lisi
设置用户下次登录就要修改密码:
[root@localhost ~]# chage -d 0 lisi
将历史命令改为存储上限为200
[root@localhost ~]# vi /etc/profile
[root@localhost ~]#export HISTSIZE=200
当用户退出已登录bash环境,
[root@localhost ~]# vi ~/.bash_logout
#~/.bash_logout
histoy -c clear
:x (保存cat 查看~/.bash_logout文件)
[root@localhost ~]# vi /etc/profile
......//省略部分内容
export TMOUT=600 (编辑/etc/profile文件)
[root@localhost ~]# export TMOUT=600
闲置600s自动账户注销,
切换用户
su命令
[jerry@localhost ~]s su - root //输入用户 root的口令
密码: [root@localhost ~]# //验证成功后获得 root权限
添加到组
[root@localhost ~]# gpasswd -a tsengyia wheel
正在将用户"tsengyia"加入"wheel"组中 //添加授权用户 tsengyia
[root@localhost ~]# grep wheel /etc/group //确认 wheel 组成员
wheel:x:10:tsengyia
[root@localhost~]# vi /etc/pam.d/su
启用 pam_wheel 认证以后,未加入 wheel 组内的其他用户将无法使用"su"命令,尝试进行切换时会提示"拒绝权限",将切换用户的权限控制在最小
[jerry@localhost ~]$su-root //尝试切换为 root 密码: su:拒绝权限
在/cic/sudoens 配置文件中,授权记录的
基本配置格式如下: user MACHINE=COMMANDS
注:
用户(user):直接授权指定的用户名,或采用"%组名"的形式授权一个组的所有用户,
主机(MACHINE):使用此配置文件的主机名称。此部分主要是方便在多个主机间共用同份 sudoers 文件,一般设为 localhost 或实际的主机名即可。
命令(COMMANDS):允许授权的用户通过sudo方式执行的特权命令,需填写命令程产完整路径,多个命令之间以逗号""进行分隔。
能够执行"ifconfg"命令来修改IP地址,而 whecl组的用户无须验证密码即可执行任何命令,可以执行以下命令。 [root@localhost~]# visudo//省略部分内容 Jerry localhost=/sbin/ifconfig &wheel ALL=NOPASSWD:ALL
当使用相同授权的用户较多,或者授权的命令较多时,可以采用集中定义的别名。用户,主机命令部分都可以定义为别名[必须为大写],分别通过关键字User_Alias、Host_Alias、Cmmd进行设置。
例如,执行以下命令通过别名方式来添加授权记录,允许用户jemy、tom、tsengsmtp、pop 中执行"rpm"和"yum"命令。 [root@localhost )# visudo
sudo配置记录的命令部分允许使用通配符"*",取反符号"!",它们常被用于授权某个目录下的所有命令或取消其中个别命令。例如,若要授权用户syimner可以执行sbin/目录下除ifconfg.route外的其他所有命令程序,那么可以执行以下命令。 [root@localhost ~]# visudo
默认情况下,通过 sudo 方式执行的操作并不记录。
若要启用 sudo 日志记录以备管理员查看,那么应在/etc/sudoers 文件中增加"Defaults logfle"设置。 [root@localhost ~]# visudo //查找 Defaults,在前面添加一行内容
//省略部分内容
对于已获得授权的用户,通过sudo 方式执行特权命令时,只需将正常的命令作为"sudo"命令的参数即可。由于特权命令程序通常位于/sbin、/usr/sbin 等目录下,所以普通用户执行时应使用绝对路径。以下命令验证了使用 sudo 方式执行命令的过程。
[jerry@localhost ~]s/sbin/ifconfig ens33:0 192.168.1.11/24//
未用 sudo 的情况SIOCSIFADDR:不允许的操作 SIOCSIFFLAGS:不允许的操作 SIOCSIFNETMASK:不允许的操作 [jerry@localhost ~]$ sudo /sbin/ifconfig ens33:0 192.168.1.11/24//
查询结果 [sudo] password for jerry:
[jerry@localhost ~]$/sbin/ifconfig ens33:0 ......//省略部分内容 //验证 jerry 的密码//查看执行结果
若要查看用户自己获得了哪些 sudo 授权,那么可以执行"sudo -1"命令进行查看。(未授权的用)将会得到"may notrun sudo"的提示,
已授权的用户则可以看到自己的 sudo 配置。 [syrianer@localhost ~]$ sudo -l
开关机安全控制
调整 BIOS引导设置 (1)将第一优先引导设备(First BootDevice)设为当前操作系统所在磁盘。 (2)禁止从其他设备(如光盘、U盘、网络等)引导操作系统,对应的项设为"Disabled"
(3)将 BIOS 的安全级别改为"setup",并设置好管理密码,以防范未授权的修改。
禁止 Ctrl+Alt+ Del 组合键重启
组合键重启功能为服务器的本地维护提供了便利,但对于多终端登录的Linux 服务器而言,禁用此功能是比较安全的
在CentoS7操作系统中,执行"cat/etcinittab"命令可知 Ctrl+Alt+De组合键功能由/usr/lib/systemd/system/ctrl-alt-del.target 文件进行设置。
查看/usr/lib/systemd/systemlctlalt-del.target 文件发现,
cirl-alt-del.target是reboot,target 文件的软链接文件。
[root@localhost]# cat /etc/inittab
在不影响 reboot.target 文件的前提下执行以下命令即可禁用 Cu+AH+DeL组合键功能, [rootelocalhost~]#systemctl mask ctrl-alt-del.target
//注销ctr1-alt-de1 服务
服务created symlink from /etc/systemd/system/ctrl-alt-del.target to /dev/null.
[root@localhost~]# systemctl daemon-reload //重新加载 systemd 配置
小结:
systemctl mask命令用于注销指定服务,例如,systemctlmask cpu.service命令用于注销 CPU务,取消注销则使用systemctl umask命令。因此,若想重新开启 Ctl+Alt+Del 组合键功能,则需执行systemctlunmask ctrl-alt-del.target命令,然后刷新配置即可。
为 GRUB 菜单设置的密码建议采用
"grub2-mkpasswd-pbkdf2"命令生成。生成密码后,在/etc/grub.d/00 header 配置文件中添加对应的用户密码等配置,具体添加内容如下:
[root@localhost~]# grub2-mkpasswd-pbkdf2
Enter password: //根据提示设置密码 Reenter password:
//经过加密的密码字符串
[root@localhost ~]#cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
[root@localhost ~]# cp /etc/grub.d/00 header /ete/grub.d/00 header .bak
[root@localhost ~]# vim /etc/grub.d/00 header
//将下面的内容添加到文件最后 ...//省略部分内容