CentOS 创建新用户并赋予 root 权限,禁止 root 登陆
原文:https://lwebapp.com/zh/post/centos-adduser
需求
最近遇到了阿里云 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