
使用以下命令在 Ubuntu 11.04 中建立了一個新使用者:
$ useradd -d /home/dummy -m dummy
現在,在此之後我使用 設定其密碼passwd dummy
,但是當我使用 登入該使用者時su - dummy
。我收到訊息:
無主目錄,使用 HOME=/ 登錄
如果我檢查使用者帳戶虛擬的條目/etc/passwd
:
$ cat /etc/passwd | grep dummy
dummy:x:1001:1001::/home/dummy:/bin/bash**
我透過手動建立目錄來解決這個問題mkdir /home/dummy
。
現在,錯誤似乎已解決,但我很驚訝為什麼bash_profile
在該主目錄中沒有建立類似的檔案。
答案1
你忘記了一個參數:
-m, --create-home create the dummy's home directory
您確定為目錄設定了正確的擁有者和權限嗎?
$ ls -ld /home dummy
drwx------ dummy dummy ........... dummy
$ chown dummy:dummy /home/dummy
$ chmod 700 /home/dummy
如果目錄中已有文件,請-R
在這兩個命令中添加額外的內容。
答案2
為了避免此類錯誤,應使用adduser
ubuntu自備的perl腳本。它是一個包裝器useradd
,可幫助您以精靈方式執行操作->[來源]…
答案3
在中/etc/login.defs
,更改系統範圍設定CREATE_HOME
並將其設定為yes
。