How to change the Home directory of the currently logged In user

Clash Royale CLAN TAG#URR8PPP
up vote
10
down vote
favorite
I am currently logged in into a CentOS server and I would like to change my home directory from /home/myuserName/ to /var/www/html/
I tried the below command :
> sudo usermod -d /var/www/html myuserName
But this gives me an error:
usermod: user myUserName is currently logged in
linux centos users home
add a comment |
up vote
10
down vote
favorite
I am currently logged in into a CentOS server and I would like to change my home directory from /home/myuserName/ to /var/www/html/
I tried the below command :
> sudo usermod -d /var/www/html myuserName
But this gives me an error:
usermod: user myUserName is currently logged in
linux centos users home
2
I am unsure what you meant,HOME=/var/www/htmlwill change for the session your home dir.
– Archemar
Feb 4 '16 at 8:23
That helps, But i would like to change my home directory permanently, not for just the current session.
– Mohan
Feb 4 '16 at 8:28
add a comment |
up vote
10
down vote
favorite
up vote
10
down vote
favorite
I am currently logged in into a CentOS server and I would like to change my home directory from /home/myuserName/ to /var/www/html/
I tried the below command :
> sudo usermod -d /var/www/html myuserName
But this gives me an error:
usermod: user myUserName is currently logged in
linux centos users home
I am currently logged in into a CentOS server and I would like to change my home directory from /home/myuserName/ to /var/www/html/
I tried the below command :
> sudo usermod -d /var/www/html myuserName
But this gives me an error:
usermod: user myUserName is currently logged in
linux centos users home
linux centos users home
edited Feb 4 '16 at 11:36
Jeff Schaller
37.5k1052121
37.5k1052121
asked Feb 4 '16 at 8:05
Mohan
151115
151115
2
I am unsure what you meant,HOME=/var/www/htmlwill change for the session your home dir.
– Archemar
Feb 4 '16 at 8:23
That helps, But i would like to change my home directory permanently, not for just the current session.
– Mohan
Feb 4 '16 at 8:28
add a comment |
2
I am unsure what you meant,HOME=/var/www/htmlwill change for the session your home dir.
– Archemar
Feb 4 '16 at 8:23
That helps, But i would like to change my home directory permanently, not for just the current session.
– Mohan
Feb 4 '16 at 8:28
2
2
I am unsure what you meant,
HOME=/var/www/html will change for the session your home dir.– Archemar
Feb 4 '16 at 8:23
I am unsure what you meant,
HOME=/var/www/html will change for the session your home dir.– Archemar
Feb 4 '16 at 8:23
That helps, But i would like to change my home directory permanently, not for just the current session.
– Mohan
Feb 4 '16 at 8:28
That helps, But i would like to change my home directory permanently, not for just the current session.
– Mohan
Feb 4 '16 at 8:28
add a comment |
5 Answers
5
active
oldest
votes
up vote
12
down vote
short answer : you can't.
long answer:
HOME dir is set in /etc/passwd, 6th field. It is read upon loggin, your shell is started with this home dir.
The proper way to change home dir for joe is :
- have joe log off.
- use
usermod -d /new/home joeto change home dir for subsequent session.
Once session is run, you must do two things:
- edit
$HOMEto change home dir for session (to be repeated on all active session). - use
sudo vipwto edit home dir for next wession
Also, be aware you might have an issue with permissions/ownship on /var/www/html
edit /etc/passwd always worked for me. See @7171u below
– jeffmcneill
Mar 30 '17 at 11:35
editing /etc/passwd without logoff/logon ?
– Archemar
Mar 30 '17 at 12:02
editing /etc/passwd for an account that is logged in, and then start a new session with that same account, and it obeys the new home dir. For the already logged in account, that session still has the old home location in the Environment.
– jeffmcneill
Mar 31 '17 at 9:12
add a comment |
up vote
7
down vote
The usermod command won't work if you're logged in with the user you are trying to make changes on.
From the manual page on usermod it says:
CAVEATS
usermod will not allow you to change the name of a user who is logged in. You must make certain that the named user is not executing
any processes when this command is being executed if the user's
numerical
user ID is being changed. You must change the owner of any crontab files manually. You must change the owner of any at jobs
manually. You must make any changes involving NIS on the NIS server.
Try logging in with a different user and running the command again.
If that isn't possible then you can manually edit the /etc/passwd file (which is actually what the usermod command is doing). If you do that make sure you back the file up in case you inadvertently do something silly.
add a comment |
up vote
4
down vote
You need to edit the /etc/passwd file to change home directory of users that are currently logged in.
Edit the /etc/passwd with sudo vipw and change home directory of the user.
vipw highly recommended other than vim or other editors since vipw will set lock to prevent any data corruption.
add a comment |
up vote
0
down vote
A couple possible workarounds, depending on what you're hoping to solve:
Option 1. Add HOME=/var/www/html to your .bashrc
Option 2. Rename /home/myusername and then create a symlink to the desired directory.
mv /home/myusername /home/myusername-old
ln -s /var/www/html /home/myusername
bad habbit. after that, myusername-old can not be used by other user
– GeoMint
Jun 3 at 9:52
add a comment |
up vote
-1
down vote
You can only do this temporarily. This means that every time you login as that user you have to run this one command:
export HOME=/var/www/html
This way, you can make most applications think that your home directory is whatever location you use above.
~ will also start to point to /var/www/html.
The applications this worked with for me were NPM and Maven.
add a comment |
5 Answers
5
active
oldest
votes
5 Answers
5
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
12
down vote
short answer : you can't.
long answer:
HOME dir is set in /etc/passwd, 6th field. It is read upon loggin, your shell is started with this home dir.
The proper way to change home dir for joe is :
- have joe log off.
- use
usermod -d /new/home joeto change home dir for subsequent session.
Once session is run, you must do two things:
- edit
$HOMEto change home dir for session (to be repeated on all active session). - use
sudo vipwto edit home dir for next wession
Also, be aware you might have an issue with permissions/ownship on /var/www/html
edit /etc/passwd always worked for me. See @7171u below
– jeffmcneill
Mar 30 '17 at 11:35
editing /etc/passwd without logoff/logon ?
– Archemar
Mar 30 '17 at 12:02
editing /etc/passwd for an account that is logged in, and then start a new session with that same account, and it obeys the new home dir. For the already logged in account, that session still has the old home location in the Environment.
– jeffmcneill
Mar 31 '17 at 9:12
add a comment |
up vote
12
down vote
short answer : you can't.
long answer:
HOME dir is set in /etc/passwd, 6th field. It is read upon loggin, your shell is started with this home dir.
The proper way to change home dir for joe is :
- have joe log off.
- use
usermod -d /new/home joeto change home dir for subsequent session.
Once session is run, you must do two things:
- edit
$HOMEto change home dir for session (to be repeated on all active session). - use
sudo vipwto edit home dir for next wession
Also, be aware you might have an issue with permissions/ownship on /var/www/html
edit /etc/passwd always worked for me. See @7171u below
– jeffmcneill
Mar 30 '17 at 11:35
editing /etc/passwd without logoff/logon ?
– Archemar
Mar 30 '17 at 12:02
editing /etc/passwd for an account that is logged in, and then start a new session with that same account, and it obeys the new home dir. For the already logged in account, that session still has the old home location in the Environment.
– jeffmcneill
Mar 31 '17 at 9:12
add a comment |
up vote
12
down vote
up vote
12
down vote
short answer : you can't.
long answer:
HOME dir is set in /etc/passwd, 6th field. It is read upon loggin, your shell is started with this home dir.
The proper way to change home dir for joe is :
- have joe log off.
- use
usermod -d /new/home joeto change home dir for subsequent session.
Once session is run, you must do two things:
- edit
$HOMEto change home dir for session (to be repeated on all active session). - use
sudo vipwto edit home dir for next wession
Also, be aware you might have an issue with permissions/ownship on /var/www/html
short answer : you can't.
long answer:
HOME dir is set in /etc/passwd, 6th field. It is read upon loggin, your shell is started with this home dir.
The proper way to change home dir for joe is :
- have joe log off.
- use
usermod -d /new/home joeto change home dir for subsequent session.
Once session is run, you must do two things:
- edit
$HOMEto change home dir for session (to be repeated on all active session). - use
sudo vipwto edit home dir for next wession
Also, be aware you might have an issue with permissions/ownship on /var/www/html
answered Feb 4 '16 at 9:27
Archemar
19.5k93569
19.5k93569
edit /etc/passwd always worked for me. See @7171u below
– jeffmcneill
Mar 30 '17 at 11:35
editing /etc/passwd without logoff/logon ?
– Archemar
Mar 30 '17 at 12:02
editing /etc/passwd for an account that is logged in, and then start a new session with that same account, and it obeys the new home dir. For the already logged in account, that session still has the old home location in the Environment.
– jeffmcneill
Mar 31 '17 at 9:12
add a comment |
edit /etc/passwd always worked for me. See @7171u below
– jeffmcneill
Mar 30 '17 at 11:35
editing /etc/passwd without logoff/logon ?
– Archemar
Mar 30 '17 at 12:02
editing /etc/passwd for an account that is logged in, and then start a new session with that same account, and it obeys the new home dir. For the already logged in account, that session still has the old home location in the Environment.
– jeffmcneill
Mar 31 '17 at 9:12
edit /etc/passwd always worked for me. See @7171u below
– jeffmcneill
Mar 30 '17 at 11:35
edit /etc/passwd always worked for me. See @7171u below
– jeffmcneill
Mar 30 '17 at 11:35
editing /etc/passwd without logoff/logon ?
– Archemar
Mar 30 '17 at 12:02
editing /etc/passwd without logoff/logon ?
– Archemar
Mar 30 '17 at 12:02
editing /etc/passwd for an account that is logged in, and then start a new session with that same account, and it obeys the new home dir. For the already logged in account, that session still has the old home location in the Environment.
– jeffmcneill
Mar 31 '17 at 9:12
editing /etc/passwd for an account that is logged in, and then start a new session with that same account, and it obeys the new home dir. For the already logged in account, that session still has the old home location in the Environment.
– jeffmcneill
Mar 31 '17 at 9:12
add a comment |
up vote
7
down vote
The usermod command won't work if you're logged in with the user you are trying to make changes on.
From the manual page on usermod it says:
CAVEATS
usermod will not allow you to change the name of a user who is logged in. You must make certain that the named user is not executing
any processes when this command is being executed if the user's
numerical
user ID is being changed. You must change the owner of any crontab files manually. You must change the owner of any at jobs
manually. You must make any changes involving NIS on the NIS server.
Try logging in with a different user and running the command again.
If that isn't possible then you can manually edit the /etc/passwd file (which is actually what the usermod command is doing). If you do that make sure you back the file up in case you inadvertently do something silly.
add a comment |
up vote
7
down vote
The usermod command won't work if you're logged in with the user you are trying to make changes on.
From the manual page on usermod it says:
CAVEATS
usermod will not allow you to change the name of a user who is logged in. You must make certain that the named user is not executing
any processes when this command is being executed if the user's
numerical
user ID is being changed. You must change the owner of any crontab files manually. You must change the owner of any at jobs
manually. You must make any changes involving NIS on the NIS server.
Try logging in with a different user and running the command again.
If that isn't possible then you can manually edit the /etc/passwd file (which is actually what the usermod command is doing). If you do that make sure you back the file up in case you inadvertently do something silly.
add a comment |
up vote
7
down vote
up vote
7
down vote
The usermod command won't work if you're logged in with the user you are trying to make changes on.
From the manual page on usermod it says:
CAVEATS
usermod will not allow you to change the name of a user who is logged in. You must make certain that the named user is not executing
any processes when this command is being executed if the user's
numerical
user ID is being changed. You must change the owner of any crontab files manually. You must change the owner of any at jobs
manually. You must make any changes involving NIS on the NIS server.
Try logging in with a different user and running the command again.
If that isn't possible then you can manually edit the /etc/passwd file (which is actually what the usermod command is doing). If you do that make sure you back the file up in case you inadvertently do something silly.
The usermod command won't work if you're logged in with the user you are trying to make changes on.
From the manual page on usermod it says:
CAVEATS
usermod will not allow you to change the name of a user who is logged in. You must make certain that the named user is not executing
any processes when this command is being executed if the user's
numerical
user ID is being changed. You must change the owner of any crontab files manually. You must change the owner of any at jobs
manually. You must make any changes involving NIS on the NIS server.
Try logging in with a different user and running the command again.
If that isn't possible then you can manually edit the /etc/passwd file (which is actually what the usermod command is doing). If you do that make sure you back the file up in case you inadvertently do something silly.
edited Mar 9 at 12:04
Jeff Schaller
37.5k1052121
37.5k1052121
answered Feb 4 '16 at 8:47
MattM
7810
7810
add a comment |
add a comment |
up vote
4
down vote
You need to edit the /etc/passwd file to change home directory of users that are currently logged in.
Edit the /etc/passwd with sudo vipw and change home directory of the user.
vipw highly recommended other than vim or other editors since vipw will set lock to prevent any data corruption.
add a comment |
up vote
4
down vote
You need to edit the /etc/passwd file to change home directory of users that are currently logged in.
Edit the /etc/passwd with sudo vipw and change home directory of the user.
vipw highly recommended other than vim or other editors since vipw will set lock to prevent any data corruption.
add a comment |
up vote
4
down vote
up vote
4
down vote
You need to edit the /etc/passwd file to change home directory of users that are currently logged in.
Edit the /etc/passwd with sudo vipw and change home directory of the user.
vipw highly recommended other than vim or other editors since vipw will set lock to prevent any data corruption.
You need to edit the /etc/passwd file to change home directory of users that are currently logged in.
Edit the /etc/passwd with sudo vipw and change home directory of the user.
vipw highly recommended other than vim or other editors since vipw will set lock to prevent any data corruption.
answered Feb 4 '16 at 8:33
7171u
83548
83548
add a comment |
add a comment |
up vote
0
down vote
A couple possible workarounds, depending on what you're hoping to solve:
Option 1. Add HOME=/var/www/html to your .bashrc
Option 2. Rename /home/myusername and then create a symlink to the desired directory.
mv /home/myusername /home/myusername-old
ln -s /var/www/html /home/myusername
bad habbit. after that, myusername-old can not be used by other user
– GeoMint
Jun 3 at 9:52
add a comment |
up vote
0
down vote
A couple possible workarounds, depending on what you're hoping to solve:
Option 1. Add HOME=/var/www/html to your .bashrc
Option 2. Rename /home/myusername and then create a symlink to the desired directory.
mv /home/myusername /home/myusername-old
ln -s /var/www/html /home/myusername
bad habbit. after that, myusername-old can not be used by other user
– GeoMint
Jun 3 at 9:52
add a comment |
up vote
0
down vote
up vote
0
down vote
A couple possible workarounds, depending on what you're hoping to solve:
Option 1. Add HOME=/var/www/html to your .bashrc
Option 2. Rename /home/myusername and then create a symlink to the desired directory.
mv /home/myusername /home/myusername-old
ln -s /var/www/html /home/myusername
A couple possible workarounds, depending on what you're hoping to solve:
Option 1. Add HOME=/var/www/html to your .bashrc
Option 2. Rename /home/myusername and then create a symlink to the desired directory.
mv /home/myusername /home/myusername-old
ln -s /var/www/html /home/myusername
edited Nov 9 '16 at 14:38
Archemar
19.5k93569
19.5k93569
answered Nov 9 '16 at 0:10
Dax Kerchner
1
1
bad habbit. after that, myusername-old can not be used by other user
– GeoMint
Jun 3 at 9:52
add a comment |
bad habbit. after that, myusername-old can not be used by other user
– GeoMint
Jun 3 at 9:52
bad habbit. after that, myusername-old can not be used by other user
– GeoMint
Jun 3 at 9:52
bad habbit. after that, myusername-old can not be used by other user
– GeoMint
Jun 3 at 9:52
add a comment |
up vote
-1
down vote
You can only do this temporarily. This means that every time you login as that user you have to run this one command:
export HOME=/var/www/html
This way, you can make most applications think that your home directory is whatever location you use above.
~ will also start to point to /var/www/html.
The applications this worked with for me were NPM and Maven.
add a comment |
up vote
-1
down vote
You can only do this temporarily. This means that every time you login as that user you have to run this one command:
export HOME=/var/www/html
This way, you can make most applications think that your home directory is whatever location you use above.
~ will also start to point to /var/www/html.
The applications this worked with for me were NPM and Maven.
add a comment |
up vote
-1
down vote
up vote
-1
down vote
You can only do this temporarily. This means that every time you login as that user you have to run this one command:
export HOME=/var/www/html
This way, you can make most applications think that your home directory is whatever location you use above.
~ will also start to point to /var/www/html.
The applications this worked with for me were NPM and Maven.
You can only do this temporarily. This means that every time you login as that user you have to run this one command:
export HOME=/var/www/html
This way, you can make most applications think that your home directory is whatever location you use above.
~ will also start to point to /var/www/html.
The applications this worked with for me were NPM and Maven.
answered Jan 11 at 11:54
Molten Ice
1265
1265
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f259791%2fhow-to-change-the-home-directory-of-the-currently-logged-in-user%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
I am unsure what you meant,
HOME=/var/www/htmlwill change for the session your home dir.– Archemar
Feb 4 '16 at 8:23
That helps, But i would like to change my home directory permanently, not for just the current session.
– Mohan
Feb 4 '16 at 8:28