我们在一台VPS服务器安装了Debian Server操作系统后,一件非常重要的事情是创建一个新用户并且赋予这个新用户root权限,然后再禁止root用户通过SSH登录。这是服务器安全的基本要求。首先,在任何一台Linux服务器上都会有root用户,黑客可以用暴力破解的方法得出root用户密码。而黑客并不知道我们新建用户的名称,所以暴力破解失去作用。其次,root用户在任何情况下都是以root权限执行操作,一个不小心的操作便会对系统造成破坏。
新建一个用户 以root身份通过SSH登录VPS后,输入下面的命令添加一个新用户,将username替换成新用户的用户名。 adduser username 然后系统会提示为新用户设置一个密码。在输入完后密码后,系统要求提供新用户的人名,电话等信息,我们可以不输入任何信息,一路按回车键,最后按Y键确认。
赋予新用户root权限 现在,只有root用户具有管理系统的权限。我们现在给新创建的用户赋予root权限以管理系统。当你以这个新用户来进行root权限的管理工作时,需要在命令前面加上sudo。以sudo执行命令都会被记录下/var/log/secure文件中,如果将来需要时可以查看这个文件。 安装sudo工具: apt-get install sudo 然后输入命令: visudo 这条命令将会打开/etc/sudoers文件,在这个文件中找到User privilege specification。如下:
将下面一行文字复制到root ALL=(ALL:ALL) ALL这一行下面。把username替换成新用户的用户名。 username ALL=(ALL:ALL) ALL 保存文件后退出。 现在新用户有了root权限。我们也可以输入下面的命令来给用户赋予root权限,这条命令会将用户添加到sudo用户组中。将username替换成新用户的用户名。 usermod -a -G sudo username 用这条命令也可以赋予用户root权限。
禁止root用户通过SSH登录Linux服务器 我们新建好一个管理员用户后,就可以禁止root用户通过SSH登录了。步骤如下: 首先以root用户登录系统,然后用你喜欢的文本编辑器打开/etc/ssh/sshd_config文件(nano, vi等)。 vi /etc/ssh/sshd_config 找到PermitRootLogin yes这一行文字,将它更改成如下: PermitRootLogin no 在文件末尾添加下面一行文字。将username替换成新用户的用户名。 AllowUsers username 保存/etc/ssh/sshd_config文件并退出文本编辑器。然后重启SSH服务 service ssh restart 或 systemctl restart ssh 现在你仍然是以root身份登录的,这时候你可打开另外一个终端,以新用户通过SSH登录系统。如果前面的设置正确,那么新用户应该可以登录。如果不能登录的话,请检查之前的设置。在新用户成功登录之前,不要关闭root用户的登录。 经过上面的配置后,root用户通过SSH登录系统时即使密码输入正确也会提示Permission denied。我们现在可以用新用户登录来管理系统,或者在新用户登录后用su命令切到root用户来管理系统。
相关主题 |