需求
最近遇到了阿里云 ECS 服务器被 DDoS 攻击的问题,说明我们的服务器安全性有待提高。从 ssh 登陆方面考虑,可以给 linux 系统设置子用户,禁止 root 登陆,能够提升一定的安全性。
本文你将会学习到
- 如何给 linux 系统、CentOS 系统创建新用户,并设置密码
- 如何给 CentOS 新用户授予权限控制
- 如何禁止 root 登陆提升服务器 ssh 远程连接安全
- 如何重启 sshd 服务
- 如何查看文件权限及修改文件权限
用户管理
- 创建用户,设置密码 先创建一个用户,起个名字,比如
lwebapp
adduser lwebapp
为用户 lwebapp
设置密码,会触发交互,输入密码即可
passwd lwebapp # 触发交互,输入密码 lwebappwd
- 授予 root 权限
修改sudoers
,为新创建的用户赋予 root 权限,这样每次只需要用新用户lwebapp
登录,就能完成所有服务器操作了。sudoers
文件在/etc
目录下,首先修改下这个文件的权限为允许修改
chmod 777 /etc/sudoers
然后用vim
打开
敲击
i
进入编辑模式
vim /etc/sudoers
接着在root ALL=(ALL) ALL
这句话后面换行,输入
lwebapp ALL=(ALL) ALL # 为lwebapp赋予所有权限,和上面的root一样
敲击
Esc
,输入冒号:
进入 vim 命令模式,再输入wq
,敲击Enter
保存退出
保存完文件再把文件权限设置回来
chmod 444 /etc/sudoers
- 禁止 root 登入
因为有了新用户,就把 root 用户登陆的权限给禁止掉,这样黑客就没办法通过破解 root 登陆才操作服务器,至少我们的新用户名变了,给黑客攻击增加了一层难度 找到并编辑sshd_config
文件
vim /etc/ssh/sshd_config
找到PermitRootLogin yes
,把yes
改成no
,意思就是不允许 root 账户登陆
PermitRootLogin no
- 重启 sshd
最后重启 sshd 才能生效
systemctl restart sshd.service
原文:https://lwebapp.com/zh/post/centos-adduser
扩展学习
文件权限
- 查看文件权限
stat -c '%A %a %n' *
- 让某个文件夹内所有文件都有 777 权限
chmod 777 -R ./webapps
vim 基本操作
- 打开一个文件
vim file.txt
- 进入编辑模式
敲击i
,终端界面底部显示-- INSERT --
即为编辑模式 - 进入命令模式
输入:
,终端界面底部显示:
和光标 - 退出编辑模式或者命令模式
敲击Esc
- 保存退出
命令模式下,输入wq
,敲击确定Enter
即完成保存退出 - 强制退出
命令模式下,输入q!
,敲击确定Enter
即完成强制退出
sshd 服务
- 查看 sshd 服务状态
systemctl status sshd.service
会显示一系列服务状态,比如running
就表示是启动成功的状态
- 启动 sshd 服务
systemctl start sshd.service
- 重启 sshd 服务
systemctl restart sshd.service
- 设置为开机启动
systemctl enable sshd.service