LINUX.ORG.RU
решено ФорумTalks

А что бы такого сделать со sticky bit?

 sticky bit, , ,


0

1

Вот есть такая приблуда, ныне бесполезная для файлов. Я вот подумал: а что если направить ее энергию в нужное русло?

Вот например: при установке такого бита максимально долго и безопасно пытаться хранить файл, сделать его копию (на уровне ФС), при удалении оставить grace period во время которого файл можно безнаказанно восстановить (опять же на уровне ФС).

Или расширить концепцию как в директориях: при установке этого бита запретить переименоваывать/удалять файл другим пользователям при наличии права g+w o+w. Или таким же образом запретить изменение rwx флагов.

А может задекларировать его «для прикладного применения» и пускай каждая программа интерпретирует его (бит) по-своему?

Как вам идеи? Дискач.

Ответ на: комментарий от Ygor

Какой толк от патчей делающих непонятно-что? Сперва нужно обосратьсудить, а не бросаться пузом на амбразуру. Взять к примеру обратную совместимость: ведь потенциально можно что-то сломать и прославиться как новый Поттеринг (ничего против него не имею).

KennyMinigun ★★★★★
() автор топика

да, хорошо бы ему применение найти. вот только придумать не могу.

Lincor
()

Как вам идеи? Дискач.

Так себе.

Во превых, оно всё ещё активно используется. Например установка стики на группу директории приводит к тому, что все новые файлы в этой директории буду принадлежать той же группе, что и сама директории, а не группе создающего. (Тоже самое с стики на юзверя.)

Для всего остального есть chattr. В том числе для создания «неизменяемых» (immutable) файлов.

Вырезка из мана:

The letters `acdeijstuACDST' select the new attributes for the files: append only (a), compressed (c), no dump (d), extent format (e), immutable (i), data journalling (j), secure deletion (s), no tail-merging (t), undeletable (u), no atime updates (A), no copy on write (C), synchronous directory updates (D), synchronous updates (S), and top of directory hierarchy (T).

Т.ч. изобретаешь велосипед, и что самое страшное, не заботишься о портабельности и обратной совместимости.

Т.ч. неуд. =)

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

Например установка стики на группу директории
Тоже самое с стики на юзверя.

Это как? Я думал этот бит всего один.

При выставлении sticky на директорию пользователям, отличным от владельца и root — запрещено переименовывать/удалять файлы, даже имея +w. Для файлов игнорится.

KennyMinigun ★★★★★
() автор топика
Последнее исправление: KennyMinigun (всего исправлений: 2)
Ответ на: комментарий от beastie

А вообще спасибо за направление man chattr. Я познаю мир.

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

Например установка стики на группу директории приводит к тому, что все новые файлы в этой директории буду принадлежать той же группе, что и сама директории, а не группе создающего. (Тоже самое с стики на юзверя.)

И как установить sticky на пользователя?

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

Извиняюсь, с пользовательем, похоже, что ошибся, но с группой работает.

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

Наример:

$ mkdir projects
$ chown projectleader:projectmember projects
$ chmod g+sw projects

Теперь, предположим, у нас группа девов и все они в группе projectmember.

$ id
uid=100500(vasya) gid=100500(vasya) groups=100501(projectmember)
$ ls -ld projects
drwxrwsr-x  1 projectleader  projectmember  512 24 May 02:21 project
$ cd projects
$ touch whatever.txt
$ ls -l whatever.txt
-rw-r--r--  1 vasya  projectmember  0 24 May 02:21 whatever.txt

Без sticky было бы:

-rw-r--r--  1 vasya  vasya  0 24 May 02:21 whatever.txt
А если добавить ещё umask, то ACL становится совсем ненужным. =)

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

По ходу, я похоже, перепутал sticky и suid, но не суть важно. :$

sticky — да, для /tmp и подобного. suid на группу директории, как я описал.

Ещё раз пардон.

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