15 July,2013 by Jack Vamvas
When creating a new local user on Linux with the useradd and the directory already exists , the following error \ warning message appears:
useradd: warning: the home directory already exists. Not copying any file from skel directory into it.
If the directory didn’t exist , the Linux useradd process creates the directory and copies the skel files : .kshrc , .bashrc , .bash_profile and .bash_logout files into the user directory.
As a DBA it is not unusual to receive a server with directories already in place. In those situations a scripted approach is required to copy the skel files. A quick and dirty solution is to add the following line after the useradd sequence
cp -r /etc/skel/. /<user_home_directpory>
An example sequence could be :
#add user : db2usr echo "add user = db2usr" useradd -g db2iadm1 -m db2usr -p 'dg8WM/S.o/bAE' -d /db2usr chown db2usr /db2usr #copy skel files cp -r /etc/skel/. /db2usr