Accounts

當我從命令行創建帳戶時,我無法使用 login 命令登錄該帳戶

  • December 21, 2019

我想在 macOS 系統上創建一些在登錄頁面上沒有主目錄或圖示的帳戶

sudo dscl . -create /Users/hiddenuser
sudo dscl . -create /Users/hiddenuser UserShell /bin/bash

問題是當我輸入:

login hiddenuser

它只是說login incorrect,然後只是說login:我不能Ctrl+C出去。即使我設置了密碼,它也不允許我輸入密碼。如何創建一個未顯示在登錄頁面中的隱藏使用者,但我可以使用終端登錄?但是,如果我通過系統偏好創建一個使用者,它可以通過 登錄login,但它不是隱藏的。如何通過可以登錄的終端創建隱藏使用者?

看來您必須執行更多步驟,而不僅僅是創建使用者和設置它的外殼。

如果像您一樣,我執行以下命令:

sudo dscl . -create /Users/hideuser
sudo dscl . -create /Users/hideuser UserShell /bin/bash

然後檢查系統上的使用者dscacheutil -q user,我看不到新hideuser使用者帳戶,如果我嘗試登錄,我會得到Login incorrect

您需要通過執行以下命令來定義新使用者 UID(使用者 ID):

sudo dscl . -create /Users/hideuser UniqueID 1002

“UniqueID”後面的數字(即1002)必須是沒有分配給其他使用者的ID號。您可以通過檢查輸出並查看分配給使用者的 uid 來找到這一點。

dscacheutil -q user

然後,您需要為使用者分配一個主要組:

sudo dscl . -create /Users/hideuser PrimaryGroupID 1001.

此 PrimaryGroupID 可以與 UID 相同。

正是在這個階段,使用者將在執行時出現

dscacheutil -q user

您現在可以設置帳戶的密碼:

sudo dscl . -passwd /Users/hideuser password

該使用者現在可以成功登錄:

Bens-iMac:~ macuser$ login hideuser
Password:
Bens-iMac:~ hideuser$ whoami
hideuser

此時,使用者可以登錄,但不幸的是它會顯示在使用者列表和登錄視窗中,要隱藏該使用者,您需要執行以下命令:

sudo dscl . create /Users/hideuser IsHidden 1

不幸的是,這將在登錄提示符處顯示“其他”選項,要隱藏它(注意:如果啟用它,這將隱藏來賓使用者),您可以執行以下命令:

sudo defaults write /Library/Preferences/com.apple.loginwindow SHOWOTHERUSERS_MANAGED -bool FALSE

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