我想將默認用戶名(pi)更改為某些內容
usermod -l newusername pi
,但這給了我
usermod:進程2104當前正在使用用戶pi
是否存在另一種修改根帳戶或禁用它並創建新的根帳戶的方法? >
我想將默認用戶名(pi)更改為某些內容
usermod -l newusername pi
,但這給了我
usermod:進程2104當前正在使用用戶pi
是否存在另一種修改根帳戶或禁用它並創建新的根帳戶的方法? >
如果您在pi的控制台中,有一種解決方法,而不必讓另一個用戶(或在root用戶上設置密碼):
假設除了控制台上的外殼程序外,沒有其他與您的用戶名一起運行的用戶-沒有X會話,沒有ssh登錄等:
exec sudo -scd / usermod -l newname -d / home / newname -m oldname
它起作用的原因:
sudo -s
告訴 sudo
,而不是僅以其他用戶身份運行命令,而是應該以給定用戶身份運行新的外殼程序 exec
告訴外殼程序,而不是產生一個新進程,當它運行命令時(因此使Shell進程以登錄用戶身份運行),該Shell應該用新進程自己覆蓋。這意味著當 exec
命令結束時,外殼消失了。對於登錄shell,這等同於與登錄斷開連接。 cd /
是可選的。至少,如果移動您所在的目錄,情況會有些混亂(您的登錄名開始位於用戶 pi
主目錄中)。有時這會導致失敗,所以安全起來總比對不起好。因此,使用 exec sudo -s
可以用新的shell覆蓋shell。已創建為其他用戶(在這種情況下為root用戶)。
P.S。請確保為 usermod -d
提供一個完整(硬鏈接)路徑,否則您最終會將帳戶的住所移到了您不希望看到的地方,並擁有了虛假目錄 passwd
中的條目。
ps -lp 2104
將為您提供有關該過程是什麼的信息。您可以檢查並 kill 2104
。
請注意,您必須以root用戶身份登錄 或其他具有以下權限的用戶:做吧。它可能無法通過 sudo
等運行。
您還必須重命名主目錄。
IMO,您應該創建一個新用戶隨便叫什麼名字,然後把pi留在那裡,但這取決於您。
上面的答案是正確的,我只想給出另一個可能更適合您的選擇。
pi
更改為 mypie
pi code改編>轉到 mypie
pi
運行。 sudo su-
進行root編輯 $ vim /etc/systemd/system/autologin@.service
查找並註釋 (#)行
#ExecStart =-/ sbin / agetty --autologin pi --noclear %I $ TERM
如果以後需要控制台 autolog,則可以取消註釋 ,但不要忘記將用戶 pi
更改為您的新用戶名 mypi
passwd
創建新的root密碼。 (不要忘記) reboot
login
問題(而不是 root
身份登錄。現在您一個人在系統中, usermod將無法滿足對 pi
的更改:進程2104當前正在使用用戶pi
。與 ps -u pi
檢查以查看空列表。 usermod -l mypie pi
。這將從 / etc / passwd
文件中更改您的用戶名,但還沒有準備好。無論如何,請使用 tail / etc / passwd
檢查並查看最後一行 mypie:1000:...
1000是UID,現在是您的UID。 su mypie
。沒做什麼。只需再次 exit
根即可。它應該工作。現在您需要調整組和一個 $ HOME
文件夾。 groupmod -n mypie pi
。這將更改 pi
組名。用 tail / etc / group
進行檢查,您將在最後一行看到與 GID
1000相關聯的新名稱。 ls -la / home / pi
,您會看到 pi
HOME現在屬於您, mypie
。 cd / home
使其更容易。輸入 ls -la
並查看 pi
,然後繼續 mypie
組 mypie
mv pi mypie
。現在,您需要將此更改與新用戶關聯。 usermod -d / home / mypie mypie
。這將更改您的主目錄。用 tail / etc / passwd
進行檢查,並查看第六個字段(以:
分隔)。 reboot
mypie
身份登錄。 passwd
更改 mypie
到 raspberry
sudo su-
,然後會要求您輸入密碼。 $ vim etc / lightdm / lightdm.conf
#autologin-user =
查找行,將其更改為 autologin-user = mypie
(沒有 comment #) $ vim /etc/systemd/system/autologin@.service
並更改行 #ExecStart =-/ sbin / agetty --autologin mypie --noclear%I $ TERM
cd /etc/sudoers.d
010_pi-nopasswd
重命名為 010_mypie_nopasswd
vim 010_mypie_nopasswd
並將行 pi ALL =(ALL)NOPASSWD:ALL
更改為狡猾的 mypie ALL =(ALL)NOPASSWD:ALL
。它是只讀的,因此請使用:x!
$ vim / etc / hosts
並將 127.0.1.1 raspberry
更改為更合適的內容,例如 127.0.1.1 myoven
。 $ vim / etc / hostname
,並用 myoven
一行。重新啟動
/ etc / ssh / sshd_config
# PermitRootLogin不帶密碼
PermitRootLogin yes
/etc/init.d保存,退出並重新啟動ssh / ssh重新啟動
PermitRootLogin yes
行,然後從中刪除註釋> PermitRootLogin無密碼
注1:這是一個指南,內容涉及非常危險的命令。首先備份,否則請注意,也許您需要再次刻錄映像。由於我假設使用的是全新的Raspberry Pi,因此沒有太多備份。但是,如果您要使其適應其他情況,則建議這樣做。
注2:由於我是Raspberry pi的新手(我是2天前得到的),我可能會發現我遺漏的其他調整項,我將再次編輯此答案。
注意3:我的第一次嘗試是將 pi
用戶和 pi
組移動到另一個 UID
和 GID
(1001),並創建一個我的新用戶為 1000
。那並沒有按照我的計劃進行,在整天試圖弄清楚為什麼“ configure you pi”程序不再起作用之後,我需要再次燒製SD卡。但是好吧,無論如何,這裡的方法要容易得多,因此,您可以開始:一個新的pi,其用戶名為UID 1000(以及您家中的所有好東西)。
注意4: ,建議這樣做之後,標準配置工具將停止工作。
腳註:感謝您的 stackexchange raspberrypi 社區(因為我也是新來的人)。
sudo passwd root
usermod -l newname -d / home / newname -m oldname
ls -al / home /
groupmod --new-name newname oldname
ls -al / home /
退出
sudo passwd -l root
/ etc / ssh / sshd_config
,設置“ PermitRootLogin no”,然後重新啟動該服務。)然後,您必須在任何引用“ pi”的腳本/設置...都可以。
我沒有足夠的要點發表評論,但是,如果啟動到安全模式不起作用,則可以嘗試通過創建一個臨時帳戶並從那裡進行操作來做到這一點。請參閱此處的描述: https://askubuntu.com/a/34075/112715
請勿執行此操作-您最終可能會遇到無法使用的系統。
我在這裡遇到了同樣的問題,我試圖一步一步地殺死該進程,但我只是無法殺死所有人。我找到了一個更簡單的解決方案:首先確保您具有root用戶(su)的密碼,然後可以通過 raspi-config
停止自動登錄。找到自動登錄的選項並停止用戶“ pi”自動登錄桌面GUI,無需輸入密碼。重新啟動後,系統將要求您輸入密碼“ pi”。不要這樣做,請按ctrl + alt + F2並以su身份登錄,然後: sudo pkill -u pi
現在將殺死所有使用“ pi”的進程,您可以更改用戶“ pi”。