Sudo

沒有密碼的使用者 - 如何從非 root 帳戶登錄該帳戶

  • January 5, 2021

我剛剛開始使用 Scientific Linux (7.0)(儘管我認為這個問題可能與發行版無關……)。核心版本為 3.10.0-123.20.1.el7.x86_64。

回到我的問題。

我切換到root帳戶並從那裡test-account使用命令創建了一個新使用者帳戶adduser test-account。它沒有提示我輸入密碼,我也沒有使用提供密碼的選項。所以我猜這是一個“無密碼”帳戶。我可以從 root 帳戶登錄到這個帳戶——我想即使測試帳戶有密碼,我也可以不提供密碼。但是,當我嘗試從第三個帳戶登錄此(測試帳戶)時 - 它會提示我輸入密碼。而且只是按下Enter是行不通的。

是否可以從非 root 帳戶登錄到此帳戶。有沒有辦法(不切換到 root 或使用sudo)?

預設情況下,在企業 GNU/Linux 及其衍生產品上,該adduser命令會創建一個禁用的使用者,直到您明確指定該使用者的密碼。

這是 CentOS 6.5 上的範例,它應該與 Scientific Linux 相同。

$ sudo adduser test
$ sudo grep test /etc/shadow
test:!!:123456:0:99999:7:::

這是因為在/etc/shadow文件中,密碼欄位是!!,如您在範例中所見。

一旦您passwd為該帳戶執行,它將更改使用者的密碼並允許使用者能夠登錄。

所以你應該能夠做的是以下讓一個沒有密碼的使用者,只需創建一個帳戶然後刪除密碼。

$ sudo adduser test
$ sudo passwd -d test
Removing password for user test.
passwd: Success
$ su test
$ whoami
test

現在任何使用者都應該能夠以我的範例su中的使用者身份使用和登錄。test您將不必使用sudo該帳戶登錄。

雖然這是可能的,並且您可以擁有一個沒有密碼的帳戶,但不建議這樣做。如果您只是為使用者設置密碼,則應該允許您登錄。

$ sudo passwd test
[sudo] password for <YOURACCOUNT>:
Changing password for user test.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

引用自:https://unix.stackexchange.com/questions/192945