Создать сценарий / задачу выхода из системы для Linux

Аналогично моему вопросу о Windows и Mac OS X, как можно создать сценарий выхода из системы для Linux?

Любой дистрибутив хорош, так как я уверен, что он будет распространяться на другие. Хотя я больше всего знаком с RHEL/CentOS/Fedora и Ubuntu.

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

3 ответа

Решение

Для удаленных сессий SSH ваша оболочка должна обрабатывать любые сценарии при выходе из системы. Оболочка Bash обычно работает ~/.bash_logout,

Для сеансов X менеджер входа в систему управляет сценариями при выходе из системы. Расположение файлов зависит от того, какой менеджер входа используется. Xserver не работает при выполнении сценария при выходе из системы, поэтому не включайте в сценарий программы, которые пытаются получить доступ к дисплею.

  • Для Gnome используйте /etc/gdm/PostSession/Default для общесистемного сценария выхода из системы по умолчанию (выполняется независимо от того, кто выходит из системы). В отличие от сценария выхода из системы Bash, я не думаю, что существует пользовательская версия сценария GDM PostSession.

  • XDM использует скрипт сброса установлен /etc/X11/xdm/Xreset,

  • Для KDE (используя KDM) вы хотите Reset сценарий KDE3 использует /etc/kde3/kdm/Xreset, Расположение может быть указано в файле конфигурации KDM, /etc/kde3/kdm/kdmrcс Reset ключ.

  • WDM, очевидно, использует пару сценариев сброса: сценарий для каждого дисплея в /etc/X11/wdm/Xreset_0 (для отображения :0) и глобальный скрипт на /etc/X11/wdm/Xreset, Файл конфигурации WDM находится в /etc/X11/wdm/wdm-config,

Расположение файлов в этом ответе - из пакетов Debian. Пакеты Ubuntu обычно используют те же файлы, но другие дистрибутивы могут использовать альтернативные места.

Если дистрибутив использует PAM для аутентификации пользователей, вы можете установить pam_scriptпредоставлятьonsessionopen/onsessionclosefuncionality.

Я использую его в дистрибутивах на основе Debian для проверки файлов, измененных пользователями через scpтолько и настройте права доступа к файлам.

Вы можете скачатьpam_script из свободного кода.

C-shell, он же csh, имеет функциональность.logout, а Bash (более актуальный по умолчанию) имеет.bash_logout, но я не помню никаких других оболочек (ksh, sh и т. Д.) С аналогичной концепцией.

Другие вопросы по тегам