chsh (сокращение от «изменить оболочку») - это команда в Unix-подобных операционных системах, которая используется для изменения оболочки входа . Пользователи могут либо указать путь к оболочке, которую они хотят изменить, в командной строке, либо не указывать аргументов, и в этом случае chsh позволяет пользователю изменять оболочку в интерактивном режиме. [1]
Автор (ы) оригинала | Сальваторе Валенте |
---|---|
Операционная система | Unix и Unix-подобные |
Тип | Командование |
Применение
chsh - это программа setuid, которая изменяет / etc / passwd и позволяет только обычным пользователям изменять свои собственные оболочки входа в систему. Суперпользователь может изменять оболочки других пользователей, указав имя пользователякоторого оболочка должна быть измененакачестве аргумента командной строки. По соображениям безопасности оболочки, которые могут указывать как обычные пользователи, так и суперпользователь, ограничены содержимым / etc / shells , при этом путь к оболочке должен быть точно таким, как он указан в этом файле. (Эта функция безопасности может быть изменена путем повторной компиляции исходного кода для команды с другим параметром конфигурации и, таким образом, не обязательно включена во всех системах.) Однако суперпользователь также может напрямую изменять файл паролей, устанавливая оболочку любого пользователя. в любой исполняемый файл в системе без ссылки на / etc / shells и без использования чш . [1] [2] [3]
В большинстве систем, когда chsh вызывается без -s параметр командной строки (чтобы указать имя оболочки), он предлагает пользователю выбрать один. В Mac OS X при вызове без -s вариант, chsh отображает текстовый файл в редакторе по умолчанию (изначально установлен в vim), позволяя пользователю изменять все функции своей учетной записи, которые им разрешено изменять, при этом путь к оболочке является именем рядом с «Shell:». Когда пользователь выходит из vim, сделанные там изменения переносятся в файл / etc / passwd, который только root может изменить напрямую. [2] [4]
С помощью -s параметр (например: % chsh -s / usr / local / bin / bash ) значительно упрощает задачу смены оболочек.
В зависимости от системы, chsh может запрашивать или не запрашивать у пользователя пароль перед изменением оболочки или переходом в интерактивный режим. В некоторых системах использование chsh для пользователей без полномочий root полностью отключен системным администратором. [4]
Во многих дистрибутивах Linux , то Команда chsh - это приложение, поддерживающее PAM . Таким образом, его поведение можно настроить с помощью параметров конфигурации PAM для отдельных пользователей. Например, директива auth , определяющая Модуль pam_listfile.so может использоваться для отказа chsh доступ к отдельным пользователям, указав файл имен пользователей, к которому нужно запретить доступ, с помощью listfile = параметр для этого модуля (вместе с смысл = запретить вариант). [5]
Портативность
POSIX не описывает такие утилиты, как chsh , которые используются для изменения записи пользователя в / etc / passwd . Большинство Unix-подобных систем предоставляют чш . [6] Системы на основе SVr4 предоставляют аналогичную возможность с passwd . Две из трех оставшихся систем ( IBM AIX [7] и HP-UX [8] ) обеспечивают chsh в дополнение к пароль -e . Исключением является Solaris , где неадминистраторы не могут изменить свою оболочку, если не установлен сервер сетевых имен, такой как NIS или NIS + . [9] [10] В устаревшей [11] системе SGI SVr4 IRIX64 также не было чш .
Смотрите также
Рекомендации
- ^ a b Кэмерон Ньюхэм и Билл Розенблатт (2005). Изучение оболочки Bash: [программирование оболочки Unix] . О'Рейли. С. 272 . ISBN 0596009658.
- ^ а б Марк Г. Собелл и Питер Сибах (2005). Практическое руководство по Unix для Mac OS X пользователей . Prentice Hall PTR. п. 448. ISBN 0131863339.
- ^ Олин Фриш (2002). Важное системное администрирование . О'Рейли. п. 238. ISBN 0596003439.
- ^ а б Дебора С. Рэй и Эрик Дж. Рэй (1998). Unix . Peachpit Press. С. 47 . ISBN 0201353954.
- ^ Скотт Манн и Эллен Л. Митчелл (2000). Безопасность системы Linux: Руководство администратора по инструментам безопасности с открытым исходным кодом . Prentice Hall PTR. С. 101–102 . ISBN 0130158070.
- ^ Нельсон Биб (11 августа 2005 г.). " Доступность команды chsh " .
- ^ "Команда chsh центра знаний IBM" . IBM . Проверено 24 января 2015 года .
- ^ "чш (1)" . Фирма Хьюлет-Паккард. Архивировано из оригинала 28 января 2015 года . Проверено 24 января 2015 года .
- ^ Питер Смолдер (12 марта 2000 г.), chsh on Solaris , LinuxForum
- ^ Генри ван Клиф (4 февраля 2005 г.). «Для Solaris необходима функция изменения пользовательской оболочки chsh» . LinuxForum.
- ^ «Архивная копия» . Архивировано из оригинала на 6 июля 2009 года . Проверено 24 января 2015 года .CS1 maint: заархивированная копия как заголовок ( ссылка )
дальнейшее чтение
- Синтия Гибас и Пер Джамбек (2001). Развитие компьютерных навыков в области биоинформатики . О'Рейли. С. 89–90 . ISBN 1565926641. - несколько примеров вызова чш с -s и -l параметры
Внешние ссылки
- - Руководство по основным командам 4.2BSD
- : изменить оболочку входа в систему - Руководство по командам пользователя Linux
- - Руководство по основным командам Darwin и macOS
- - Справочное руководство по командам пользователя Solaris 10