技术分享

Linux创建root权限用户、禁用root登录

2019/10/27

首先明白为什么要更改账户,对于小白来说,其实更改账户后每次涉及系统部分的操作都需要敲密码挺麻烦的,那么为什么要这么做呢?

网上已有许多设计安全的观点了。如:

  1. 防止菜鸟用户(如现阶段的我)手抖删错系统文件。

  2. 即使系统被入侵也只有部分权限,以下是知乎用户依云的回答:

    在一个使用独立的用户来运行不同的服务的系统中,因为你所使用的 nginx(HTTP 服务器)的漏洞,攻击者获得 nginx 用户的所有权限。然后他就能改你的网站了,也能取得入侵期间所有的用户访问。但是它访问不了你网站本身的服务(比如 php-fpm 或者 django 等),也无法访问数据库(mysql 或者 postgresql 等),能够造成的破坏就会比较有限了。

  3. 防止云服务器被恶意攻击,自从买了腾讯云后,闲置了4天,下次一登录就提醒,我的天,48109次失败登录!

    图片:terrible

    开始以为是DDOS,后来转念一想,我这啥都没有搭建的服务器有啥好D的啊,倒是别人发现有这服务器,“借用”一下那倒是爽。后来更改默认登录账户后,再也没有类似情况发生了。


具体操作:

  1. 创建用户: adduser xxx

  2. 设置用户密码: passwd xxx

  3. 赋予用户root权限:

    vim /etc/sudoers

    ​(tips:可用退出insert模式下,用“/”快速搜索,“n”为下一个,“N”为上一个)

    ​在 root ALL=(ALL: ALL) ALL 下添加

    xxx ALL=(ALL:ALL) ALL

  4. 禁用root登录:在 /etc/ssh/sshd_config中,将 PermitRootLogin yes 更改为 PermitRootLogin no

  5. 重启系统: restartshutdown -r now 都行。