В данный момент я вошел на сервер CentOS и хочу изменить свой домашний каталог с /home/myuserName/
на/var/www/html/
Я попробовал следующую команду:
> sudo usermod -d /var/www/html myuserName
Но это дает мне ошибку:
usermod: user myUserName is currently logged in
HOME=/var/www/html
изменится для сеанса, ваш домашний директор.Ответы:
краткий ответ : вы не можете.
длинный ответ :
HOME
dir установлен в/etc/passwd
6 поле. Это читается при входе в систему, ваша оболочка запускается с этим домашним каталогом.Правильный способ изменить домашний каталог для Джо:
usermod -d /new/home joe
чтобы изменить домашний каталог для последующего сеанса.После запуска сеанса вы должны сделать две вещи:
$HOME
чтобы изменить домашний каталог для сеанса (повторяется на всем активном сеансе).sudo vipw
для редактирования домашнего каталога для следующей сессииТакже имейте в виду, что у вас могут быть проблемы с разрешениями / правами на
/var/www/html
источник
Команда usermod не будет работать, если вы вошли в систему с пользователем, в которого вы пытаетесь внести изменения.
На странице руководства пользователя usermod написано:
Попробуйте войти в систему с другим пользователем и снова запустить команду.
Если это невозможно, вы можете вручную отредактировать файл / etc / passwd (что фактически и делает команда usermod). Если вы сделаете это, убедитесь, что вы создали резервную копию файла на случай, если вы случайно сделаете что-то глупое.
источник
Вам нужно отредактировать
/etc/passwd
файл, чтобы изменить домашний каталог пользователей, которые в данный момент вошли в систему.Отредактируйте с
/etc/passwd
помощьюsudo vipw
и измените домашний каталог пользователя.vipw
Настоятельно рекомендуется, кромеvim
или других редакторов, такvipw
как установит блокировку, чтобы предотвратить любое повреждение данных.источник
Пара возможных обходных путей, в зависимости от того, что вы надеетесь решить:
Вариант 1. Добавьте
HOME=/var/www/html
в свой .bashrcВариант 2. Переименуйте,
/home/myusername
а затем создайте символическую ссылку на нужный каталог.источник
Вы можете сделать это только временно. Это означает, что каждый раз, когда вы входите в систему как этот пользователь, вы должны выполнить эту команду:
Таким образом, вы можете заставить большинство приложений думать, что ваш домашний каталог находится в любом месте, которое вы используете выше.
~
также начнет указывать на/var/www/html
.Приложения, с которыми это работало для меня, были NPM и Maven.
источник