to change the home directory of a user by using usermod
i want to change the
linus(/home/linus) to linus(/home/linus/gnu/linux) i tried the following commands to do it: #useradd linus #mkdir -pv /home/linus/gnu #usermod -d /home/linus/gnu/linux -m linus but its not creating the user in the specified location after logging iinto the user and using the "pwd" command it shows "/" directory instead of "/home/linus/gnu/linux" |
Does directory "/home/linus/gnu/linux" exists and have "rx" permission for owner and owner is "linus"?
|
The directory "/home/linus/gnu" exists and have the "rwx" permission. The ownership belongs to "linus".
|
As you said, you want to change user's home from /home/linus to /home/linus/gnu/linux, which means /home/linus exists and is user's home directory. But when you switch to user it gives you "/", which is root's home directory.
So once check /etc/passwd file entry for the user linus, as: Code:
grep linus /etc/passwd |
"linus:x:1001:100::/home/linus:/bin/bash"
This is when the home directory is "/home/linus". And when i change the home directory by the "usermod" command to "/home/linus/gnu/linux" the "grep linus /etc/passwd" gives this output "linus:x:1001:100::/home/linus/gnu/linux:/bin/bash". and i get the "/" home directory in the user login after i have done this changes to the user. when my home directory is "/home/linus" i don't experience any problem but as soon as i change the home directory, the user's login shows "/" for "pwd" command |
Yes, but I ask about "/home/linus/gnu/linux", check also all parent directories if user linus has "x" permission for it. It need to traverse these directories. You can use "su linus" as root and check if you can do "cd /home/linus/gnu/linux".
|
This seem some problem with user's profile. Somewhere
Code:
cd / Once check: Code:
grep "cd" .bashrc .profile |
It could be, but more probably is that user linus cannot switch to his home directory. Then "/" is default.
|
All times are GMT -5. The time now is 01:14 PM. |