Войти

Показать полную графическую версию : [решено] Помогите: Запретить удалять папки и файлы. (Ext4)


apozlevich
14-10-2011, 15:29
Делаю расшаренную папку. Есть несколько подпапок и файлы в них. Нужно сделать так, что бы файлы можно было только читать, но невозможно удалять и создавать новые файлы. С директориями то же самое (но с +x).

Собственно в этом и нужна помощь. На файлы стоят права 744, но все равно удаляются другим пользователем. На папки пока 777. Файловая система Ext4.

SpectreKr
14-10-2011, 15:34
На файл права 744, на каталог 755.

apozlevich
14-10-2011, 15:56
файлы можно было только читать, но невозможно удалять и создавать новые файлы »
Хм.. Я не совсем правильно выразился.

Должно быть так:
запрещено: удалять папки; удалять файлы;
разрешено: создавать папки; создавать файлы; изменять файлы;

SpectreKr
14-10-2011, 16:11
Тогда разбираться с правилами ACL.

apozlevich
14-10-2011, 16:13
Да ну нафиг :)
Убил шару, дал несколько доступов по ssh :)
А вообще спасибо.

SpectreKr
14-10-2011, 16:30
Если вам для шары, почему бы не настроить самбу так, чтоб анонимы - только читали, а пользователи могли и читать и писать?
Примеров по настройке подобных ситуаций много.

apozlevich
14-10-2011, 16:37
Да, google power. Ушел гуглить.

vadblm
15-10-2011, 16:32
Ещё можно раздел в ro монтировать. Тогда там даже рут не сможет создавать и удалять файлы. :) Разумеется, придётся сделать так, чтобы раздел и шара совпадали. Если не совпадают, то можно извернуться, например, так:

# mkdir /mnt/readonly
# mount --bind /home/some/shared/folder /mnt/readonly
# mount -o remount,ro /mnt/readonly
# touch /mnt/readonly/foo
touch: невозможно выполнить touch для «/mnt/readonly/foo»: Файловая система доступна только для чтения

UPD Проглядел поправку (кстати, посты можно редактировать :))
Должно быть так:
запрещено: удалять папки; удалять файлы;
разрешено: создавать папки; создавать файлы; изменять файлы; »
ro в этом случае не годится, а нужен так называемый sticky bit.

chmod 1777 /home/share; chown nobody:nogroup /home/share
А самбу пускать от другого юзера.

apozlevich
15-10-2011, 19:19
кстати, посты можно редактировать »
Не был уверен, что отредактированный пост появится в подписке.

ro в этом случае не годится, а нужен так называемый sticky bit. »

Что-то слышал про него, но не углублялся. Не можешь написать все его значения? (как это называется, то, у чего есть вес и общий нескольких - нужное число...)

chmod 1777 /home/share; chown nobody:nogroup /home/share »
Как ты догадался, что юзера зовут nobody? :)

vadblm
15-10-2011, 19:31
Что-то слышал про него, но не углублялся. Не можешь написать все его значения? »
Поскольку это бит, у него бывает только два значения - установлен или не установлен. :)
По умолчанию он не установлен, для установки требуется использовать команду chmod номерным представлением прав и добавить спереди единичку.
Подробности man 2 chmod, man 2 stat.

The sticky bit (S_ISVTX) on a directory means that a file in that directory can be renamed or deleted only by the owner of the file, by the owner of the directory, and by a privileged process.

apozlevich
15-10-2011, 19:38
Поскольку это бит, у него бывает только два значения - установлен или не установлен. »
Торможу, да.

vadblm
15-10-2011, 19:44
Как ты догадался, что юзера зовут nobody? »
Я не догадывался, это обычная практика.

apozlevich
15-10-2011, 19:59
vadblm, давай еще одно сообщение, будет 3000 :)

El Scorpio
20-10-2011, 09:27
На файлы стоят права 744, но все равно удаляются другим пользователем. На папки пока 777. »
Создание, удаление и переименование файлов - это действия, изменяющие содержимое каталога. Соответственно, для запрета (всем, кроме владельца каталога) нужно указать каталогу права 755




© OSzone.net 2001-2012