Linux:系统安全及应用

一、账号安全控制

1、账号安全基本措施

(1)系统账号清理

a、将非登录用户的Shall设为/sbin/nologin

usermod -s/sbin/nologin 用户名

b、锁定长期不使用的账号

usermod -L 用户名 passwd -l 用户名

passwd -S 用户名

c、删除无用的账号

userdel-r用户名

d、锁定账号文件passwd、shadow

chattr +i/etc/passwd/etc/shadow(锁定文件并查看状态)

isattr /etc/passwd/etc/shadow

chattr -i/etc/passwd/etc/shadow(解锁文件)

账号安全管理

禁止程序用户登录 usermod -s /sbin/nologin 用户名

锁定禁用长期不使用的用户 passwd -l 用户名 usermod -L 用户名 #查看锁定账号状态 passwd -S 用户名

删除无效用户 userdel -r 用户名

禁止账号和密码的修改 chattr +i /etc/passwd /etc/shadow #查看锁定文件状态 lsattr 文件名

(2)密码安全控住

a、设置密码有效期

b、要求用户下次登录时修改密码

root@localhost\~# vi/etc/login.defs(修改密码配置文件适用于新建用户)

PASS_MAX_DAYS 30

root@localhost\~# chage-M 30 lisi(适用于已有用户)

root@localhost\~# cat/etc/shadow | grep lisi

root@localhost\~# chage -d 0 zhangsan(强制在下次登录时更改密码)

root@localhost\~# cat /etc/shadow | grep zhangsan(shadow文件中的第三个字段被修改为0)

密码安全管理

设置密码有效期 chage -M 天数 用户名 #针对已存在的用户,天数为 99999 表示为永不过期

vim /etc/login.defs --> PASS_MAX_DAYS 天数 #针对新建的用户

强制用户下一次登录修改密码 chage -d 0 用户名

(3)命令历史限制

a、减少记录的命令条数

b、登录时自动清空命令历史

(4)终端自动注销

a、闲置600秒后自动注销

历史命令安全管理

查看历史命令 history

限制历史命令数量 vim /etc/profile --> export HISTSIZE=XX --> source /etc/profile

清空历史命令 history -c #临时清空

vim /etc/profile --> > ~/.bash_history

2、使用su命令切换用户

(1)限制使用su命令的用户

a、将允许使用su命令的用户加入wheel组

b、启用pam_wheel认证模块

限制su切换用户

1)将信任的用户加入到wheel组中 gpasswd wheel -a 用户名

2)修改su的PAM认证配置文件 vim /etc/pam.d/su -> 开启 auth required pam_wheel.so use_uid 的配置

ssh远程登录输入三次密码错误则锁定用户

vim /etc/pam.d/sshd

auth required pam_tally2.so deny=3 unlock_time=600 even_deny_root root_unlock_time=600

sudo提权

visudo vim /etc/sudoers (要用 wq! 强制保存)

#用户/组授权

用户名 主机名=程序列表 #命令要用绝对路径表示,支持使用通配符 * 表示所有, ! 表示取反

%组名 主机名=程序列表

用户名 主机名=NOPASSWD: 程序列表 #NOPASSWD: 表示sudo不用密码验证

#别名设置

User_Alias 大写别名=用户1, 用户2, ...

Host_Alias 大写别名=主机名1, 主机名2, ...

Cmnd_Alias 大写别名=命令路径1, 命令路径2, ...

用户别名 主机别名=命令别名

#设置sudo日志路径

Defaults logfile = "/var/log/sudo.log"

sudo -l #普通用户查看有哪些sudo权限

如何查看进程是否已经开启?

systemctl status 进程名

ps aux/-elf | grep 进程名

netstat/ss -lntup | grep 进程名/:端口

lsof -i :端口

如何通过端口查看进程号?

netstat -lntup | grep :端口

ss -lntup | grep :端口

lsof -i :端口

相关推荐
NamoAmitabha1285 小时前
libpng12-0 1.2.54-1ubuntu1.1 (amd64 binary) in ubuntu xenial
linux·ubuntu20.4
Madison-No76 小时前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌6 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
悠悠121387 小时前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
xiaoye-duck8 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
zx_741484819 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS9 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿9 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
wdfk_prog10 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
做运维的阿瑞10 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python