PermitRootLogin是基于UID还是用户名?

Modified on: Sat, 16 Feb 2019 17:00:02 +0800

手册页指出PermitRootLogin

  

指定root是否可以使用ssh(1)登录。

但是,目前尚不清楚此检查是基于用户名("root")还是UID(0)。

如果将root帐户重命名为"admin",会发生什么?当"admin"时,PermitRootLogin=no能否登录?

如果有两个UID = 0的帐户,即"root""admin",会发生什么?他们中的任何一个都能登录吗?

作者:Jakuje,ge0rg

最佳答案

似乎检查是在UID上完成的(在OpenSSH_6.7p1 Debian-5+deb8u3, OpenSSL 1.0.1t 3 May 2016上测试):

关闭PermitRootLogin:

mtak@pdv1:~$ grep PermitRootLogin /etc/ssh/sshd_config
PermitRootLogin no

确保使用UID 0创建名为admin的用户:

mtak@pdv1:~$ sudo grep admin /etc/passwd
admin:x:0:0:Root User:/root:/bin/bash

确保用户可以用来登录系统:

mtak@pdv1:~$ su - admin
Password: 
root@pdv1:~# 

检查我们是否可以使用SSH登录系统:

mtak@rubiks:~$ ssh admin@pdv1
admin@pdv1's password: 
Permission denied, please try again.


如果我们打开PermitRootLogin:

mtak@pdv1:~$ grep PermitRootLogin /etc/ssh/sshd_config
PermitRootLogin yes

尝试登录:

mtak@rubiks:~$ ssh admin@pdv1
admin@pdv1's password: 
Linux pdv1 4.4.8-1-pve #1 SMP Tue May 17 16:14:08 CEST 2016 x86_64
Last login: Wed Aug 24 12:05:28 2016 from xxx
root@pdv1:~# 
作者:mtak

相关问答

添加新评论