當您第一次啓動Cygwin shell時,將以您在Windows上的用戶身份登錄。如何更改該用戶的用戶名,將Cygwin用戶的現有cygwin關聯與Windows用戶保持一致? (即不創建全新的Windows帳戶)重命名/更改cygwin用戶名
爲什麼?我剛剛從虛擬機轉移到Cygwin,並希望重新使用所有腳本和shell自定義,這些腳本和shell自定義會假設特定用戶名(想到.ssh/config,.subversion等)而不做更改。
當您第一次啓動Cygwin shell時,將以您在Windows上的用戶身份登錄。如何更改該用戶的用戶名,將Cygwin用戶的現有cygwin關聯與Windows用戶保持一致? (即不創建全新的Windows帳戶)重命名/更改cygwin用戶名
爲什麼?我剛剛從虛擬機轉移到Cygwin,並希望重新使用所有腳本和shell自定義,這些腳本和shell自定義會假設特定用戶名(想到.ssh/config,.subversion等)而不做更改。
我的原始用戶名是root
(在Windows下,具有諷刺意味),我想它是someuser
。我想我也想讓我的家庭目錄也是/home/someuser
,並且可以從Windows讀取。
這是我做過什麼:
cd /home
mv root someuser
ln -s someuser root
sed -e 's/^root/someuser/' -e 's/\/home\/root/\/home\/user/' -i /etc/passwd
而這一切,只需重新啓動外殼。
我做出某種原因的情況下Cygwin的更新/etc/passwd
符號鏈接,並恢復用戶名root
及其家目錄到/home/root
,所以它仍然是可能的登錄。
(要只變化用戶名:sed -e 's/^root/someuser/' -i /etc/passwd
)
對於開始用乾淨的Cygwin安裝的方法可能是創建新的文件/etc/passwd
人(不按默認在當前版本的Cygwin使用 mkpasswd -l >/etc/passwd
這將創建一個條目存在)對於每個用戶 (添加-b
以省略內置用戶或僅爲-c
僅爲當前用戶創建條目,請參閱https://cygwin.com/cygwin-ug-net/mkpasswd.html)。
接下來,只需打開/etc/passwd
重命名那裏的帳戶(第一列)。
有關Cygwin如何處理「Cygwin」和Windows用戶之間映射的描述,請參閱https://cygwin.com/cygwin-ug-net/ntsec.html。 哦,也有一個mkgroup
,可以使用類似的,請參閱https://cygwin.com/cygwin-ug-net/mkgroup.html。
您會看到創建不是正式推薦的,但根據我的經驗,它並沒有造成任何問題,也許如果你會做相當先進的東西涉及用戶/組權限,或者如果你沒有保持它的最新更新Windows用戶時。
這是我做的是工作在Windows 10,結合其他兩個答案的元素:
請享用!可能會出現這種情況,步驟5-8可以自行工作,但現在是凌晨3點17分,我不在乎。