Пользовательский скрипт при выходе

Проблема : я делюсь каталогом с моей женой. Я поместил нас обоих в «общую» группу, и каталог также принадлежит «общей» группе. Всякий раз, когда один из нас создает файл, этот файл принадлежит пользователю: пользователь, а не пользователь: общий ...

Решение : я могу сделать Судо Чоун, но моя жена не может. Итак, я хочу запустить скрипт при выходе из сеанса.

Если я правильно понимаю, сценарии запуска находятся в /etc/init.d/, а сценарии уровня запуска - /etc/rc0.d/, где 0 - уровень выполнения (0-6).

Вопросы: Сценарии уровня выполнения выполняются только при выходе / выходе из системы? Зависит ли это от пользователя, то есть я бы хотел запустить его только для своего пользователя (в данном случае это не так важно)? Какой уровень запуска мне выбрать (я думаю, 5)? Стоит ли размещать сценарий где-нибудь еще?

Кроме того, я представляю, что сценарий будет запускаться пользователем root, поэтому в сценарии нет необходимости в sudo, верно?

1
задан 19 March 2012 в 14:15

2 ответа

Я полагаю, вы можете использовать бит setgid?

Из man 2 chmod:

S_ISGID (02000) set-group-ID (установить эффективный идентификатор группы процесса на execve (2) ); обязательная блокировка, как описано в fcntl (2); взять группу нового файла из родительского каталога, как описано в chown (2) и mkdir (2))

Сценарии уровня выполнения выполняются только на изменениях уровня выполнения.

См. Также эту тему: https://superuser.com/questions/65460/create-a-logoff-script-task-for-linux

0
ответ дан 19 March 2012 в 14:15
  • runlevel сценарии выполняются только на выходе/выходе из системы?

Те, которые в/etc/init.d только на запуске/завершении работы, не при переключении пользователя/выхода из системы/входа в систему.

  • Они зависят от пользователя, то есть, я хотел бы выполнить его только для моего пользователя (не настолько важный в этом случае, ум)?

Так как они работают перед входом в систему: Нет, они не зависят от пользователя.

  • Какой runlevel я должен выбрать (мое предположение равняется 5)?

Ubuntu обычно использует 2 в качестве стандарта runlevel. Можно протестировать его с

runlevel

в оболочке.

  • Я должен поместить сценарий где-то в другом месте? согласно броуновскому, Вы могли использовать ~/.logout, но лучшее решение, для создания файлов с надлежащим идентификатором группы. Это может быть сделано с запуском редактора с sg.

    sg совместно используют gedit

sg действует подобный su - переключите группу пользователя/переключателя. Возможно, можно поместить начинающего в панели для легкого доступа. Решение Brownians для целого каталога выглядит еще лучше.

  • Кроме того, я предполагаю, что скрипт будет запущен корнем, таким образом, не будет никакой потребности в sudo в рамках сценария, который корректен?

Правильно.

1
ответ дан 19 March 2012 в 14:15

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

Похожие вопросы: