LINUX.ORG.RU

Почему я не могу для other поставить +s?


0

0

chmod u+s at.sh работает
chmod g+s at.sh работает
а
chmod o+s at.sh НЕ работает
Это почему так? У меня вот скриптик есть, я хочу его владелцем сделать рута и всем дать права на выполнение и чтобы права при выполнении скриптика были рутовые. И не работает. Что я делаю не так?

1) для .sh suid бит не работает,
все равно что вы будете ставить, такие скрипты должны выполняться через врапперы, для perl это например suidperl , для shell единого нет, но есть много разных проектов, можете поискать, mironov_ivan @ L.O.R. например что-то делал )

также не забывайте что существует sudo

2) suid бит может существовать только для пользователя и группы, other это все остальные, сама идея назначения прав всех остальных несколько абсурдно

u+s - программа (бинарная! не скрипт!) будет выполнена с правами владельца
g+s программа при запуске унаследует права группы-владельца
для скриптов suid бит игнорируется, если не поддерживается специальным враппером

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

>для shell единого нет, но есть много разных проектов, можете поискать, mironov_ivan @ L.O.R. например что-то делал

Можно просто сделать копию шелла с суид-битом. Минус - при обновлении одного второй не обновится. Но, по-моему, это не так критично.

Laz ★★★★★
()
Ответ на: комментарий от Laz

>Можно просто сделать копию шелла с суид-битом.

Хороший совет, пользователи будут благодарны. Но обновления в такой системе действительно не критичны :)

mky ★★★★★
()
Ответ на: комментарий от mky

>Хороший совет, пользователи будут благодарны.

Ну так. Всё для них, родимых :)

Laz ★★★★★
()
Ответ на: комментарий от Laz

может сразу пароль root оставить пустой ?)

Sylvia ★★★★★
()

Есть suid бит (выполнение с правами владельца) и sgid-бит (выполнение с правами группы-владельца). soid-бита (выполнение с хз чьими правами) - извините, нет!

nnz ★★★★
()

>Это почему так? У меня вот скриптик есть, я хочу его владелцем сделать рута и всем дать права на выполнение и чтобы права при выполнении скриптика были рутовые. И не работает. Что я делаю не так?

Вообще для бинарников достаточно u+s o+x.
Но со скриптами такое не прокатит - это вам уже объяснили выше.

nnz ★★★★
()
Ответ на: комментарий от nnz

вообще-то сам этот бит зарезервирован для sticky
если задать его такой на каталог ( mode 1777 , пример - /tmp )
то удаление и изменение файлов в этом каталоге будет доступно только для владельца файла, а не всем подряд ( как в случае mode 0777)

для файла sticky бит раньше использовался для того чтобы держать бинарник в памяти, сейчас это похоже уже не применяется много лет как.

так что , все используется mode xugo
в позиции x -

1 - sticky
2 - sgid
4 - suid

в остальных -

1 - execute/browse dir
2 - write
4 - read

Sylvia ★★★★★
()
Ответ на: комментарий от nnz

это было больше для автора темы ) пусть просвещается, а то много вопросов задает )
аналогия как раз та, ставится конечно в буквенных опциях чуть иначе, а вот octal
как раз использует тот самый бит 1___, так что чтобы ТС не удивлялся что что-то куда-то потерялось ) ничего не потерялось, все используется, кроме разве что sticky бита на файлах, тут единого применения не определено пока

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

>все используется, кроме разве что sticky бита на файлах, тут единого применения не определено пока
Насколько я знаю, sticky использовался на файлах когда-то давно. Он означал, что с файлом часто производятся операции чтения-записи, и рекомендовал ФС перенести этот файл в какое-нибудь более удобное для этого место. Как-то так.

И еще, как я помню, suid для каталогов тоже не используется.

nnz ★★★★
()
Ответ на: комментарий от nnz

sylvia@allure:/tmp$ mkdir testdir
sylvia@allure:/tmp$ chmod 6777 testdir
sylvia@allure:/tmp$ ls -l |grep testdir
drwsrwsrwx 2 sylvia sylvia 40 Aug 14 00:17 testdir
sylvia@allure:/tmp$ su meya
Password:
meya@allure:/tmp$ cd testdir
meya@allure:/tmp/testdir$ touch a
meya@allure:/tmp/testdir$ ls -l
total 0
-rw-r--r-- 1 meya sylvia 0 Aug 14 00:18 a

хотя да, только группа, впрочем на это тоже вроде нет спецификаций единых? или я ошибаюсь?

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

Первый попавшийся под руку источник - вики - глаголет:

>Для папки: установка SGID приведет к установке принадлежности каждого нового создаваемого файла к той же группе, к которой принадлежит сам каталог, а не к основной группе владельца, как это происходит по умолчанию. SUID для каталога не имеет смысла.

http://ru.wikipedia.org/wiki/Chmod

nnz ★★★★
()
Ответ на: комментарий от nnz

Ну и для полноты картины -- SGID бит на обычном файле (не каталоге) при отсутствующем x-бите включает для этого файла mandarory locking.

bigbit ★★★★★
()
Ответ на: комментарий от bigbit

Спасибо, не знал.
Если вас не затруднит - напишите плз об этом в википедии! А то я слегка не в теме :(

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