CentOS7 用户、端口、防火墙配置
新用户
-
创建用户
xxxx
:useradd xxxx
-
设置用户密码:
passwd xxxx
-
给用户赋予
sudo
权限 -
切换到
root
用户:su root
-
赋予用户对配置文件的写权限:
chmod u+w /etc/sudoers
-
修改文件
vim /etc/sudoers ## Allow root to run any commands anywhere root ALL=(ALL) ALL xxxx ALL=(ALL) ALL #这个是新增的用户
-
将
/etc/sudoers
的权限收回:chmod -v u-w /etc/sudoers
-
测试:
su - xxxx
useradd
与adduser
都是创建新的用户在CentOS下
useradd
与adduser
是没有区别的都是在创建用户,在home下自动创建目录,没有设置密码,需要使用passwd
命令修改密码。而在Ubuntu下
useradd
与adduser
有所不同1、
useradd
在使用该命令创建用户是不会在/home下自动创建与用户名同名的用户目录,而且不会自动选择shell版本,也没有设置密码,那么这个用户是不能登录的,需要使用passwd
命令修改密码。2、
adduser
在使用该命令创建用户是会在/home下自动创建与用户名同名的用户目录,系统shell版本,会在创建时会提示输入密码,更加友好。
SSH端口
-
修改SSH配置:
vim /etc/ssh/sshd_config #Port 22 Port 1105 # 新端口,如果启用防火墙一定要解除该端口限制 PermitRootLogin no # 禁止root用户登录
-
重启服务命令:
systemctl restart sshd.service
-
如果使用阿里云,还要配置安全组规则
防火墙与端口开放
CentOS 7
版本对防火墙进行加强,不再使用原来的iptables
,启用firewalld
- 在防火墙启用前,保证SSH端口的连接端口为开放端口,否则启动后所有现有连接会被关闭,无法登录
firewalld的基本使用
启动: systemctl start firewalld
查状态:systemctl status firewalld
停止: systemctl stop firewalld
禁用: systemctl disable firewalld
开机启用服务:systemctl enable firewalld.service
开机禁用服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
配置firewalld-cmd
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: 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
参数解释
–add-service # 添加的服务
–zone #作用域
–add-port=80/tcp # 添加端口,格式为:端口/通讯协议
–permanent # 永久生效,没有此参数重启后失效
端口、服务开放
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --permanent --zone=public --add-port=80/udp
firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload # 重新载入,更新防火墙规则
firewall-cmd --zone= public --query-port=80/tcp # 查看端口是否开启
firewall-cmd --permanent --zone=public --remove-port=80/tcp # 删除
firewall-cmd --permanent --zone=public --list-services
firewall-cmd --permanent --zone=public --list-ports