默認情況下,當您在 Linux 中創建用戶時,用戶默認主目錄創建在 /home 下。 如果您在 Ubuntu 和 Debian 派生髮行版上註意到 useradd 命令默認不會創建主目錄。
讓我們想想您已經創建了一個用戶但主目錄丟失的情況。 在本教程中,我將向您展示如何為 Linux 中的現有用戶創建默認主目錄。
為現有用戶創建默認主目錄
在這裡,我使用 Ubuntu 20.04 並使用 useradd 命令創建一個名為“bob”的用戶:
$ sudo useradd bob
useradd 命令在 /etc/passwd 文件中添加了一個入口主目錄
$ grep bob /etc/passwd
bob:x:1003:1003::/home/bob:/bin/sh
$
如果我嘗試以用戶身份登錄 su -
,這表明它是 logging in with Home=/
. 這意味著未創建用戶主目錄。
$ su - bob
Password:
No directory, logging in with HOME=/
$
在 Linux 中,用戶的默認主目錄是 /home。 要創建默認主目錄,請使用 mkhomedir_helper
命令。
確保運行 mkhomedir_helper
以 root 或用戶身份命令 sudo 使用權。
$ sudo mkhomedir_helper bob
前面的命令創建一個名為“/home/bob”的主目錄和用戶設置文件。
$ ls -al /home/bob
total 20
drwxr-xr-x 2 bob bob 4096 Jun 1 02:26 .
drwxr-xr-x 5 root root 4096 Jun 1 02:26 ..
-rw-r--r-- 1 bob bob 220 Jun 1 02:26 .bash_logout
-rw-r--r-- 1 bob bob 3771 Jun 1 02:26 .bashrc
-rw-r--r-- 1 bob bob 807 Jun 1 02:26 .profile
對於圖形環境(例如 GNOME 或 XFCE ),如果主目錄中缺少子目錄,則用戶需要註銷並重新登錄。
當用戶第一次登錄時,可以在主目錄中創建所有子目錄,如圖片、文檔、視頻和下載文件夾。
另一種方法是刪除用戶並使用創建新用戶 -m
或者 --create-home
選項。
以下命令創建一個主文件夾 (-m) 並將指定的主目錄 (-d) 設置為新用戶登錄的值:
$ sudo useradd -m -d /home/bob01 bob01
結論
總而言之,如果您是 Ubuntu 粉絲,您現在應該使用 添加用戶 命令,這是 Debian 推薦的。 如果您有一個現有用戶,現在您應該能夠添加默認目錄。
感謝閱讀,請將您的建議放在下面的評論部分。