Comments 12
Уточню, что в данном случае решающими являются права на собственно папку /home/user/left-shoe/, а не $HOME (/home/user/).
А так да, права на содержимое файла не определяют права на его имя (или отсутствие имени) в данной папке.
А так да, права на содержимое файла не определяют права на его имя (или отсутствие имени) в данной папке.
+1
Решающим являются права записи на каталог с файлом. А доступ X должен быть на всех каталогах, ведущих к файлу.
Да, элементарные права доступа редко кто знает, на собеседовании ни один нормально не отвечал. И это еще не касаясь темы ACL.
Да, элементарные права доступа редко кто знает, на собеседовании ни один нормально не отвечал. И это еще не касаясь темы ACL.
+2
Гдето читал, что папка это тоже файл, но он содержит в себе список файлов которые внутри. Поэтому все логично: если можем писать в этот файл (папку) (изменять список), то можем удалять что угодно.
+1
chmod +t /home
Сегодня sticky bit используется в основном для каталогов, чтобы защитить в них файлы. Из такого каталога пользователь может удалить только те файлы, владельцем которых он является. Примером может служить каталог /tmp, в который запись открыта для всех пользователей, но нежелательно удаление чужих файлов. Установка атрибута производится утилитой chmod.ru.wikipedia.org/wiki/Sticky_bit
+6
В данном случае это не поможет, потому что:
- Папка
left_shoe
тоже юзеру. Если захочет, он снимет с неё sticky_bit, удалит файл, а потом вернёт sticky_bit обратно. - Мало того, даже снимать sticky_bit необязательно. Я сейчас этому был несказанно удивлён, но:
user@desktop:~$ mkdir shoe user@desktop:~$ chmod +t shoe user@desktop:~$ ls -ld shoe drwxrwxr-t 2 user user 4096 вер 7 19:14 shoe user@desktop:~$ sudo -s [sudo] password for user: root@desktop:~# touch shoe/rock root@desktop:~# exit exit user@desktop:~$ ls -l shoe total 0 -rw-r--r-- 1 root root 0 вер 7 19:16 rock user@desktop:~$ rm -f shoe/rock user@desktop:~$ echo $? 0 user@desktop:~$ ls -l shoe total 0
Вероятно, дело в том, что система «понимает», что владелец папки может и снять sticky_bit, поэтому не накладывает на него это ограничение, он может удалять в ней всё (ну, не буквально «понимает», а просто при проектировании системы прав это учли).
0
Ничего удивительного, просто википедия — не самый лучший источник знаний =)
Из stick-bit каталога удалять файлы могут: владельцы файлов, владелец каталога (!) и root.
man 1 chmod
RESTRICTED DELETION FLAG OR STICKY BIT
The restricted deletion flag or sticky bit is a single bit, whose interpretation depends on the file type. For directories, it prevents
unprivileged users from removing or renaming a file in the directory unless they own the file or the directory; this is called the
restricted deletion flag for the directory, and is commonly found on world-writable directories like /tmp. For regular files on some older
systems, the bit saves the program's text image on the swap device so it will load more quickly when run; this is called the sticky bit.
Из stick-bit каталога удалять файлы могут: владельцы файлов, владелец каталога (!) и root.
man 1 chmod
RESTRICTED DELETION FLAG OR STICKY BIT
The restricted deletion flag or sticky bit is a single bit, whose interpretation depends on the file type. For directories, it prevents
unprivileged users from removing or renaming a file in the directory unless they own the file or the directory; this is called the
restricted deletion flag for the directory, and is commonly found on world-writable directories like /tmp. For regular files on some older
systems, the bit saves the program's text image on the swap device so it will load more quickly when run; this is called the sticky bit.
0
Самое весёлое — это если кому-то, кто не знает про такие трюки, создать подобный файлик и предложить его удалить. Главное, ls никакого криминала не показывает, файл не залочен, а удалить даже рутом — фиг.
0
Рок Теймер — укротитель камушков же или лучше в данном контексте Повелитель Камней
+6
Шикарно
-1
Выше правильно указали, корректно использовать «стики-бит» на папке, чем +i аттрибут на файле, насколько помню он (immutable) вообще завязан на типе ФС и не во всех работает. И да, из-за приколистов типа chattr +a, у меня уже рефлекс чекать файлы через lsattr
P.S. Не пускайте Чакка Норриса в консоль, а то и это не поможет :)
P.S. Не пускайте Чакка Норриса в консоль, а то и это не поможет :)
0
Sign up to leave a comment.
Articles
Change theme settings
Случайное удаление файлов рута