禁用 root 登录以及使用 sudo 分配权限
前言
最近一段时间服务器有受到一些挖比特币的人的攻击,这里就简要说明一下提升服务器安全度的做法
禁用root登录
root权限可以说是linux服务器的最高权限,如果我们平常都是直接使用root用户来登录的话
其实是一个很不安全的行为,一个是防止平时的一些操作失误,另一个也是防止黑客在攻破我们
服务器的时候可以有最高的权限来做一些坏事
一、创建普通用户并设置密码
[root@pro-db2 ~]# useradd murry [root@pro-db2 ~]# passwd murry Changing password for user murry. New password: Retype new password: passwd: all authentication tokens updated successfully.
二、更改配置文件,禁止root直接登陆
[root@pro-db2 ~]# vim /etc/ssh/sshd_config
打开文件后直接输入 :131
131 PermitRootLogin yes
这里就是控制是否可以使用root直接ssh远程连接的参数选项
我们只需要把yes改为no(这里严格区分大小写),然后 :wq保存退出即可
如果你的root用户是没有密码或者你忘记密码了,记得使用passwd命令直接
在root用户下更改root密码
三、尝试登陆
最后,退出登录你的服务器尝试
[c:\~]$ ssh root@IP地址 Connecting to IP地址:22... Connection established. To escape to local shell, press 'Ctrl+Alt+]'. Connection closing...Socket close.
即使密码输入正确也会被阻止在门外
通过之前设置好的普通用户进行登录
[c:\~]$ ssh murry@IP地址 Connecting to IP地址:22... Connection established. To escape to local shell, press 'Ctrl+Alt+]'. [murry@pro-db2 ~]$
登陆成功,然后使用su 命令切换到root
[murry@pro-db2 ~]$ su root Password: [root@pro-db2 murry]#
这样就可以安全的登陆到服务器
使用sudo分配权限
上面提到过,直接使用root用户操作由于权限太大很容易造成操作上的失误,
所以合理地使用sudo是很有必要的
一、切换用户到root并更改文件
sudo命令的控制文件需要有良好的封闭性,所以要注意权限问题
首先切换到root用户下(参照上面内容)
然后,赋予/etc/sudoers文件读权限
chmod u+w /etc/sudoers
开始修改文件
找到root ALL=(ALL) ALL 按照类似添加一行 user ALL=(ALL) ALL(执行时需要密码) user ALL=(ALL) NOPASSWD:ALL(执行时不需要密码) 退出并保存:wq
最后去除/etc/sudoers读权限
chmod u-w /etc/soduers
二、切换到普通用户并尝试
这里尝试一下yum命令
[murry@pro-db2 ~]$ yum -y install tree Loaded plugins: fastestmirror You need to be root to perform this command. [murry@pro-db2 ~]$ sudo yum -y install tree Loaded plugins: fastestmirror Setting up Install Process Loading mirror speeds from cached hostfile base | 3.7 kB 00:00 epel | 4.7 kB 00:00 epel/primary_db | 6.0 MB 00:00 extras | 3.4 kB 00:00 updates | 3.4 kB 00:00
发现如果不加sudo确实是无法运行的,这样就达到了咱们的目的