usermod更改用戶家目錄


新添加了用戶user1, 將其改為user2, UID/GID不變, 用戶名,基本組名和家目錄均改為user2.
1. 創建用戶user1;
useradd -m user1;
ll /home;

cat /etc/passwd;

id user1;

我們成功創建了user1;

2. 更改user1的家目錄為user2;
由於man下沒找到usermod更改家目錄的命令具體格式(可能是我沒看清楚沒找到),最早使用了一下幾個命令:
usermod -dm /home/user2 user1;
usermod -dm /home/user2 1001;
usermod -d -m /home/user2 1001;
usermod -d /home/user2 -m 1001;

等類似命令,均不能實現.
之后度娘, 發現有很多人在問這個問題,而比較一致的回答是要加-u選項,后跟UID和用戶名,具體命令為:
usermod -dm /home/user2 -u 1001 user1;

使用此命令仍報錯,報錯信息是usermod命令的使用說明(可能是Ubuntu特有的報錯模式?)
我最初猜測可能是因為沒有/home/user2這個目錄,所以先創建了一個,再執行上述命令,仍是同樣結果:
mkdir user2;

usermod -dm /home/user2 -u 1001 user1;
仍是同樣的報錯信息.

當時百思不得其解,為什么別人用這個命令可以,我用就不可以?
我又嘗試了命令
usermod -d -m /home/user2 -u 1001 user1;
報錯.
usermod -m -d /home/user2 -u 1001 user1;

這次出現了不一樣的報錯信息,提示目錄/home/user2不存在,但實際上我已經用root創建了user2目錄,怎么可能不存在?難道是因為目錄user2的屬主和屬組都是root,權限或usermod命令的局限性所致無法將其屬主改為user2?於是我把user2目錄手動刪除之后再usermod:
rmdir user2;
usermod -m -d /home/user2 -u 1001 user1;


提示信息為usermod無改變,難道user1的家目錄已經變為/home/user2?我用finger命令查看了一下:
finger user1;

user1的家目錄確實已經變成/home/user2,但此時ll /home並沒有發現user2目錄.
於是我重新整理思路,嘗試將其家目錄先變回user1,再重新變為user2;
usermod -m -d /home/user1 -u 1001 user1;

提示/home/user1不存在,但是
finger user1;

發現其實已經變回來了,再使用命令:
usermod -m -d /home/user2 -u 1001 user1;
終於沒有報錯!
ll /home;

發現/home/user2目錄出現,屬主為user1,屬組為user1,以前的/home/user1目錄不見了.
使用su - 命令切換到用戶user1看是否成功創建了家目錄:
su - user1; #此處應使用su - user1而不是su user1以改變各種環境變量等,否則可能出現假陽性?
ll;

pwd;

成功切換,一切正常.
至此,終於將user1的家目錄切換為/home/user2.
正確的命令為:
usermod -m -d /home/user2 -u 1001 user1;

usermod -d /home/user2 -m -u 1001 user1;
最后,再改變用戶名和組名為user2:
usermod -l user2 user1;
ll;

 


groupmod -n user2 user1;
ll;


finger user2;

cat /etc/passwd;

至此,成功將user1的登錄名,基本組名和家目錄改為了user2(即把user1改名叫user2了,和使用命令useradd -m user2是一樣的效果).
 
usermod可以用來修改linux下用戶信息,自然也可以更改用戶名。
1,更改用戶名:usermod -l newusername username。將username用戶名更改為newusername。
2,usermod其他參數如下:
-c<備注>  修改用戶帳號的備注文字。
-d登入目錄>  修改用戶登入時的目錄。
-e<有效期限>  修改帳號的有效期限。
-f<緩沖天數>  修改在密碼過期后多少天即關閉該帳號。
-g<群組>  修改用戶所屬的群組。
-G<群組>  修改用戶所屬的附加群組。
-l<帳號名稱>  修改用戶帳號名稱。
-L  鎖定用戶密碼,使密碼無效。
-s  修改用戶登入后所使用的shell。
-u  修改用戶ID
-U  解除密碼鎖定。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM