Изменить домашний каталог пользователя linux

Обновлено: 01.07.2024

В данной инструкции рассказывается о работе с пользователями Linux через терминал (с применением командной строки).

Создание

useradd <имя пользователя> [опции]

* опции не являются обязательными при создании пользователя.

* в данном примере создается учетная запись dmosk.

Для учетной записи стоит сразу создать пароль:

* после ввода, система попросит ввести пароль дважды.

Ключи (опции)

Ключ Описание и примеры
-b Задает базовый каталог для домашнего каталога
useradd dmosk -b /var/home
-c Создает комментарий для описания учетной записи
useradd dmosk -c "Пользователя для управления системой"
-d Полный путь к домашнему каталогу пользователя
useradd dmosk -d /home/newuser
-D Позволяет показать или изменить настройки по умолчанию, которые будут применяться при последующем создании пользователей
useradd dmosk -Ds /bin/bash
-e Дата, после которой учетная запись устареет.
useradd dmosk -e 2017-12-31
-f Число дней, после которого учетная запись с устаревшим паролем будет заблокирована
useradd dmosk -f 0
-g Задает основную группу
useradd dmosk -g altternativegroup
-G Задает дополнительные группы
useradd dmosk -G wheel
-k Путь к источнику скелета (файлы с шаблонами для нового пользователя)
useradd dmosk -k /var/skel
-m При создании пользователя создать домашний каталог
useradd dmosk -m
-M Не создавать домашний каталог
useradd dmosk -M
-N Не создавать основную группу с таким же именем, как у пользователя
useradd dmosk -N
-o Разрешает создание учетной записи с повторяющимся UID
useradd dmosk -u 15 -o
-p Задает пароль
useradd dmosk -p pass
-r Системная учетная запись (без домашнего каталога и с идентификаторами в диапазоне SYS_UID_MIN - SYS_UID_MAX из файла /etc/login.defs)
useradd dmosk -r
-R Каталог, в который выполняется chroot
useradd dmosk -R /var/chroot/home
-s Путь до оболочки командной строки
useradd dmosk -s /bin/csh
-u Задает UID
useradd dmosk -u 666
-U Имя группы будет таким же, как у пользователя
useradd dmosk -U

Актуальный список ключей можно получить командой useradd -h.

Редактирование

usermod <имя пользователя> [опции]

usermod dmosk -G wheel

* эта команда добавит пользователя dmosk в группу wheel

Удаление

userdel <имя пользователя> [опции]

Блокировка

Можно заблокировать пользователя, не удаляя его из системы:

usermod -L <имя пользователя>

usermod -L dmosk

Чтобы разблокировать пользователя, вводим:

usermod -U <имя пользователя>

Работа с группами

1. Добавление группы:

groupadd <группа> [опции]

groupmod <группа> [опции]

3. Удаление группы:

groupdel <группа> [опции]

4. Добавление пользователя в группу:

Выполняется через команду usermod:

usermod -a -G <группы через запятую> <пользователь>

5. Удаление из группы:

Выполняется с помощью gpasswd:

gpasswd --delete <пользователь> <группы через запятую>

Список пользователей

Посмотреть список пользователей можно в файле /etc/passwd:

Мы увидим что-то на подобие:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
.

Как правило, большая часть данных пользователей является системными — их UID меньше 1000 и больше 60000.

Более функциональная команда для отображения содержимого файла passwd — getent:

Можно найти пользователя по идентификатору:

getent passwd 1000

Получить список не системных пользователей:

Получить только список логинов не системных учетных записей:

Примеры работы с учетными записями

useradd

Создать пользователя, добавить его в группу и создать домашнюю директорию:

useradd dmosk -G wheel -m

Создать пользователя с определенными UID и GID (соответственно идентификаторы пользователя и группы):

useradd dmosk -u 900 -g 950

* группа с используемым идентификатором (в данном примере 950) уже должна быть создана заранее с использованием команды groupadd.

Создать пользователя и указать путь к домашней директории:

useradd dmosk -d /home/newdmosk

Создать учетную запись без возможности входа в систему:

useradd dmosk -s /sbin/nologin

usermod

Потребовать сменить пароль при следующем входе в систему:

chage -d 0 dmosk

Поменять пользователю основную группу:

usermod dmosk -g kdonewgroup

Задать пользователю дополнительную группу с правами root:

usermod dmosk -G sudo

Добавить пользователя в группу:

usermod -a -G group dmosk

* в данном примере мы добавим пользователя dmosk в группу group.

Сменить домашнюю директорию:

usermod -d /var/www/dmosk dmosk

* данной командой мы меняем для пользователя dmosk домашнюю директорию на /var/www/dmosk.

HOME dir установлен в /etc/passwd 6 поле. Это читается при входе в систему, ваша оболочка запускается с этим домашним каталогом.

Правильный способ изменить домашний каталог для Джо:

  • Джо выйти из системы.
  • используйте, usermod -d /new/home joe чтобы изменить домашний каталог для последующего сеанса.

После запуска сеанса вы должны сделать две вещи:

  • изменить, $HOME чтобы изменить домашний каталог для сеанса (повторяется на всем активном сеансе).
  • использовать sudo vipw для редактирования домашнего каталога для следующей сессии

Также имейте в виду, что у вас могут быть проблемы с разрешениями / правами на /var/www/html

редактировать / etc / passwd всегда работал для меня. Смотрите @ 7171u ниже редактирование / etc / passwd без выхода из системы / входа в систему?

Команда usermod не будет работать, если вы вошли в систему с пользователем, в которого вы пытаетесь внести изменения.

На странице руководства пользователя usermod написано:

CAVEATS usermod не позволит вам изменить имя пользователя, который вошел в систему. Вы должны убедиться, что указанный пользователь не выполняет никаких процессов, когда эта команда выполняется, если числовой ID пользователя пользователя изменяется. Вы должны изменить владельца любых файлов crontab вручную. Вы должны сменить владельца любого из рабочих мест вручную. Вы должны внести любые изменения, касающиеся NIS, на сервере NIS.

Попробуйте войти в систему с другим пользователем и снова запустить команду.

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

Вам нужно отредактировать /etc/passwd файл, чтобы изменить домашний каталог пользователей, которые в данный момент вошли в систему.

Отредактируйте с /etc/passwd помощью sudo vipw и измените домашний каталог пользователя.

vipw Настоятельно рекомендуется, кроме vim или других редакторов, так vipw как установит блокировку, чтобы предотвратить любое повреждение данных.

Пара возможных обходных путей, в зависимости от того, что вы надеетесь решить:

Вариант 1. Добавьте HOME=/var/www/html в свой .bashrc

Вариант 2. Переименуйте, /home/myusername а затем создайте символическую ссылку на нужный каталог.

плохая привычка. после этого myusername-old не может использоваться другим пользователем

Вы можете сделать это только временно. Это означает, что каждый раз, когда вы входите в систему как этот пользователь, вы должны выполнить эту команду:

Таким образом, вы можете заставить большинство приложений думать, что ваш домашний каталог находится в любом месте, которое вы используете выше.

HOME dir установлен в /etc/passwd , 6-е поле. Он читается на loggin, ваша оболочка начинается с этого домашнего каталога.

Правильный способ изменить домашний каталог для joe:

  • отключиться.
  • используйте usermod -d /new/home joe , чтобы изменить домашний каталог для последующего сеанса.

Как только сеанс запущен, вы должны сделать две вещи:

  • edit $HOME изменить домашний каталог для сеанса (повторяться во всех активных сеансах).
  • use sudo vipw для редактирования home dir для следующей wession

Кроме того, помните, что у вас может быть проблема с разрешениями /собственностью на /var/www/html

Команда usermod не будет работать, если вы вошли в систему с пользователем, с которым вы пытаетесь внести изменения.

На странице руководства на usermod говорится:

ПРЕДОСТЕРЕЖЕНИЯ usermod не позволит вам изменить имя пользователя, который вошел в систему. Вы должны убедиться, что именованный пользователь не выполняет любые процессы, когда эта команда выполняется, если пользователь численный Идентификатор пользователя изменяется. Вы должны вручную изменить владельца любых файлов crontab. Вы должны изменить владельца любого на рабочих местах вручную. Вы должны внести любые изменения, связанные с NIS на сервере NIS.

Попробуйте войти в систему другим пользователем и снова запустите команду.

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

Пара возможных обходных решений, в зависимости от того, что вы надеетесь решить:

Вариант 1. Добавьте HOME=/var/www/html в ваш .bashrc

Вариант 2. Переименуйте /home/myusername , а затем создайте символическую ссылку в нужный каталог.

Вы можете сделать это только временно. Это означает, что каждый раз, когда вы входите в систему как пользователь, вам нужно запустить эту команду:

Таким образом, вы можете сделать большинство приложений think , что ваш домашний каталог - это любое место, которое вы используете выше.

Favorite

Добавить в избранное

Главное меню » Linux » Изменение учетных записей пользователей с помощью команды Usermod

(1 оценок, среднее: 5,00 из 5)


В ы можете создать нового пользователя с помощью команды useradd, но если вы неправильно настроили учетную запись, вам не обязательно удалять пользователя. Вы можете изменить настройки учетной записи пользователя с помощью команды usermod в Linux.

Usermod (short for user modification) позволяет вам изменять различные аспекты учетной записи пользователя. Вы можете изменить домашний каталог и оболочку пользователя. Вы можете добавить пользователя в разные группы или заблокировать аккаунт.

8 практических примеров команды usermod

Поскольку вы имеете дело с управлением учетными записями пользователей, вы должны иметь права root или sudo для запуска команды usermod.

Позвольте нам показать вам несколько примеров.

1. Измените имя пользователя

Вы можете изменить имя пользователя с помощью опции -l команды usermod:

Имейте в виду, что кроме имени пользователя, ничего не меняется само по себе. Вам придется вручную изменить домашний каталог и почтовую папку.

2. Измените домашний каталог пользователя

Вы можете изменить домашний каталог пользователя на другой каталог.

Имейте в виду, что он изменит домашний каталог, даже если каталог не существует, но он не будет создавать его самостоятельно.

Порядок m и d также важен здесь.

3. Измените логин оболочки пользователя

Вы также можете изменить оболочку пользователя по умолчанию с помощью команды usermod. Допустим, вы хотите изменить оболочку по умолчанию на zsh, вот что вы можете сделать:

Читать 3 способа просмотра журналов в реальном времени в Linux

4. Измените группу пользователей по умолчанию

Вы также можете изменить группу пользователя по умолчанию. Это особенно полезно, когда вы изменили имя пользователя. Было бы неплохо изменить группу пользователей по умолчанию.

5. Добавьте пользователя в другие группы

Это, пожалуй, наиболее распространенное использование команды usermod. Если вы хотите добавить пользователя в список sudoer, все, что вам нужно сделать, это добавить пользователя в группу sudo.

Вы заметили, что мы использовали здесь опцию -aG, а не только -G. Это потому, что если вы используете только опцию -G, она заменит пользовательские группы новой группой, которую вы указали.

Вот почему вы должны использовать опцию добавления -a, чтобы пользователь был добавлен в новую группу дополнительно, а не удален из ее предыдущих групп.

6. Блокировка и разблокировка учетной записи пользователя

Вы можете заблокировать учетную запись пользователя в Linux с помощью опции команды usermod -L. Заблокированный пользователь не может войти в систему.

Вы также можете разблокировать пользователя с помощью опции -U:

7. Установите срок действия учетной записи пользователя.

Предположим, стажер присоединится к вашей организации на два месяца. Вам придется удалить учетную запись пользователя, как только стажер уходит. Вы можете играть в «умного» здесь и установить дату истечения срока действия для учетной записи стажера, чтобы автоматически отключилась учетная запись.

Чтобы установить срок действия для учетной записи пользователя, вы можете использовать опцию -e с датой в формате YYYY-MM-DD.

8. Измените UID пользователя

Вы можете изменить UID (идентификатор пользователя) пользователя с помощью опции -u:

Есть еще несколько вариантов, которые вы можете изучить .

На наш взгляд, то, что вы только что видели, является наиболее распространенными примерами команды usermod. Если у вас есть какие-либо вопросы или предложения, дайте мне знать.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте также: