10

Я хотел бы изменить местоположение домашнего каталога root с /root на /var /root. Я имел обыкновение делать это с usermod:

usermod -d /var/root root

Однако с последней версией usermod вы не можете изменить каталог текущего пользователя. Я пытаюсь изменить домашний каталог root во время загрузки в сценарии настройки системы, который запускается при первой загрузке системы, поэтому я не могу быть другим пользователем.

Есть ли другой способ изменить домашний каталог текущего пользователя, вошедшего в систему (в данном случае root)?

Я мог бы, вероятно, sed /etc /passwd, но это кажется небрежным.

1 ответ1

10
  1. Единственная проблема, связанная с ручным редактированием /etc/passwd заключается в том, что может произойти гонка, если какой-то другой пользователь или программа изменит этот файл, пока вы держите его открытым в редакторе. В этом случае это изменение будет потеряно при сохранении файла. Если вы уверены, что эта проблема к вам не относится (другие пользователи не вошли в систему и т.д.), Вы можете продолжить и отредактировать файл /etc/passwd

  2. Убедитесь, что домашний каталог root доступен при загрузке в однопользовательском режиме, например, он должен быть в корневой файловой системе.

  3. Различные приемы, такие как создание дополнительного пользователя с uid 0, переключение на него и изменение домашнего каталога root, не будут работать. Проверки для текущего зарегистрированного пользователя основаны на uid.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .