CentOS 创建新用户赋予 root 权限并禁止 root 登陆

需求

最近遇到了阿里云 ECS 服务器被 DDoS 攻击的问题,说明我们的服务器安全性有待提高。从 ssh 登陆方面考虑,可以给 linux 系统设置子用户,禁止 root 登陆,能够提升一定的安全性。

本文你将会学习到

  • 如何给 linux 系统、CentOS 系统创建新用户,并设置密码
  • 如何给 CentOS 新用户授予权限控制
  • 如何禁止 root 登陆提升服务器 ssh 远程连接安全
  • 如何重启 sshd 服务
  • 如何查看文件权限及修改文件权限

用户管理

  1. 创建用户,设置密码

    先创建一个用户,起个名字,比如 lwebapp

    adduser lwebapp
    

    为用户 lwebapp 设置密码,会触发交互,输入密码即可

    passwd lwebapp # 触发交互,输入密码 lwebappwd
    
  2. 授予 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
    
  3. 禁止 root 登入 因为有了新用户,就把 root 用户登陆的权限给禁止掉,这样黑客就没办法通过破解 root 登陆才操作服务器,至少我们的新用户名变了,给黑客攻击增加了一层难度

    找到并编辑sshd_config文件

    vim /etc/ssh/sshd_config
    

    找到PermitRootLogin yes,把yes改成no,意思就是不允许 root 账户登陆

    PermitRootLogin no
    
  4. 重启 sshd 最后重启 sshd 才能生效

    systemctl restart sshd.service
    

扩展学习

文件权限

  1. 查看文件权限

    stat -c '%A %a %n' *
    
  2. 让某个文件夹内所有文件都有 777 权限

    chmod 777 -R ./webapps

vim 基本操作

  1. 打开一个文件

    vim file.txt
    
  2. 进入编辑模式
    敲击 i,终端界面底部显示-- INSERT --即为编辑模式

  3. 进入命令模式
    输入:,终端界面底部显示:和光标

  4. 退出编辑模式或者命令模式
    敲击Esc

  5. 保存退出
    命令模式下,输入wq,敲击确定Enter即完成保存退出

  6. 强制退出
    命令模式下,输入q!,敲击确定Enter即完成强制退出

sshd 服务

  1. 查看 sshd 服务状态

    systemctl status sshd.service
    

    会显示一系列服务状态,比如running就表示是启动成功的状态

  2. 启动 sshd 服务

    systemctl start sshd.service
    
  3. 重启 sshd 服务

    systemctl restart sshd.service
    
  4. 设置为开机启动

    systemctl enable sshd.service

参考

评论