Сменить shell пользователя linux

Содержание
  1. Как пользоваться командой usermod в Linux?
  2. Добавить пользователя в группу
  3. Изменить основную группу пользователя
  4. Изменение информации о пользователе
  5. Изменение домашнего каталога пользователя
  6. Изменение пользовательской оболочки по умолчанию
  7. Изменение UID пользователя
  8. Изменение имени пользователя
  9. Установка даты истечения срока действия пользователя
  10. Блокировка и разблокировка учетной записи пользователя
  11. Заключение
  12. Как в Linux изменить login shell (оболочку входа в систему). Инструкция по команде chsh
  13. Для чего нужен login shell
  14. Как узнать, какие оболочки установлены в системе
  15. Программа для смены оболочки пользователя — chsh
  16. Команда Usermod в Linux
  17. Команда usermod
  18. Добавить пользователя в группу
  19. Изменить основную группу пользователя
  20. Изменение информации о пользователе
  21. Изменение домашнего каталога пользователя
  22. Изменение пользовательской оболочки по умолчанию
  23. Изменение UID пользователя
  24. Изменение имени пользователя
  25. Установка даты истечения срока действия пользователя
  26. Блокировка и разблокировка учетной записи пользователя
  27. Выводы

Как пользоваться командой usermod в Linux?

usermod — это утилита командной строки, позволяющая изменять данные для входа пользователя.

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

Синтаксис команды usermod имеет следующий вид:

Только root или пользователи с sudo доступом могут вызывать usermod и изменять учетную запись пользователя. В случае успеха команда не выводит никаких результатов.

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

Наиболее типичный вариант использования usermod — добавление пользователя в группу.

Чтобы добавить существующего пользователя во вторичную группу, используйте параметры -a -G после имени группы и имени пользователя:

Если вы хотите добавить пользователя сразу в несколько групп, укажите группы после -G параметра, разделенные, (запятыми), без пробелов.

Например, чтобы добавить пользователя linuxizeв gamesгруппу, вы должны выполнить следующую команду:

Всегда используйте опцию -a (добавить) при добавлении пользователя в новую группу. Если вы не укажете этот параметр, пользователь будет удален из групп, не перечисленных после -G параметра.

Если пользователя или группы не существует, команда предупредит вас.

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

Чтобы изменить основную группу пользователя, вызовите команду usermod с помощью параметра -g , следующего за именем группы и именем пользователя:

В следующем примере мы меняем основную группу пользователя linuxize на developers:

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

Изменение информации о пользователе

Чтобы изменить информацию GECOS (полное имя пользователя), запустите команду с параметром -c , за которым следует новый комментарий и имя пользователя:

Вот пример, показывающий, как добавить дополнительную информацию пользователю linuxize:

Эта информация хранится в файле /etc/passwd.

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

В большинстве систем Linux домашние каталоги пользователей названы по имени пользователя и создаются в каталоге /home.

Если по какой-то причине вы хотите изменить домашний каталог пользователя, вызовите usermodкоманду, указав опцию -d , указав абсолютный путь к новому домашнему каталогу и имя пользователя:

По умолчанию команда не перемещает содержимое домашнего каталога пользователя в новый. Чтобы переместить содержимое, используйте опцию -m . Если новый каталог еще не существует, он создается:

Вот пример, показывающий, как изменить домашний каталог пользователя www-data на /var/www:

Изменение пользовательской оболочки по умолчанию

Оболочка по умолчанию — это оболочка, которая запускается после входа в систему. По умолчанию в большинстве систем Linux в качестве оболочки по умолчанию используется Bash Shell.

Чтобы изменить оболочку пользователя по умолчанию, запустите команду с параметром -s , следующим за абсолютным путем оболочки и именем пользователя:

В приведенном ниже примере мы меняем оболочку пользователя на Zsh:

Читайте также:  Windows 10 нет звука есть шум

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

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

UID (идентификатор пользователя) — это номер, присвоенный каждому пользователю. Он используется операционной системой для обозначения пользователя.

Чтобы изменить UID пользователя, вызовите команду с -uпараметром, следующим за новым UID и именем пользователя:

В приведенном ниже примере показано, как изменить номер «UID» на «1050»:

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

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

Хотя не очень часто, иногда вам может потребоваться изменить имя существующего пользователя. Параметр -l используется для изменения имени пользователя:

В приведенном ниже примере мы переименование пользователя linuxizeк lisaна «1050»:

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

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

Дата истечения срока — это дата, когда учетная запись пользователя будет отключена. Чтобы установить дату истечения срока действия пользователя, используйте опцию -e :

Срок годности должен быть установлен в формате YYYY-MM-DD.

Например, чтобы отключить пользователя linuxize на 2022-02-21, вы бы выполнить следующую команду:

Чтобы отключить истечение срока действия учетной записи, установите пустую дату истечения срока действия:

Используйте chage команду -l , чтобы просмотреть дату истечения срока действия пользователя:

Срок годности хранится в /etc/shadow файле.

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

Опция -L позволяет заблокировать учетную запись пользователя:

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

В следующих примерах показано, как заблокировать пользователя linuxize:

Чтобы разблокировать пользователя, запустите usermodс -Uопцией:

Заключение

Мы показали вам, как использовать команду usermod для установки информации об учетной записи пользователя.

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

Как в Linux изменить login shell (оболочку входа в систему). Инструкция по команде chsh

Для чего нужен login shell

Вход в систему обрабатывается оболочкой и другими инструментами, например, сам login или ваш диспетчер рабочего стола (с помощью PAM и различных других инструментов).

Назначение оболочки входа не в том, чтобы обрабатывать вход в систему, а в том, чтобы вести себя соответствующим образом как первая оболочка в сеансе входа в систему: в основном это означает обработку файлов запуска, которые должны обрабатываться только один раз за сеанс входа, и защиту сеанса входа в систему от нежелательных взаимодействие с некоторыми функциями системы (в частности, приостановка работы).

Особенности оболочки входа, по крайней мере, реализованной в Bash, заключаются в следующем:

    оболочка входа в систему обрабатывает команды из /etc/profile, затем первый файл, который она находит среди

/.profile (если только это не интерактивная оболочка входа, запущенная без параметра —login);

  • при выходе из оболочки входа выполняется logout вместо exit;
  • выход из оболочки входа в систему прерывает все задания;
  • оболочку входа нельзя приостановить;
  • оболочка входа устанавливает переменную HOME (кроме POSIX-корректного режима);
  • оболочка входа устанавливает параметр оболочки login_shell.
  • С практической точки зрения, выбранная оболочка входа в систему определяет оболочку, которая используется для пользователя по умолчанию. Хотя конечно, ничто не мешает запустить любую другую установленную в вашей системе оболочку.

    Читайте также:  Windows 10 понизить версию rdp

    Как узнать, какие оболочки установлены в системе

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

    Один из способов узнать правильные названия оболочек и пути до исполнимых файлов — это запустить следующую команду:

    Но предыдущая команда срабатывает не на всех дистрибутивах (работает на Arch Linux, но не работает на производных Debian).

    Поэтому можно воспользоваться универсальным методом — посмотреть содержимое файла /etc/shells:

    В файле shells собраны пути к действующим оболочкам входа.

    /etc/shells — это текстовый файл, который содержит полные пути к действующим оболочкам входа. Этот файл просматривается программой chsh и доступен для запроса другими программами.

    Имейте в виду, что есть программы, которые обращаются к этому файлу, чтобы узнать, является ли пользователь обычным пользователем; например, демоны FTP традиционно запрещают доступ пользователям с оболочками, не включёнными в этот файл.

    Программа для смены оболочки пользователя — chsh

    chsh — измените оболочку входа пользователя на постоянной основе.

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

    chsh используется для изменения оболочки входа в систему. Если оболочка не указана в командной строке, chsh запрашивает её.

    chsh поддерживает нелокальные записи (kerberos, LDAP и т.д.), если они связаны с libuser, в противном случае используйте ypchsh, lchsh или любую другую реализацию для нелокальных записей.

    В качестве ОБОЛОЧКИ нужно указать одну из оболочек, как они перечислены в файле /etc/shells.

    chsh примет полный путь к любому исполняемому файлу в системе.

    Поведение по умолчанию для пользователей без полномочий root — принимать только оболочки, перечисленные в файле /etc/shells, и выдавать предупреждение для пользователя root. Его также можно настроить во время компиляции, чтобы выдавать предупреждение только для всех пользователей.

    Источник

    Команда Usermod в Linux

    usermod — это утилита командной строки, которая позволяет изменять данные для входа пользователя.

    В этой статье рассказывается, как использовать команду usermod для добавления пользователя в группу, изменения оболочки пользователя, имени входа, домашнего каталога и т. Д.

    Команда usermod

    Синтаксис команды usermod имеет следующий вид:

    Только root или пользователи с доступом sudo могут вызывать usermod и изменять учетную запись пользователя. В случае успеха команда не выводит никаких результатов.

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

    Наиболее типичный вариант использования usermod — добавление пользователя в группу.

    Чтобы добавить существующего пользователя во вторичную группу, используйте параметры -a -G после имени группы и имени пользователя:

    Если вы хотите добавить пользователя к нескольким группам одновременно, указать группы после того , как -G опция разделяться , (запятыми) без промежуточных пробелов.

    Например, чтобы добавить пользователя linuxize в группу games , вы должны выполнить следующую команду:

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

    Если пользователя или группы не существует, команда предупредит вас.

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

    Чтобы изменить основную группу пользователя, вызовите команду usermod с параметром -g следующим за именем группы и именем пользователя:

    В следующем примере мы меняем основную группу пользователя linuxize на developers :

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

    Читайте также:  Var log messages linux logging

    Изменение информации о пользователе

    Чтобы изменить информацию GECOS (полное имя пользователя), запустите команду с параметром -c за которым следует новый комментарий и имя пользователя:

    Вот пример, показывающий, как добавить дополнительную информацию пользователю linuxize:

    Эта информация хранится в /etc/passwd .

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

    В большинстве систем Linux домашние каталоги пользователей названы по имени пользователя и создаются в каталоге /home .

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

    По умолчанию команда не перемещает содержимое домашнего каталога пользователя в новый. Чтобы переместить содержимое, используйте параметр -m . Если новый каталог еще не существует, он создается:

    Вот пример, показывающий, как изменить домашний каталог пользовательских www-data на /var/www :

    Изменение пользовательской оболочки по умолчанию

    Оболочка по умолчанию — это оболочка, которая запускается после входа в систему. По умолчанию в большинстве систем Linux в качестве оболочки по умолчанию используется Bash Shell.

    Чтобы изменить оболочку пользователя по умолчанию, запустите команду с параметром -s указав абсолютный путь оболочки и имя пользователя:

    В приведенном ниже примере мы меняем оболочку пользователя на Zsh:

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

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

    UID (идентификатор пользователя) — это номер, присвоенный каждому пользователю. Он используется операционной системой для обозначения пользователя.

    Чтобы изменить UID пользователя, вызовите команду с параметром -u следующим за новым UID и именем пользователя:

    В приведенном ниже примере показано, как изменить номер «UID» на «1050»:

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

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

    Хотя не очень часто, иногда вам может потребоваться изменить имя существующего пользователя. Параметр -l используется для изменения имени пользователя:

    В приведенном ниже примере мы переименовываем пользователя linuxize в lisa в «1050»:

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

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

    Дата истечения срока — это дата, когда учетная запись пользователя будет отключена. Чтобы установить дату истечения срока действия пользователя, используйте параметр -e :

    Срок годности должен быть установлен в формате YYYY-MM-DD .

    Например, чтобы отключить пользователя linuxize 21 2022-02-21 , вы должны выполнить следующую команду:

    Чтобы отключить истечение срока действия учетной записи, установите пустую дату истечения срока действия:

    Используйте команду chage -l для просмотра даты истечения срока действия пользователя:

    Дата истечения срока хранения хранится в /etc/shadow .

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

    Параметр -L позволяет заблокировать учетную запись пользователя:

    Команды вставят восклицательный знак ( ! ) Перед зашифрованным паролем. Если поле пароля в /etc/shadow содержит восклицательный знак, пользователь не сможет войти в систему, используя аутентификацию по паролю. Другие методы входа в систему, такие как аутентификация на основе ключей или переключение на пользователя , по-прежнему разрешены. Если вы хотите заблокировать учетную запись и отключить все методы входа в систему, вам также необходимо установить дату истечения срока действия равной 1.

    В следующих примерах показано, как заблокировать пользователя linuxize :

    Чтобы разблокировать пользователя, запустите usermod с параметром -U :

    Выводы

    Мы показали вам, как использовать команду usermod для установки информации об учетной записи пользователя.

    Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

    Источник

    Оцените статью