LINUX.ORG.RU

оПЮБЮ МЮ ДНЯРСО Й ТЮИКЮЛ


0

0

хЯОНКЭГСЧ Linux Debian.

яНГДЮК ЙЮРЮКНЦ ЯН ЯКЕДСЧЫХЛХ ОПЮБЮЛХ drwxrwxrwx
Б ЙЮРЮКНЦЕ 2 ТЮИКЮ
-rwsrwxrwx b1 (СЯРЮМНБКЕМ SUID)
-rwxrwxr-x f1 (МЕР ОПЮБ МЮ ГЮОХЯЭ ДКЪ НЯРЮКЭМШУ)

бКЮДЕКЕЖ ЙЮРЮКНЦНБ Х ТЮИКНБ ОНКЭГНБЮРЕКЭ user1

тЮИК b1 ЯНДЕПФХР 1 ЯРПНЙС echo >f1 ⌠test■
рН ЕЯРЭ ОПХ ГЮОСЯЙЕ ./b1 Б ТЮИК f1 ГЮОХЯШБЮЕРЯЪ ЯРПНЙЮ test.

еЯКХ ТЮИК ./b1 ГЮОСЯЙЮЕР ОНКЭГНБЮРЕКЭ user1, РН БЯЕ РЮЙ Х ОПНХЯУНДХР.
еЯКХ ТЮИК ./b1 ГЮОСЯЙЮЕР ДПСЦНИ ОНКЭГНБЮРЕКЭ user2 ХГ ДПСЦНИ ЦПСООШ,
РН БШДЮЕРЯЪ ЯННАЫЕМХЕ Permission denied.

бНОПНЯ. оНВЕЛС БШДЮЕРЯЪ Permission denied?
бЕДЭ С ТЮИКШ b1 ЯРНХР ТКЮЦ SUID Х НМ ДНКФЕМ БШОНКМЪРЯЪ Я ОПЮБЮЛХ БКЮДЕКЭЖЮ
Х ХЛЕРЭ ДНЯРСО МЮ ГЮОХЯЭ Й ТЮИКС f1.


>> Использую Linux Debian.
>>
>> Создал каталог со следующими правами drwxrwxrwx
>> в каталоге 2 файла
>> -rwsrwxrwx b1 (установлен SUID)
>> -rwxrwxr-x f1 (нет прав на запись для остальных)
>>
>> Владелец каталогов и файлов пользователь user1
>>
>> Файл b1 содержит 1 строку echo >f1 ⌠test■
>> То есть при запуске ./b1 в файл f1 записывается строка test.
>>
>> Если файл ./b1 запускает пользователь user1, то все так и происходит.
>> Если файл ./b1 запускает другой пользователь user2 из другой группы,
>> то выдается сообщение Permission denied.
>>
>> Вопрос. Почему выдается Permission denied?
>> Ведь у файлы b1 стоит флаг SUID и он должен выполнятся с правами владельца
>> и иметь доступ на запись к файлу f1.

Если ты сделаешь SUID, наприаер, 'touch' и запустишь его в чужой
директории - это будет работать. А так ты делаешь SUID шелл,
который запускает 'echo', но то, что он запускает, не получает
этих же привелегий... я так думаю. Фиг знает. Если кто подскажет,
как на самом деле, буду благодарен :-)

murla
()

И как это у них получается... Нарочно, что ли.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.