Mal*_*rba 109 users password login authorization
假设我使用该adduser命令创建了一个名为“bogus”的用户。在不禁用帐户的情况下,如何确保该用户不是可行的登录选项。简而言之,我希望该帐户可通过 访问su - bogus,但我不希望它可通过常规登录提示访问。
四处搜索,似乎我需要禁用该用户的密码,但这样做passwd -d bogus并没有帮助。事实上,这让事情变得更糟,因为我现在甚至不用输入密码就可以登录到伪造的。
有没有办法禁用给定帐户的常规登录?
注意:为了清楚起见,我知道如何从图形登录屏幕(例如 gdm)的菜单选项中删除用户,但这些方法只是隐藏帐户,而实际上并未禁用登录。我正在寻找一种完全禁用常规登录的方法,包括文本模式。
Cha*_*ler 123
passwd -l user
Run Code Online (Sandbox Code Playgroud)
是你想要的。
这将锁定用户帐户。但你仍然可以
su - user
Run Code Online (Sandbox Code Playgroud)
但你必须以su - userroot 身份。
或者,您可以通过在!用户密码前添加 a来完成同样的事情/etc/shadow(这都是passwd -l在幕后进行的)。而passwd -u将撤消这一点。
Jör*_*ich 43
的手册页passwd(1)说passwd -l:
请注意,这不会禁用该帐户。用户可能仍然能够使用另一个身份验证令牌(例如 SSH 密钥)登录。要禁用该帐户,管理员应使用 usermod --expiredate 1(这将帐户的到期日期设置为 1970 年 1 月 2 日)。
所以
usermod --expiredate 1 [LOGIN]
Run Code Online (Sandbox Code Playgroud)
在我看来,这是禁用用户不应再使用的帐户的正确方法(例如,因为他离开了公司)。
小智 31
有两种方法可以防止用户登录:
/etc/passwdpasswd用-l开关发出命令在第二种情况下,用户可以使用另一个身份验证令牌(例如 SSH 密钥)登录。
方法#1
vi /etc/passwd现在您正在按passwd文件Ins编辑文件。
使用nologin选项更改以下行(/bin/bash表示用户可以登录)。
root:x:0:0:root:/root:/bin/bashRun Code Online (Sandbox Code Playgroud)
对此。nologin表示用户无法登录。
root:x:0:0:root:/root:/bin/nologinRun Code Online (Sandbox Code Playgroud)
(或使用 /bin/sbin/nologin)
方法#2
锁定用户: passwd -l username
解锁用户: passwd -u username
小智 7
您只需对/etc/passwd文件进行一些更改即可,这是一项非常简单的任务。
只需更改通常默认情况下的外壳即可,/bin/bash即您可以使用此外壳登录,将其更改为/bin/nologin或/bin/false。建议将其更改为,/bin/nologin因为/bin/false已过时。