.bash_logout

Nick

New member
Сообщения
1
#1
Прошу помощи у знатоков. В системе линукс относительно новичок, интересует следующий момент.
Хочу, допустим, после каждого выхода пользователя user из системы (не перезагрузка), чтобы в его папке /home/user/docs удалялись все файлы.
Для этого в домашнем каталоге создал файл .bash_logout, куда вписал команду rm /home/user/docs/* . Если набрать команду source ~/.bash_logout (как я понял служит для обновления настроек) - команда отрабатывается, все файлы удалены. Но при вызоде польвателя из системы ничего не происходит.
В чем заключается ошибка? Или если есть другой механизм запуска команд при выходе пользователя из системы, пожалуйста подскажите
 

Olej

New member
Сообщения
1 295
#2
Если набрать команду source ~/.bash_logout (как я понял служит для обновления настроек) - команда отрабатывается, все файлы удалены. Но при вызоде польвателя из системы ничего не происходит.
При прямом запуске вы выполняете скрипт. Но при выходе пользователя автоматом он не вызывается.

P.S. Кстати, каким это образом ваш пользователь выходит из системы?
Командный интерпретатор bash (как и любой shell) к входу/выходу из системы не имеет никакого отношения.
 

Olej

New member
Сообщения
1 295
#3
Но при вызоде польвателя из системы ничего не происходит.
Допишите в ~/.bash_logout строку в конец:
Код:
echo 'bash logout'
А теперь запустите ещё одну сессию bash (со своим именем), а затем остановите её:
Код:
olej@ACER:~$ su - olej
Пароль:
olej@ACER:~$ exit
выход
bash logout
При завершении bash скрипт замечательно вызывается. Может это вам что-то подскажет...
 

oko

New member
Сообщения
1 195
#4
to Nick
Если "выход из системы" производится в графическом режиме через эквивалент Windows-Пуск, то отрабатывает менеджер Fly-DM, который к bash не имеет отношения. Нужно либо ковырять его вызовы (не пробовал), либо учить пользователей обязательно логиниться в bash и потом, соответственно, перед выходом делать в консоли exit, как подсказывает тов. Olej...
Можно и проще: монтируйте (через /etc/fstab или иным способом) каталог /home/ИМЯ-ПОЛЬЗОВАТЕЛЯ/docs в tmpfs. После выхода память будет очищаться самостоятельно. Можно в /etc/fstab еще и затирание этой области прикрутить (не очень осмысленно, но задачи разные бывают). Но, поскольку tmpfs примерно равна оперативной памяти ПЭВМ, постольку главное не заиграться с файлами большого объема...
И да: /bin/rm -rf /home/ИМЯ-ПОЛЬЗОВАТЕЛЯ/docs/*, а то в случае ошибок команда остановится и ничего не удалит...