Không thể khóa / etc / passwd; thử lại sau


30

Với một số lệnh trong Linux, tôi gặp lỗi:

cannot lock /etc/passwd; try again later.

Có ai biết làm thế nào để giải quyết nó? Ngoài ra tôi không nhận được trong thư mục / etc / bóng của tôi.


2
bạn phải tăng cấp độ người dùng bằng cách sử dụng lệnh "sudo" hoặc "su".
Raptor

4
Bạn etc / / shadow thư mục ?!? / etc / bóng nên là một tập tin. Vui lòng đưa ra lệnh chính xác mà bạn đang cố thực hiện.
Brian White

3
Trong trường hợp của tôi, hệ thống tập tin gốc đã đầy :-p

Câu trả lời:


22

Nếu không có .locktệp nào nhưng bạn vẫn không thể tạo người dùng, hãy thử cách sau

sudo mount -o remount,rw /

Nếu đăng nhập như rootsau đó sử dụng

mount -o remount,rw /

Điều này đã giải quyết vấn đề tôi gặp phải sau khi khởi động vào chế độ phục hồi bằng cách chỉnh sửa mục nhập grub
twobeers

Nhưng người ta sẽ tìm các .locktập tin ở đâu? cảm ơn @trevorRobinson có vẻ như người ta nên nhìn vào /etc/, đúng không?
xin chào_there_andy

Điều gì nếu nó nói mount: cannot remount /dev/dm-0 read-write, is write-protected. Tôi đang sử dụng ChromeOS (Linux) với chế độ Dev.
trusktr

Tại sao đây không phải là câu trả lời được chấp nhận ??
math2001

9

Đó là bởi vì bạn không có quyền cho các hoạt động đó

  • Bạn không thể đọc /etc/shadow
  • Bạn không thể trực tiếp sửa đổi /etc/passwd

Bạn có thể thay đổi cả hai tệp thông qua các lệnh chuyên dụng (ví dụ: bạn có thể thay đổi mật khẩu của mình).


1
để thay đổi mật khẩu, hãy sử dụng "passwd <tên người dùng>"
Raptor

9

Người dùng bạn đang chạy các lệnh vì thiếu các đặc quyền cần thiết. Thay đổi rootngười dùng bằng cách ban hành lệnh

su -

hoặc nếu bạn có / sử dụng sudo

sudo <command to run>

6

Điều này cũng có thể được gây ra bằng cách hết dung lượng trên hệ thống tập tin gốc. Sử dụng straceđể chắc chắn. stracelà bạn của bạn.


Tôi đã đọc nhiều chủ đề với vấn đề của mình và đó thực sự là giải pháp. Tôi nên là một trong những điều đầu tiên để kiểm tra khi có bất kỳ vấn đề nào về hệ thống tập tin, tôi đoán vậy. Tôi đang sử dụng dfthay vì stracemặc dù. Làm thế nào sẽ stracegiúp tôi? Không bao giờ sử dụng nó
erikbwork

2
Chà, nếu bạn đã đoán rằng vấn đề có thể sắp hết dung lượng, thì df có thể giúp. Nhưng strace sẽ cho bạn biết mã lỗi là gì khi nó cố khóa tệp, vì vậy nó sẽ loại bỏ phỏng đoán. Cách tôi thường gọi strace là strace -f -e trace=file lệnh vì điều này thường cho kết quả hữu ích nhất.
Robin Green

6

Tôi gặp phải vấn đề này khi xảy ra lỗi đĩa trong quá trình thao tác userdel và hệ thống phải được khởi động lại. Tôi cần phải xóa tất cả bốn tệp sau đây để tiến hành:

sudo rm /etc/passwd.lock
sudo rm /etc/shadow.lock
sudo rm /etc/group.lock
sudo rm /etc/gshadow.lock

6

Nếu bạn đã -R /some/chrootthêm vào useraddlệnh của bạn , đó có thể là vấn đề.

Tôi nghĩ rằng nó có nghĩa là người dùng sẽ bị bỏ tù khi đăng nhập, nhưng đó không phải là trường hợp. Bằng cách nhìn vào đầu ra strace, tôi thấy useradd chroot vào thư mục được chỉ định, sau đó tất nhiên nó không thể tìm thấy / etc / passwd nữa. Vì vậy, tôi không chắc lựa chọn này là gì, nhưng có vấn đề của bạn (tốt, của tôi).


Đây chính xác là những gì tôi đã cố gắng. Sau khi loại bỏ -R [dir]tùy chọn, tôi có thể tạo người dùng.
Gustavo Straube

Đoán đẹp đấy! Cảm ơn bạn. Tôi cũng hiểu rằng chroot cho useraddkhông phải là những gì bạn nghĩ đó là :) Nó chỉ sử dụng thư mục được chỉ định làm gốc cho hệ thống của người dùng . Nó hữu ích cho việc sao chép hệ điều hành phụ bị cô lập, hiếm khi bạn muốn ...
Ninj

2

Tôi gặp phải vấn đề này khi xảy ra lỗi đĩa trong quá trình thao tác userdel và hệ thống phải được khởi động lại. Tôi cần phải xóa tất cả bốn tệp sau đây để tiến hành:

sudo rm /etc/passwd.lock
sudo rm /etc/shadow.lock
sudo rm /etc/group.lock
sudo rm /etc/gshadow.lock

Lệnh này thực sự giúp tôi. Cảm ơn rất nhiều.


Đây là một lời cảm ơn bạn bình luận cho một câu trả lời trước đó.
suspectus

1

Bản demo của lỗi này trên 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 cho phép bạn khóa nó.

user@mybox:/home$ sudo userdel eric
user@mybox:/home$


1

Có cùng một vấn đề, vì / etc đã đầy. Đây là lý do tại sao / etc / passwd không thể được viết. Hãy chắc chắn rằng bạn có đủ không gian trên / etc, nếu không thì hãy phóng to nó hoặc dọn dẹp những thứ không cần thiết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.