在 Ubuntu 服务器 14.04 上执行此操作时:
camilstaps@localhost:~$ sudo useradd --home-dir /var/www/xxx.camilstaps.nl/ --no-create-home --root /var/www/xxx.camilstaps.nl/ --shell /bin/sh xxx
我收到错误:
useradd: cannot lock /etc/passwd; try again later.
我检查并尝试了以下内容(在互联网上找到了所有建议):
- 显然,我使用 sudo
- 存在文件 /etc/.pwd.lock,但它是空的,删除它也没有用
- /etc 目录中没有其他 *.lock 文件
- 文件系统未满(/ 上有 14G 可用)
- 重新启动服务器并不会解除锁。
我被难住了。我该如何解锁 /etc/passwd?
df -ih
输出
camilstaps@localhost:~$ df -ih
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/vda1 1,3M 228K 1,1M 18% /
none 125K 4 125K 1% /sys/fs/cgroup
udev 124K 404 123K 1% /dev
tmpfs 125K 386 124K 1% /run
none 125K 5 125K 1% /run/lock
none 125K 1 125K 1% /run/shm
none 125K 2 125K 1% /run/user
答案1
您可以使用adduser
而不是useradd
。
adduser
还提供了一个交互式会话来配置您的 Linux 用户,并且还/home/username/
自动创建必要的目录。
sudo adduser <username>
adduser
顺便说一句,和之间没有区别useradd
。它们的用途相同。
答案2
成立这这就解决了问题
您需要删除所有四个文件,然后尝试
/etc/passwd.lock
/etc/shadow.lock
/etc/group.lock
/etc/gshadow.lock
以 root 用户身份登录
$ sudo su
rm –rf /etc/passwd.lock
rm –rf /etc/shadow.lock
rm –rf /etc/group.lock
rm –rf /etc/gshadow.lock
然后尝试你的命令。
camilstaps@localhost:~$ sudo useradd --home-dir /var/www/xxx.camilstaps.nl/ --no-create-home --root /var/www/xxx.camilstaps.nl/ --shell /bin/sh xxx