ฉันต้องการเปลี่ยนชื่อผู้ใช้เริ่มต้น (pi) เป็นบางสิ่งฉันได้ลองแล้ว
usermod -l newusername pi
แต่นั่นทำให้ฉัน
usermod: user pi is currently used by process 2104
มีวิธีอื่นในการแก้ไขบัญชีรูทหรือปิดการใช้งานนี้และสร้างบัญชีรูทใหม่หรือไม่?
ฉันต้องการเปลี่ยนชื่อผู้ใช้เริ่มต้น (pi) เป็นบางสิ่งฉันได้ลองแล้ว
usermod -l newusername pi
แต่นั่นทำให้ฉัน
usermod: user pi is currently used by process 2104
มีวิธีอื่นในการแก้ไขบัญชีรูทหรือปิดการใช้งานนี้และสร้างบัญชีรูทใหม่หรือไม่?
คำตอบ:
ps -lp 2104จะให้ข้อมูลบางอย่างเกี่ยวกับกระบวนการนี้ kill 2104คุณสามารถตรวจสอบที่และ
หมายเหตุคุณจะต้องทำการเข้าสู่ระบบในฐานะผู้ใช้รากหรือผู้ใช้รายอื่นที่มีสิทธิ์ดำเนินการ มันอาจจะไม่ทำงานผ่านทางsudoฯลฯ
คุณจะต้องเปลี่ยนชื่อไดเรกทอรีบ้านด้วย
IMO คุณควรสร้างผู้ใช้ใหม่ด้วยชื่ออะไรก็ตามและปล่อยให้ Pi อยู่ที่นั่น แต่นั่นก็ขึ้นอยู่กับคุณแล้ว
หากคุณอยู่ในคอนโซลของ pi มีวิธีแก้ไขโดยไม่ต้องสร้างผู้ใช้รายอื่น (หรือตั้งค่า pw บนรูท):
สมมติว่าไม่มีสิ่งใดทำงานกับชื่อผู้ใช้ของคุณแล้วเชลล์บนคอนโซล - ไม่มีเซสชัน X ไม่มีการล็อกอิน ssh ฯลฯ :
exec sudo -s
cd /
usermod -l newname -d /home/newname -m oldname
เหตุผลที่ใช้งานได้:
sudo -sบอกsudoว่าแทนที่จะเรียกใช้คำสั่งในฐานะผู้ใช้คนอื่นมันควรจะเรียกใช้เชลล์ใหม่ในฐานะผู้ใช้ที่กำหนดexecบอกเชลล์ว่าแทนที่จะวางไข่กระบวนการใหม่เมื่อมันรันคำสั่ง (ดังนั้นปล่อยให้กระบวนการเชลล์ทำงานในฐานะผู้ใช้ที่ล็อกอิน), ว่าเชลล์ควรเขียนทับตัวเองด้วยกระบวนการใหม่ ซึ่งหมายความว่าเมื่อexecคำสั่งสิ้นสุดเชลล์จะหายไป ในกรณีของเปลือกเข้าสู่ระบบที่เท่ากับตัดการเชื่อมต่อจากการเข้าสู่ระบบcd /เป็นตัวเลือก อย่างน้อยสิ่งที่ได้รับบิตสับสนถ้าคุณย้ายไดเรกทอรีคุณอยู่ใน (เข้าสู่ระบบของคุณเริ่มต้นออกมานั่งอยู่ในผู้ใช้piไดเรกทอรีบ้าน) บางครั้งสิ่งนี้จะทำให้เกิดความล้มเหลวดังนั้นจึงปลอดภัยกว่าขออภัยดังนั้นเมื่อexec sudo -sคุณเขียนทับเชลล์ด้วยเชลล์ใหม่ที่สร้างขึ้นเป็นผู้ใช้อื่น (ผู้ใช้รูทในกรณีนี้)
PS จะแน่ใจว่าจะเต็ม (ลิงค์ยาก) เส้นทางหรือคุณจะจบลงด้วยการย้ายบ้านของบัญชีไปที่คุณไม่คาดหวังและมีรายการไดเรกทอรีปลอมในusermod -dpasswd
คำตอบข้างต้นนั้นถูกต้องฉันแค่ต้องการให้ตัวเลือกอื่นที่เหมาะกับคุณมากกว่า
piเป็นmypiepiเป็นmypiepiทำงานก่อนการเปลี่ยนแปลงsudo su -แก้ไข $vim /etc/systemd/system/autologin@.service
ค้นหาและแสดงความคิดเห็น (#) บรรทัด
#ExecStart=-/sbin/agetty --autologin pi --noclear %I $TERMคุณสามารถยกเลิกการใส่เครื่องหมายข้อคิดเห็นได้ในภายหลังหากคุณต้องการคอนโซลอัตโนมัติแต่อย่าลืมเปลี่ยนผู้ใช้piเป็นชื่อผู้ใช้ใหม่ของคุณmypi
passwdสร้างรหัสผ่านใหม่ที่มีราก (อย่าลืม)rebootloginคำถาม (ไม่ใช่ออโตโลจิน)rootด้วยรหัสผ่านรูทของคุณ ตอนนี้คุณเป็นคนเดียวในระบบและการเปลี่ยนแปลงจะไม่ได้พบกับpi usermod: user pi is currently used by process 2104ตรวจสอบด้วยps -u piเพื่อดูรายการที่ว่างเปล่าusermod -l mypie piอย่างระมัดระวังโดยคีย์สำคัญชนิด นี่จะเปลี่ยนชื่อผู้ใช้ของคุณจาก/etc/passwdไฟล์ แต่สิ่งต่าง ๆ ยังไม่พร้อม อย่างไรก็ตามตรวจสอบtail /etc/passwdและดูบรรทัดสุดท้ายmypie:1000:...1000 คือ UID และเป็นของคุณแล้วsu mypieเพื่อให้แน่ใจ ไม่ทำอะไร. เพิ่งรูทexitอีกครั้ง มันควรจะทำงาน ตอนนี้คุณต้องปรับกลุ่มและ$HOMEโฟลเดอร์groupmod -n mypie piพิมพ์อีกครั้งอย่างระมัดระวัง นี่จะเปลี่ยนpiชื่อกลุ่ม ตรวจสอบด้วยtail /etc/groupและคุณจะเห็นบรรทัดใหม่เป็นชื่อใหม่ที่เชื่อมโยงกับGID1,000ls -la /home/piแล้วคุณจะเห็นว่าpiHOME เป็นของคุณmypieแล้วcd /homeเพื่อทำให้ง่ายขึ้น พิมพ์ls -laและดูกลุ่มpionwermypiemypiemv pi mypie. ตอนนี้คุณต้องเชื่อมโยงการเปลี่ยนแปลงนี้กับผู้ใช้ใหม่ของคุณusermod -d /home/mypie mypie. สิ่งนี้จะเปลี่ยนไดเรกทอรีบ้านของคุณ ตรวจสอบด้วยtail /etc/passwdและดูที่ฟิลด์ที่หก (คั่นด้วย:)rebootmypieในส่วนต่อประสานกราฟิกpasswdเพื่อเปลี่ยนรหัสผ่านของmypieเป็นอย่างอื่นraspberrysudo su -และคุณจะถูกถามรหัสผ่านของคุณ$vim etc/lightdm/lightdm.conf#autologin-user=เปลี่ยนเป็นautologin-user=mypie(ไม่มีความคิดเห็น #)$vim /etc/systemd/system/autologin@.service และเปลี่ยนสาย#ExecStart=-/sbin/agetty --autologin mypie --noclear %I $TERMcd /etc/sudoers.d010_pi-nopasswdเป็น010_mypie_nopasswdvim 010_mypie_nopasswdและเปลี่ยนสายไปอย่างเห็นได้ชัดpi ALL=(ALL) NOPASSWD: ALL mypie ALL=(ALL) NOPASSWD: ALLมันเป็นแบบอ่านอย่างเดียวดังนั้นให้บันทึกด้วยการบังคับ:x!$vim /etc/hostsและการเปลี่ยนแปลงบางสิ่งบางอย่างที่เหมาะสมมากขึ้นเช่น127.0.1.1 raspberry127.0.1.1 myoven$vim /etc/hostnamemyovenreboot/etc/ssh/sshd_config#PermitRootLogin without-passwordPermitRootLogin yes/etc/init.d/ssh restartPermitRootLogin yesบรรทัดและลบความคิดเห็นออกPermitRootLogin without-passwordหมายเหตุ 1:นี่เป็นแนวทางและเนื้อหาเกี่ยวข้องกับคำสั่งที่อันตรายมาก สำรองข้อมูลก่อนหรือระวังว่าคุณอาจต้องเบิร์นรูปภาพของคุณอีกครั้ง ในขณะที่ฉันกำลังสมมติราสเบอร์รี่ปี่ใหม่เอี่ยมจึงไม่มีอะไรจะสำรองมากนัก แต่ถ้าคุณปรับให้เข้ากับสถานการณ์อื่น
หมายเหตุ 2:อาจมีการเปลี่ยนแปลงมากกว่านี้ ในขณะที่ฉันยังใหม่กับ Raspberry pi (ฉันได้รับเมื่อ 2 วันก่อน) ฉันอาจพบว่ามีการปรับอื่น ๆ ที่ฉันออกไปและฉันจะแก้ไขคำตอบนี้อีกครั้ง
หมายเหตุ 3:ความพยายามครั้งแรกของฉันคือการย้ายpiผู้ใช้และpiกลุ่มไปยังอีกUIDและGID(1001) 1000และสร้างผู้ใช้ใหม่สำหรับฉันเป็น นั่นไม่ได้เป็นไปตามที่วางแผนไว้และฉันต้องเผาการ์ด SD ของฉันอีกครั้งหลังจากใช้เวลาทั้งวันพยายามคิดออกว่าทำไมโปรแกรม "กำหนดค่า pi" ของคุณจะไม่ทำงานอีกต่อไป ทีนี้คุณก็ไปได้: ไพใหม่ที่มีชื่อผู้ใช้ของคุณในชื่อ UID 1000 (และสิ่งที่ดีในบ้านของคุณ)
หมายเหตุ 4:ได้รับคำแนะนำหลังจากทำเช่นนั้นแล้วเครื่องมือกำหนดค่ามาตรฐานจะหยุดทำงาน
เชิงอรรถ:ขอบคุณสำหรับชุมชนการแลกเปลี่ยน raspberrypi (เช่นฉันใหม่ที่นี่ด้วย)
vi vimที่จะได้รับเป็นครั้งแรกที่ฉันได้ไปใช้tty ctrl+alt+F1
sudo passwd root usermod -l newname -d /home/newname -m oldnamels -al /home/ groupmod --new-name newname oldnamels -al /home/exit sudo passwd -l root/etc/ssh/sshd_configให้ตั้งค่า "PermitRootLogin no" และเริ่มบริการนั้นใหม่)จากนั้นคุณจะต้องเปลี่ยนการเปลี่ยนแปลงเพิ่มเติมใด ๆ ในสคริปต์ / การตั้งค่าที่อ้างถึง 'pi' ... JOY
ฉันไม่มีคะแนนมากพอที่จะใส่ความคิดเห็นนี้ แต่หากการบูตในเซฟโหมดไม่ทำงานคุณสามารถลองทำสิ่งนี้ได้โดยสร้างบัญชีชั่วคราวและใช้งานจากที่นั่น ดูคำอธิบายได้ที่นี่: /ubuntu//a/34075/112715