ด้วยหลายคำสั่งใน Linux ฉันได้รับข้อผิดพลาด:
cannot lock /etc/passwd; try again later.
ใครรู้วิธีแก้ปัญหาหรือไม่ นอกจากนี้ฉันไม่ได้อยู่ในไดเรกทอรี / etc / shadow ของฉัน
ด้วยหลายคำสั่งใน Linux ฉันได้รับข้อผิดพลาด:
cannot lock /etc/passwd; try again later.
ใครรู้วิธีแก้ปัญหาหรือไม่ นอกจากนี้ฉันไม่ได้อยู่ในไดเรกทอรี / etc / shadow ของฉัน
คำตอบ:
หากไม่มี.lockไฟล์อยู่ แต่คุณยังไม่สามารถสร้างผู้ใช้ได้ลองทำสิ่งต่อไปนี้
sudo mount -o remount,rw /
หากเข้าสู่ระบบในฐานะrootใช้แล้ว
mount -o remount,rw /
.lockไฟล์? ขอบคุณ @trevorRobinson ดูเหมือนว่าคนเราควรมองเข้าไป/etc/ถูกต้องหรือไม่
                    mount: cannot remount /dev/dm-0 read-write, is write-protectedเกิดอะไรขึ้นถ้ามันบอกว่า ฉันอยู่ใน ChromeOS (Linux) พร้อมเปิดใช้งานโหมด Dev
                    นั่นเป็นเพราะคุณไม่มีสิทธิ์สำหรับการดำเนินการเหล่านั้น
/etc/shadow/etc/passwdคุณสามารถเปลี่ยนไฟล์ทั้งสองผ่านคำสั่งพิเศษ (เช่นคุณสามารถเปลี่ยนรหัสผ่าน)
ผู้ใช้ที่คุณกำลังเรียกใช้คำสั่งขาดสิทธิ์ที่จำเป็น เปลี่ยนเป็นrootผู้ใช้โดยออกคำสั่ง
su -
หรือถ้าคุณมี / ใช้ sudo
sudo <command to run>
สิ่งนี้อาจเกิดจากการใช้พื้นที่ว่างบนระบบไฟล์รูทไม่เพียงพอ ใช้straceเพื่อให้แน่ใจ straceเป็นเพื่อนของคุณ.
dfแทนstraceแม้ว่า จะstraceช่วยฉันได้อย่างไร ไม่เคยใช้มัน
                    strace -f -e trace=file  คำสั่งเนื่องจากมักจะให้ผลลัพธ์ที่มีประโยชน์มากที่สุด
                    ฉันพบปัญหานี้เมื่อมีข้อผิดพลาดของดิสก์เกิดขึ้นในระหว่างการดำเนินการของผู้ใช้และระบบจะต้องรีบูท ฉันต้องการลบไฟล์สี่ไฟล์ต่อไปนี้เพื่อดำเนินการต่อ:
sudo rm /etc/passwd.lock
sudo rm /etc/shadow.lock
sudo rm /etc/group.lock
sudo rm /etc/gshadow.lock
หากคุณ-R /some/chrootเพิ่มลงในuseraddคำสั่งของคุณนั่นอาจเป็นปัญหา
ฉันคิดว่ามันหมายความว่าผู้ใช้จะถูกจำคุกเมื่อเข้าสู่ระบบ แต่นั่นไม่ใช่กรณี โดยการดูที่เอาต์พุต strace ฉันเห็น useradd chrooted ลงในไดเร็กทอรีที่ระบุหลังจากนั้นแน่นอนไม่สามารถค้นหา / etc / passwd ได้อีก ดังนั้นฉันไม่แน่ใจว่าตัวเลือกนั้นมีไว้สำหรับอะไร แต่มีปัญหา (ของฉัน) ของคุณ
-R [dir]ตัวเลือกฉันสามารถสร้างผู้ใช้
                    useraddไม่ใช่สิ่งที่คุณคิดว่ามันเป็น :) มันใช้ dir ที่ระบุเป็นรากสำหรับระบบของผู้ใช้เท่านั้น มันเป็นประโยชน์สำหรับการโคลนแยกย่อย OS ซึ่งจะไม่ค่อยมีสิ่งที่คุณต้องการ ...
                    ฉันพบปัญหานี้เมื่อมีข้อผิดพลาดของดิสก์เกิดขึ้นในระหว่างการดำเนินการของผู้ใช้และระบบจะต้องรีบูท ฉันต้องการลบไฟล์สี่ไฟล์ต่อไปนี้เพื่อดำเนินการต่อ:
sudo rm /etc/passwd.lock
sudo rm /etc/shadow.lock
sudo rm /etc/group.lock
sudo rm /etc/gshadow.lock
คำสั่งนี้ช่วยฉันได้จริงๆ ขอบคุณมาก.
ตัวอย่างข้อผิดพลาดนี้บน Ubuntu 14.04:
user@mybox:/home$ sudo useradd eric
user@mybox:/home$ userdel eric
userdel: Permission denied.
userdel: cannot lock /etc/passwd; try again later.
sudo อนุญาตให้คุณล็อคมัน
user@mybox:/home$ sudo userdel eric
user@mybox:/home$
ค้นหาไฟล์ /etc/group.lock, /etc/passwd.lock และ /etc/shadow.lock และลบออก
ใช้ความระมัดระวังในการลบไฟล์ที่ลงท้ายด้วย 'ล็อค' มิฉะนั้นคุณอาจสร้างความเสียหายให้กับระบบของคุณ
การอ้างอิง: https://bugs.launchpad.net/ubuntu/+source/shadow/+bug/523896
มีปัญหาเดียวกันตั้งแต่ / etc เต็ม นี่คือสาเหตุที่ / etc / passwd ไม่สามารถเขียนได้ ตรวจสอบให้แน่ใจว่าคุณมีพื้นที่เพียงพอใน / etc หากไม่ขยายหรือทำความสะอาดสิ่งที่ไม่จำเป็น