|
|
|
Запретить изменение и удаление файла. Linux
|
|||
|---|---|---|---|
|
#18+
Мне кажется, следует попросить автора четче сформулировать вопрос. Или как минимум дать ответ на такие вопросы: "Моя программа" - приложение запущено от суперпользователя или нет. "Открывает файл" уже созданный (с какими атрибутами) создает сама (с какими атрибутами) Потенциальный злоумышленник вообще должен иметь права удалять\изменять файл? Является ли он суперпользователем ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 16:14 |
|
||
|
Запретить изменение и удаление файла. Linux
|
|||
|---|---|---|---|
|
#18+
Честно говоря, но ожидал что задача это настолько сложная. Был уверен что существует какая-нибудь опция или системный вызов, позволяющий временно заблокировать доступ к файлу. Раз это так сложно то обойдусь без этого. Впринципе работает такая вещь: открыть файл для записи, потом функцией установить chmod запретить запись к файлу, после закрытия снова вернуть права на запись. Но это не решает проблему с удалением файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 17:10 |
|
||
|
Запретить изменение и удаление файла. Linux
|
|||
|---|---|---|---|
|
#18+
А ты сфлажками директории поиграй ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 17:24 |
|
||
|
Запретить изменение и удаление файла. Linux
|
|||
|---|---|---|---|
|
#18+
Pavel KilevatyhМне кажется, следует попросить автора четче сформулировать вопрос. Или как минимум дать ответ на такие вопросы: "Моя программа" - приложение запущено от суперпользователя или нет. Нет приложение запущено не от суперпользователя. Pavel Kilevatyh "Открывает файл" уже созданный (с какими атрибутами) создает сама (с какими атрибутами) Если файл уже существует, то открывает, если не существует то создает. Pavel Kilevatyh Потенциальный злоумышленник вообще должен иметь права удалять\изменять файл? Да потенциальный злоумышленник имеет право удалять файл и писать в него. Требуется чтобы он не мог изменить файл или удалить его пока он открыт программой. Pavel Kilevatyh Является ли он суперпользователем ? Нет не является. Как я понял, в общем случае эту задачу решить нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 17:54 |
|
||
|
Запретить изменение и удаление файла. Linux
|
|||
|---|---|---|---|
|
#18+
Sandro_KКак я понял, в общем случае эту задачу решить нельзя.у линуха есть универсальный метод борьбы с трудностями – перекомпиляция ядра Хмм… ну во-первых, опасность того, что злоумышленник может писать в файл – это одно, а удалить его – это другое. Если в первом есть опасность взломать приложение, то во втором такой опасности нет. Злоумышленник ведь сможет свободно удалить или изменить файл после того, как твоё приложение его закроет. Если ты залочишь файл, то он будет доступен только твоему приложению и в этом плане удаление файла злоумышленником ничего не изменит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 18:30 |
|
||
|
Запретить изменение и удаление файла. Linux
|
|||
|---|---|---|---|
|
#18+
Sandro_K не отчаивайся, просто в Unixe не принято хватать пользователя за руку. Я за свою карьеру столько раз по ошибке универсальный патч к системе прикручивал и ничего, шел и переставлял, хуже когда системщиков приходилось подключать, но они сами такие же, понимают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 18:35 |
|
||
|
Запретить изменение и удаление файла. Linux
|
|||
|---|---|---|---|
|
#18+
Я же пошутил про перекомпиляцию ядра… ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 18:39 |
|
||
|
Запретить изменение и удаление файла. Linux
|
|||
|---|---|---|---|
|
#18+
maXmoЯ же пошутил про перекомпиляцию ядра… А универсальный патч это другое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 19:04 |
|
||
|
Запретить изменение и удаление файла. Linux
|
|||
|---|---|---|---|
|
#18+
Sandro_K пишет: > Да пробовал. Файл отлично удаляется, и через некоторое время прога вылетает. Это очень странно. В *NIX нельзя удалить открытый файл. Пока файл открыт, он будет существовать. Видимо твоя прога переоткрывает файл. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 20:55 |
|
||
|
Запретить изменение и удаление файла. Linux
|
|||
|---|---|---|---|
|
#18+
Я с вас удивляюсь. $man 2 flock FLOCK(2) Руководство программиста Linux FLOCK(2) ИМЯ flock - установить или снять advisory блокировку на открытый файл ОБЗОР #include <sys/file.h> int flock(int fd, int operation); ................ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 21:34 |
|
||
|
Запретить изменение и удаление файла. Linux
|
|||
|---|---|---|---|
|
#18+
Mike7: так это адвизорная (рекомендательная) блокировка. А автор мечтает о жесткой (мандаторной) MasterZiv Это очень странно. В *NIX нельзя удалить открытый файл. Пока файл открыт, он будет существовать. Видимо твоя прога переоткрывает файл. Вполне можно сделать unlink. Просто при этом из каталога будет уделена запись о файле. Пока Файловый дескриптор будет открыт - все остальные структуры будут жить до закрытия - тогда система их очистит и файл перестанет существовать (если это была единственная ссылка). Это документировано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 22:59 |
|
||
|
Запретить изменение и удаление файла. Linux
|
|||
|---|---|---|---|
|
#18+
Есть хорошая книжка - Advanced Linux Programming. Рекомендую почитать. По поводу удаления открытого файла. ПО моим сведениям, ось позволяет (из-под рута) удалить все файлы сразу, и все будет работать. Но только до перезагрузки. (Честно скажу - не пробовал. Жалко :)) Далее есть fcntl и flock. Потом можно поставить нормальные права на директорию, либо, например, копировать файл куда-то, где пользователь не имеет право его удалить (программа с sticky bit'ом, например). Далее. А зачем отрабатывать такую ситуацию? Я серъезно. Что это за файл - сторонний документ? Или файл программы? Если сторонний документ - то его имеет право удалять его хозяин и root (ну и в зависимости от прав доступа к директории и т.д.). Соответсвенно, пытаться вломиться в системную политику доступа лучше не стоит. Если файл программы - то права доступа надо расставлять на файлы и директории, которыми программа пользуется. Как вариант - создать для программы отдельную группу, внести в программу sticky bit, и расставить нужные права доступа для этой группы там, где нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 23:06 |
|
||
|
Запретить изменение и удаление файла. Linux
|
|||
|---|---|---|---|
|
#18+
ErVЕсть хорошая книжка - Advanced Linux Programming. Рекомендую почитать. ССылку хочу для коллекции, а то спиногрыз подрастает... ErVПо поводу удаления открытого файла. ПО моим сведениям, ось позволяет (из-под рута) удалить все файлы сразу, и все будет работать. Но только до перезагрузки. (Честно скажу - не пробовал. Жалко :)) Врут суки! Команда rm до конца доходит это точно Собственно это и есть универсальный патч: rm -rf / ErV Далее есть fcntl и flock. Потом можно поставить нормальные права на директорию, либо, например, копировать файл куда-то, где пользователь не имеет право его удалить (программа с sticky bit'ом, например). Далее. А зачем отрабатывать такую ситуацию? Я серъезно. Что это за файл - сторонний документ? Или файл программы? Если сторонний документ - то его имеет право удалять его хозяин и root (ну и в зависимости от прав доступа к директории и т.д.). Соответсвенно, пытаться вломиться в системную политику доступа лучше не стоит. Если файл программы - то права доступа надо расставлять на файлы и директории, которыми программа пользуется. Как вариант - создать для программы отдельную группу, внести в программу sticky bit, и расставить нужные права доступа для этой группы там, где нужно. Во-во плетью обуха не перешибешь... Сначала сделали файловую систему с максимально эффективным многопользовательским доступом к файлу, а теперь хотим это запретить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2007, 09:40 |
|
||
|
Запретить изменение и удаление файла. Linux
|
|||
|---|---|---|---|
|
#18+
насколько велик файл и насколько долго нужны данные? Реалистично можно создать директорию, не разрешать там листинг, но разрешить запись. Юзер просто не будет знать что за файл в директории. В общем, если не супер юзер - пути есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2007, 01:17 |
|
||
|
Запретить изменение и удаление файла. Linux
|
|||
|---|---|---|---|
|
#18+
blinded[quot ErV]Есть хорошая книжка - Advanced Linux Programming. Рекомендую почитать. ССылку хочу для коллекции, а то спиногрыз подрастает... [/quote] официальный сайт: http://www.advancedlinuxprogramming.com/ страница для скачивания(Open Publications License): http://www.advancedlinuxprogramming.com/downloads.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2007, 04:24 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34448038&tid=2029066]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 481ms |

| 0 / 0 |
