[Solution] Cannot lock /etc/passwd; try again later – Useradd Error

Written by: Bobbin Zachariah   |   Last updated: October 24, 2022

Sometimes in Linux when adding a user using the useradd command it throws the error 'Cannot lock /etc/passwd; try again later' as shown below:

#useradd test
useradd: cannot lock /etc/passwd; try again later

Answer:

The system files that are related to Linux user management are,

/etc/passwd : Contains user account information
/etc/shadow: Contains secured account information (encrypted password)
/etc/group : Contains group account Information
/etc/gshadow : Contains secured group information (encrypted group password)

When you create or modify a user, some lock files will get created to prevent concurrent modification of these system files. The lock files are,

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

These files should get automatically removed once the command useradd or usermod finishes. Sometimes, you may encounter situations (bugs) where some of these files may not get properly unlocked after the execution of the command. In that case, when you execute useradd next time, it may show the error 'cannot lock /etc/password' or 'unable to lock group file'. So, if you get any such errors, check for any lock files under /etc.

# cd /etc
# ls –l *.lock

If you find any lock files named passwd.lock, shadow.lock, group.lock or gshadow.lock, remove it.

# rm –rf /etc/passwd.lock
# rm –rf /etc/shadow.lock
# rm –rf /etc/group.lock
# rm –rf /etc/gshadow.lock

In case you are unable to find the .lock file try remount root partition with read/write - sudo mount -o remount,rw /.

The problem could be also related to free space on the filesystem use df or strace (strace -f -e trace=filename) command to check.

Now, you should be able to execute useradd without any errors. You should also ensure that your file system has not gone into read-only mode. That will definitely cause an issue.

About The Author

Bobbin Zachariah

Bobbin Zachariah

Bobbin Zachariah is an experienced Linux engineer who has been supporting infrastructure for many companies. He specializes in Shell scripting, AWS Cloud, JavaScript, and Nodejs. He has qualified Master’s degree in computer science. He holds Red Hat Certified Engineer (RHCE) certification and RedHat Enable Sysadmin.

SHARE

Comments

Please add comments below to provide the author your ideas, appreciation and feedback.

Leave a Reply

Leave a Comment