Linux 用户权限 & 防火墙
# 用户权限
# 新建用户
mkdir -pv /app/{service,backups,data,logs,temp}
useradd -r app && chown app:app -R /app && chmod 755 -R /app
1
2
2
切换到新创建的用户,显示 bash-4.2$,且无法正常使用命令
mkdir /home/app
cp /etc/skel/.bash_logout /home/app
cp /etc/skel/.bash_profile /home/app
cp /etc/skel/.bashrc /home/app
chown app:app -R /home/app
1
2
3
4
5
2
3
4
5
# 特殊权限
#su 缺省为 root 用户
su USER
密码:
#sudo,需要加入 /etc/sudoers 文件
chmod 640 /etc/sudoers
vi /etc/sudoers
#第一列:root 即用户账号
#第二列:ALL 指登陆者来源主机;括号中的 ALL 指目标用户,即以谁的身份去执行命令
#第三列:ALL 指命令名,想免除密码输入加上 NOPASSWD:ALL
root ALL=(ALL) ALL
app ALL=(ALL) NOPASSWD:ALL
chmod 440 /etc/sudoers
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# SU 鉴权失败
查看 /bin/su 文件是否有 s 权限,没有就加上
ll /bin/su
chmod 755 /bin/su && chmod u+s /bin/su
1
2
2
查看 /etc/pam.d/su 文件中的字段有就注释
cat /etc/pam.d/su
#auth require pam_whell.so use_uid
1
2
2
查看 /etc/login.defs 文件中的字段有就注释
cat /etc/login.defs
#SU_WHELL_ONLY yes
1
2
2
使用 su passwd root 命令进行 root 用户的密码设置
# 防火墙
其实现在操作系统级的防火墙使用的很少了,iptables 也从 CentOS 里移除了
CentOS 7 以后使用的是 firewalld,系统自带,默认开启
systemctl start firewalld
systemctl stop firewalld
systemctl restart firewalld
systemctl status firewalld
1
2
3
4
2
3
4
通过firewall-cmd
命令管理规则
#查看版本
firewall-cmd --version
#查看帮助
firewall-cmd --help
#显示状态
firewall-cmd --state
#查看所有打开的端口
firewall-cmd --zone=public --list-ports
#开启 3306 端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#更新防火墙规则
firewall-cmd --reload
#查看区域信息
firewall-cmd --get-active-zones
#查看指定接口所属区域
firewall-cmd --get-zone-of-interface=eth0
#拒绝所有包
firewall-cmd --panic-on
#取消拒绝状态
firewall-cmd --panic-off
#查看是否拒绝
firewall-cmd --query-panic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
网页编辑 (opens new window)
最近提交: 2023/03/22, 11:52:35