LINUX.ORG.RU

Бит смены UID для файла...


0

0

Можно ли сделать чтоб файл запущенный любым юсером пускался как из-под владельца?

Например есть файл, его владелец - root: #!/bin/bash id

что с ним сделать чтоб при запуске из под юсера guest - он пускался как из-под root'а?

su и sudo просьба не предлагать...

anonymous

suid, только с башем у тебя это не выйдет

grustnoe ★★
()

ставишь в правах доступа suid и sgid и делаешь оунером для этого файла root и при запуски из-под юзера, файл будет выполняться с туровыми правами...

anonymous
()

>>suid, только с башем у тебя это не выйдет

да не выходит, а почему?

>>ставишь в правах доступа suid и sgid и делаешь оунером

suid делать так: chmod +s file
а как sgid сделать?

anonymous
()

chmod ug+s file

anonymous
()

Далаю файл: -- start test.sh ---

#!/bin/bash id

-- end test.sh ---

#chmod 777 test.sh #chown root test.sh #chmod ug+s file

запускаю root'ом: # ./test.sh uid=0(root) gid=1(other)

запускаю guest'ом: $ ./test.sh uid=1002(guest) gid=1(other)

почему не пускается id как от Root'a ведь suid стоит???: # ls -l -rwsrwsrwx 1 root other 15 Авг 11 10:36 test.sh

anonymous
()

поправка:

Далаю файл:
-- start test.sh ---
#!/bin/bash id

-- end test.sh ---

#chmod 777 test.sh
#chown root test.sh
#chmod ug+s file

запускаю root'ом:
# ./test.sh
uid=0(root) gid=1(other)

запускаю guest'ом:
$ ./test.sh
uid=1002(guest) gid=1(other)

почему не пускается id как от Root'a ведь suid стоит???:
# ls -l
-rwsrwsrwx 1 root other 15 Авг 11 10:36 test.sh



anonymous
()

на сколько я помню, дочерним процессам даются права обычного пользователя, попробуй для id сделать тож самое и его запустить

anonymous
()

потому что баш скидывает с себя suid. Это для безопасности

grustnoe ★★
()

use `sash` instead of `bash`
а вообще еще suid не действует на скрипты.
например для "изготовления" перловых suid'ных скриптов используется не /usr/bin/perl, а /usr/bin/suidperl

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