Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Как создать в папке файл, который владелец папки не может удалить? / 9 сообщений из 9, страница 1 из 1
03.04.2014, 23:50
    #38604944
anvano
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать в папке файл, который владелец папки не может удалить?
Есть папка. Владелец User. Права на запись в папку у него есть.
Есть ли возможность создать рутом в этой папке текстовый файл так, чтобы этот User не мог его удалить?

Просто создаю файл, у которого владелец root:root и вообще не выставлены никакие права никому - user хоть внутрь заглянуть и не может, но зато прекрасно его может удалить.

Что можно сделать с файлом, чтобы user мог его читать, но не мог удалять, но при этом мог писать в свою директорию?
...
Рейтинг: 0 / 0
03.04.2014, 23:54
    #38604945
anvano
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать в папке файл, который владелец папки не может удалить?
ЗЫ: Пробовал и на папку и на файл ставить sticky bit - не помогло. User всё равно спокойно удаляет файл.

Неужели это невозможная комбинация: создать в папке пользователя файл, который он не сможет удалить?
...
Рейтинг: 0 / 0
04.04.2014, 00:15
    #38604956
Sergey Orlov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать в папке файл, который владелец папки не может удалить?
anvano,
сделать владельцем файла рута и поставить соответствующую маску..
...
Рейтинг: 0 / 0
04.04.2014, 02:41
    #38605003
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать в папке файл, который владелец папки не может удалить?
anvanoЗЫ: Пробовал и на папку и на файл ставить sticky bit - не помогло. User всё равно спокойно удаляет файл.А владельцем рута не пробовал ставить?автор
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
ra:~ # mkdir /sticky_dir
ra:~ # chmod a+rwxt /sticky_dir
ra:~ # cd /sticky_dir
ra:/sticky_dir # touch root lubomudr oracle
ra:/sticky_dir # chown lubomudr:users lubomudr
ra:/sticky_dir # chown oracle:dba oracle
ra:/sticky_dir # ls -la
total 8
drwxrwxrwt  2 root     root  4096 Apr  4 09:36 .
drwxr-xr-x 29 root     root  4096 Apr  4 09:34 ..
-rw-r--r--  1 lubomudr users    0 Apr  4 09:36 lubomudr
-rw-r--r--  1 oracle   dba      0 Apr  4 09:36 oracle
-rw-r--r--  1 root     root     0 Apr  4 09:36 root
ra:/sticky_dir # su - lubomudr
lubomudr@ra:~> cd /sticky_dir
lubomudr@ra:/sticky_dir> cat *
lubomudr@ra:/sticky_dir> rm oracle
rm: remove write-protected regular empty file `oracle'? y
rm: cannot remove `oracle': Operation not permitted
lubomudr@ra:/sticky_dir> rm lubomudr
lubomudr@ra:/sticky_dir> ls -la
total 8
drwxrwxrwt  2 root   root 4096 2014-04-04 09:38 .
drwxr-xr-x 29 root   root 4096 2014-04-04 09:34 ..
-rw-r--r--  1 oracle dba     0 2014-04-04 09:36 oracle
-rw-r--r--  1 root   root    0 2014-04-04 09:36 root
...
Рейтинг: 0 / 0
04.04.2014, 08:52
    #38605065
Андрей Панфилов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать в папке файл, который владелец папки не может удалить?
~]# ls -ld /tmp
drwxrwxrw t . 22 root root 20480 Apr 4 08:41 /tmp
...
Рейтинг: 0 / 0
04.04.2014, 08:54
    #38605069
anvano
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать в папке файл, который владелец папки не может удалить?
Если сделать владельцем папки рута, то конечно в плане пермишенов всё работает, но начинаются какие-то спецэффекты от suhosin и seLinux на предмет выполнения php скриптов из данной папки, плюс тогда приходится давать права на запись для others чтобы user мог писать в папку, а этого хочется избежать.

авторanvano,
сделать владельцем файла рута и поставить соответствующую маску..


Владелец файла и так root, я написал выше!
user не может прочитать файл, но может его удалить, т.к. user владелец папки, где лежит файл и у него есть права на запись в эту папку.

Просто для меня выглядит дико нелогичным, что для операции удаления файла проверяются только права на каталог, где лежит файл и никак не учитываются права на сам файл :( в винде такой проблемы нет.

В общем по результатам долгого гугления выяснилось, что походу такой возможности нет, пичаль
...
Рейтинг: 0 / 0
04.04.2014, 09:07
    #38605073
miwaonline
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать в папке файл, который владелец папки не может удалить?
anvano,

chattr +i your_file
...
Рейтинг: 0 / 0
04.04.2014, 09:19
    #38605081
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать в папке файл, который владелец папки не может удалить?
anvanoПросто для меня выглядит дико нелогичным, что для операции удаления файла проверяются только права на каталог, где лежит файл и никак не учитываются права на сам файлВроде все логично. Суть удаления файла - изменение каталога. Пользователь же имеет право на изменение каталога. А до "прав на файл" оно как-то и не доходит.
...
Рейтинг: 0 / 0
04.04.2014, 11:55
    #38605251
anvano
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать в папке файл, который владелец папки не может удалить?
miwaonlineanvano,

chattr +i your_file

Оо! то что надо! Спасибо.
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Как создать в папке файл, который владелец папки не может удалить? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]