чш

чш
Оригинальный автор(ы)Сальваторе Валенте
Операционная системаUnix и Unix-подобные
ТипКоманда

chsh (сокращение от "change shell") — это команда в операционных системах типа Unix , которая используется для смены оболочки входа . Пользователи могут либо указать путь к оболочке, на которую они хотят перейти, в командной строке, либо не указывать аргументы, в этом случае chsh позволяет пользователю изменять оболочку в интерактивном режиме. [1]

Использование

chsh — это setuid -программа, которая изменяет файл /etc/passwd и позволяет изменять собственные оболочки входа только обычным пользователям. Суперпользователь может изменять оболочки других пользователей, указав имя пользователя, чью оболочку необходимо изменить, в качестве аргумента командной строки. По соображениям безопасности оболочки, которые могут указывать как обычные пользователи, так и суперпользователь, ограничены содержимым файла /etc/shells , при этом путь к оболочке должен быть точно таким, как он указан в этом файле. (Эта функция безопасности может быть изменена путем повторной компиляции исходного кода для команды с другим параметром конфигурации, и, таким образом, не обязательно включена во всех системах.) Однако суперпользователь может также изменять файл паролей напрямую, устанавливая оболочку любого пользователя на любой исполняемый файл в системе без ссылки на /etc/shells и без использования chsh . [1] [2] [3]

В большинстве систем, когда chsh вызывается без параметра командной строки -s (для указания имени оболочки), он предлагает пользователю выбрать ее. В Mac OS X , если chsh вызывается без параметра -s , он отображает текстовый файл в редакторе по умолчанию (изначально установленном на 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= для этого модуля (вместе с параметром sense=deny ). [5]

Портативность

POSIX не описывает такие утилиты, как chsh , которые используются для изменения записи пользователя в /etc/passwd . Большинство Unix-подобных систем предоставляют chsh . [6] Системы на базе SVr4 предоставляют похожую возможность с passwd . Две из трех оставшихся систем ( IBM AIX [7] и HP-UX [8] ) предоставляют chsh в дополнение к passwd -e . Исключением является Solaris , где не-администраторы не могут изменить свою оболочку, если не установлен сетевой сервер имен, такой как NIS или NIS+ . [9] [10] Устаревшая [11] система SGI SVr4 IRIX64 также не имела chsh .

Смотрите также

Ссылки

  1. ^ ab Кэмерон Ньюхэм и Билл Розенблатт (2005). Изучение оболочки Bash: [Программирование оболочки Unix] . O'Reilly. стр. 272. ISBN 0596009658.
  2. ^ ab Марк Г. Собелл и Питер Сибах (2005). Практическое руководство по Unix для пользователей Mac Os X. Prentice Hall PTR. стр. 448. ISBN 0131863339.
  3. ^ Æleen Frisch (2002). Essential System Administration . O'Reilly. стр. 238. ISBN 0596003439.
  4. ^ ab Дебора С. Рэй и Эрик Дж. Рэй (1998). Unix. Peachpit Press. стр. 47. ISBN 0201353954.
  5. ^ Скотт Манн и Эллен Л. Митчелл (2000). Безопасность системы Linux: Руководство администратора по инструментам безопасности с открытым исходным кодом. Prentice Hall PTR. стр. 101–102. ISBN 0130158070.
  6. Нельсон Биб (11 августа 2005 г.). «доступность команды chsh».
  7. ^ "IBM Knowledge Center chsh command". IBM . Получено 24 января 2015 г. .
  8. ^ "chsh(1)". Hewlett Packard. Архивировано из оригинала 28 января 2015 г. Получено 24 января 2015 г.
  9. Питер Смалдер (12 марта 2000 г.), chsh на Solaris, LinuxForum
  10. Генри ван Клиф (4 февраля 2005 г.). «Функция смены оболочки пользователя chsh, необходимая для Solaris». LinuxForum.
  11. ^ "SGI - Услуги и поддержка: поддержка SGI продуктов MIPS IRIX продолжается до декабря 2013 года". Архивировано из оригинала 6 июля 2009 года . Получено 24 января 2015 года .

Дальнейшее чтение

  • Синтия Гибас и Пер Джембек (2001). Развитие навыков работы с компьютером в области биоинформатики. O'Reilly. С. 89–90. ISBN 1565926641.— несколько примеров вызова chsh с опциями -s и -l
Взято с "https://en.wikipedia.org/w/index.php?title=Chsh&oldid=1106288566"