Как стать автором
Обновить

Комментарии 9

Спасибо за статью, большенство из этих вещей я знал, но те что не знал дали скилл ап мне.
А тебе один вопрос по коду, для чего юзается: rm /tmp/.user?
если после этого у вас идет echo >, где ">" затирает всё что есть в файле.
но это так придирки, спасибо за статью.
Сейчас такое встретить, пожалуй, практически невозможно, но на некоторых системах операция «>» может не затереть файл.
Поясню, что имею ввиду, несмотря на ваше описание данной ситуации, вы же как бы работаете под рутом, и тут у вас всяко имеется доступ к этому файлу.
PS: ни от каких настроек системы не зависит, команды выполняются под рутом, ответ однозначен.
Зависит от настроек системы:
# set -o noclobber

# cat ~/test.file
TEST
# echo "TEST AGAIN" > ~/test.file
bash: ~/test.file: Cannot clobber existing file
Кстати, еще один момент, который бы я дополнил, заключается в использовании «>|» для перенаправления ввода в bash. Данный оператор должен игнорировать настройки переменной noclobber.
Кхм, вывода. :)
А вообще жизнь делиться на до PAM'a и после PAM'a, когда про suid просто можно забыть ;)
специально проверил — bash,csh и ksh игнорируют suid-bit в скриптах. и, по-моему, так они делают лет десять… собственно, сколько лет оригинальной статье?
Да, упоминание об этом было. :)
[...] некоторые системы (например, Linux) не поощряют установку атрибута SUID на командные сценарии.

Видимо, «не поощряют» — немного не то слово, мягко сказано… :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации