- 3 способа изменить оболочку пользователя по умолчанию в Linux
- 1. Утилита usermod
- 2. Утилита chsh
- 3. Измените оболочку пользователя в файле /etc/passwd.
- Команда Usermod в Linux
- Команда usermod
- Добавить пользователя в группу
- Изменить основную группу пользователя
- Изменение информации о пользователе
- Изменение домашнего каталога пользователя
- Изменение пользовательской оболочки по умолчанию
- Изменение UID пользователя
- Изменение имени пользователя
- Установка даты истечения срока действия пользователя
- Блокировка и разблокировка учетной записи пользователя
- Выводы
3 способа изменить оболочку пользователя по умолчанию в Linux
В этой статье мы расскажем, как изменить оболочку пользователя в Linux. Оболочка — это программа, которая принимает и интерпретирует команды; есть несколько оболочек, таких как bash, sh, ksh, zsh, fish и многие другие менее известные оболочки, доступные в Linux.
Bash (/bin/bash) — это популярная оболочка в большинстве, если не во всех системах Linux, и обычно она используется по умолчанию для учетных записей пользователей.
Существует несколько причин для изменения пользовательской оболочки в Linux, включая следующие:
- Чтобы заблокировать или отключить обычный вход пользователей в Linux с помощью оболочки nologin.
- Используйте сценарий или программу-оболочку оболочки для входа в пользовательские команды перед их отправкой в оболочку для выполнения. Здесь вы указываете оболочку оболочки в качестве оболочки входа пользователя.
- Для удовлетворения требований пользователя (желающего использовать определенную оболочку), особенно с правами администратора.
При создании учетных записей пользователей с помощью утилит useradd или adduser можно использовать флаг —shell для указания имени оболочки входа пользователя, отличного от указанного в соответствующих файлах конфигурации.
Доступ к оболочке входа можно получить из текстового интерфейса или через SSH с удаленного компьютера Linux. Однако, если вы входите в систему через графический интерфейс пользователя (GUI), вы можете получить доступ к оболочке из эмуляторов терминала, таких как xterm, konsole и многих других.
Давайте сначала перечислим все доступные оболочки в вашей системе Linux, введите.
# cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/tcsh /bin/csh /bin/dash
Прежде чем продолжить, обратите внимание, что:
- Пользователь может изменить свою оболочку на любую вещь, которая, однако, должна быть указана в файле /etc/shells.
- Только root может запускать оболочку, не указанную в файле /etc/shells.
- Если учетная запись имеет ограниченную оболочку входа, только root может изменить оболочку этого пользователя.
Теперь давайте обсудим три разных способа изменить пользовательскую оболочку Linux.
1. Утилита usermod
usermod — это утилита для изменения данных учетной записи пользователя, хранящихся в файле /etc/passwd, а параметр -s или —shell используется для изменения оболочки входа пользователя.
В этом примере мы сначала проверим информацию об учетной записи пользователя tecmint, чтобы просмотреть его оболочку входа по умолчанию, а затем изменим ее оболочку входа с /bin/sh на /bin/bash как следует.
# grep tecmint /etc/passwd # usermod --shell /bin/bash tecmint # grep tecmint /etc/passwd
2. Утилита chsh
chsh — это утилита командной строки для изменения оболочки входа в систему с помощью параметра -s или -shell, подобного этому.
# grep tecmint /etc/passwd # chsh --shell /bin/sh tecmint # grep tecmint /etc/passwd
Два приведенных выше метода изменяют оболочку, указанную в файле /etc/passwd, который вы можете редактировать вручную, как в третьем методе ниже.
3. Измените оболочку пользователя в файле /etc/passwd.
В этом методе просто откройте файл /etc/passwd с помощью любого из ваших любимых текстовых редакторов командной строки и измените оболочку конкретного пользователя.
Когда закончите редактирование, сохраните и закройте файл.
Не забудьте прочитать эти связанные темы:
- Знакомство с файлами инициализации оболочки и профилями пользователей в Linux
- Понимание Linux Shell и советов по написанию сценариев Basic Shell — часть I
- Как писать и использовать собственные функции и библиотеки оболочки
- Знакомство с различными классификациями команд оболочки и их использованием
В этой статье мы описали различные способы смены оболочки пользователя в Linux. Чтобы поделиться с нами своими мыслями, используйте раздел комментариев ниже.
Команда Usermod в Linux
usermod — это утилита командной строки, которая позволяет изменять данные для входа пользователя.
В этой статье рассказывается, как использовать команду usermod для добавления пользователя в группу, изменения оболочки пользователя, имени входа, домашнего каталога и т. Д.
Команда usermod
Синтаксис команды usermod имеет следующий вид:
Только root или пользователи с доступом sudo могут вызывать usermod и изменять учетную запись пользователя. В случае успеха команда не выводит никаких результатов.
Добавить пользователя в группу
Наиболее типичный вариант использования usermod — добавление пользователя в группу.
Чтобы добавить существующего пользователя во вторичную группу, используйте параметры -a -G после имени группы и имени пользователя:
Если вы хотите добавить пользователя к нескольким группам одновременно, указать группы после того , как -G опция разделяться , (запятыми) без промежуточных пробелов.
Например, чтобы добавить пользователя linuxize в группу games , вы должны выполнить следующую команду:
sudo usermod -a -G games linuxize
Всегда используйте параметр -a (добавить) при добавлении пользователя в новую группу. Если вы опустите опцию -a , пользователь будет удален из групп, не перечисленных после опции -G .
Если пользователя или группы не существует, команда предупредит вас.
Изменить основную группу пользователя
Чтобы изменить основную группу пользователя, вызовите команду usermod с параметром -g следующим за именем группы и именем пользователя:
sudo usermod -g GROUP USER
В следующем примере мы меняем основную группу пользователя linuxize на developers :
usermod -g developers linuxize
Каждый пользователь может принадлежать ровно к одной основной группе и нулю или более вторичных групп.
Изменение информации о пользователе
Чтобы изменить информацию GECOS (полное имя пользователя), запустите команду с параметром -c за которым следует новый комментарий и имя пользователя:
usermod -c "GECOS Comment" USER
Вот пример, показывающий, как добавить дополнительную информацию пользователю linuxize:
usermod -c "Test User" linuxize
Эта информация хранится в /etc/passwd .
Изменение домашнего каталога пользователя
В большинстве систем Linux домашние каталоги пользователей названы по имени пользователя и создаются в каталоге /home .
Если по какой-то причине вы хотите изменить домашний каталог пользователя, вызовите команду usermod с параметром -d usermod абсолютный путь к новому домашнему каталогу и имя пользователя:
По умолчанию команда не перемещает содержимое домашнего каталога пользователя в новый. Чтобы переместить содержимое, используйте параметр -m . Если новый каталог еще не существует, он создается:
usermod -d HOME_DIR -m USER
Вот пример, показывающий, как изменить домашний каталог пользовательских www-data на /var/www :
Изменение пользовательской оболочки по умолчанию
Оболочка по умолчанию — это оболочка, которая запускается после входа в систему. По умолчанию в большинстве систем Linux в качестве оболочки по умолчанию используется Bash Shell.
Чтобы изменить оболочку пользователя по умолчанию, запустите команду с параметром -s указав абсолютный путь оболочки и имя пользователя:
В приведенном ниже примере мы меняем оболочку пользователя на Zsh:
sudo usermod -s /usr/bin/zsh linuxize
Вы можете узнать, какие оболочки доступны в вашей системе, просмотрев содержимое файла /etc/shells .
Изменение UID пользователя
UID (идентификатор пользователя) — это номер, присвоенный каждому пользователю. Он используется операционной системой для обозначения пользователя.
Чтобы изменить UID пользователя, вызовите команду с параметром -u следующим за новым UID и именем пользователя:
В приведенном ниже примере показано, как изменить номер «UID» на «1050»:
sudo usermod -u 1050 linuxize
UID файлов, принадлежащих пользователю и находящихся в домашнем каталоге пользователя, и файл почтового ящика пользователя будет изменен автоматически. Право собственности на все остальные файлы необходимо изменить вручную.
Изменение имени пользователя
Хотя не очень часто, иногда вам может потребоваться изменить имя существующего пользователя. Параметр -l используется для изменения имени пользователя:
В приведенном ниже примере мы переименовываем пользователя linuxize в lisa в «1050»:
sudo usermod -l linuxize lisa
При изменении имени пользователя вы также можете изменить домашний каталог пользователя, чтобы отразить новое имя пользователя.
Установка даты истечения срока действия пользователя
Дата истечения срока — это дата, когда учетная запись пользователя будет отключена. Чтобы установить дату истечения срока действия пользователя, используйте параметр -e :
Срок годности должен быть установлен в формате YYYY-MM-DD .
Например, чтобы отключить пользователя linuxize 21 2022-02-21 , вы должны выполнить следующую команду:
sudo usermod -e "2022-02-21" linuxize
Чтобы отключить истечение срока действия учетной записи, установите пустую дату истечения срока действия:
Используйте команду chage -l для просмотра даты истечения срока действия пользователя:
Last password change : Jul 24, 2018 Password expires : never Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7
Дата истечения срока хранения хранится в /etc/shadow .
Блокировка и разблокировка учетной записи пользователя
Параметр -L позволяет заблокировать учетную запись пользователя:
Команды вставят восклицательный знак ( ! ) Перед зашифрованным паролем. Если поле пароля в /etc/shadow содержит восклицательный знак, пользователь не сможет войти в систему, используя аутентификацию по паролю. Другие методы входа в систему, такие как аутентификация на основе ключей или переключение на пользователя , по-прежнему разрешены. Если вы хотите заблокировать учетную запись и отключить все методы входа в систему, вам также необходимо установить дату истечения срока действия равной 1.
В следующих примерах показано, как заблокировать пользователя linuxize :
sudo usermod -L -e 1 linuxize
Чтобы разблокировать пользователя, запустите usermod с параметром -U :
Выводы
Мы показали вам, как использовать команду usermod для установки информации об учетной записи пользователя.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.