Запрет удаления / переименования папки (только на папку)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Domoffou
Сообщения: 6

Запрет удаления / переименования папки

Сообщение Domoffou »

Здравствуйте.
Можно ли запретить переименование определенной папки или ее удаление, оставив при этом возможность другим юзерам работать с ней полностью (удалять, копировать, вставлять содержимое)?
По идее, хоть все смогли бы полностью ее очистить, но нельзя переименовать или удалить.
Что сделал я:
1. создал папку:

Код: Выделить всё

mkdir /home/NODELETE

2. чтобы с ней могли работать:

Код: Выделить всё

chown nobody /home/NODELETE


Всё, юзеры получили доступ и могут хулиганить. Включая удаление папки NODELETE :(

Стоит Ubuntu 8.04, ext3, поднята самба (думаю не от нее зависит, в т.ч. от версии линукса, поэтому пишу сюда).
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: Запрет удаления / переименования папки

Сообщение nesk »

Domoffou писал(а):
22.07.2008 21:31
Здравствуйте.
Можно ли запретить переименование определенной папки или ее удаление, оставив при этом возможность другим юзерам работать с ней полностью (удалять, копировать, вставлять содержимое)?
По идее, хоть все смогли бы полностью ее очистить, но нельзя переименовать или удалить.
Что сделал я:
1. создал папку:

Код: Выделить всё

mkdir /home/NODELETE

2. чтобы с ней могли работать:

Код: Выделить всё

chown nobody /home/NODELETE


Всё, юзеры получили доступ и могут хулиганить. Включая удаление папки NODELETE :(

Стоит Ubuntu 8.04, ext3, поднята самба (думаю не от нее зависит, в т.ч. от версии линукса, поэтому пишу сюда).

надо что бы у пользователя не было права на запись в родительский каталог.
если у пользователя нет права писать в /home он не сможет переименовать или удалить содержимое /home в частности NODELETE

Но root может всё
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали:
Domoffou
Сообщения: 6

Re: Запрет удаления / переименования папки

Сообщение Domoffou »

nesk писал(а):
22.07.2008 21:33
надо что бы у пользователя не было права на запись в родительский каталог.
если у пользователя нет права писать в /home он не сможет переименовать или удалить содержимое /home в частности NODELETE
Но root может всё

Т.е. поставить chmod на /home?
Или chown на /home?
ПРоблема вся в том, что юзер должен иметь возможность создавать подпапки внутри NODELETE и удалять их соответственно,
т.е. полный доступ вверх от папки NODELETE.
а рут на то и рут что он рут ;)
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: Запрет удаления / переименования папки

Сообщение nesk »

Domoffou писал(а):
22.07.2008 21:36
nesk писал(а):
22.07.2008 21:33
надо что бы у пользователя не было права на запись в родительский каталог.
если у пользователя нет права писать в /home он не сможет переименовать или удалить содержимое /home в частности NODELETE
Но root может всё

Т.е. поставить chmod на /home?
Или chown на /home?
ПРоблема вся в том, что юзер должен иметь возможность создавать подпапки внутри NODELETE и удалять их соответственно,
т.е. полный доступ вверх от папки NODELETE.


Рррр
555 для /home
777 для NODELETE

и развлекайтесь
отсутствии права на запись в родительский никак не повлияет на запись в дочерний.
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали:
Domoffou
Сообщения: 6

Re: Запрет удаления / переименования папки

Сообщение Domoffou »

nesk писал(а):
22.07.2008 21:41
Рррр

не злитесь ;)

nesk писал(а):
22.07.2008 21:41
555 для /home
777 для /NODELETE

и развлекайтесь
отсутствии права на запись в родительский никак не повлияет на запись в дочерний.

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

Спасиб!
Спасибо сказали:
Аватара пользователя
murderdoll
Сообщения: 9
ОС: Mandriva One 2008

Re: Запрет удаления / переименования папки

Сообщение murderdoll »

На днях встала подобная проблема, chmod +t оказалось неплохим решением для папки с музыкой и видео, а вот базы 1Ски на такие провокации не поддаются. При обращении клиента к базе создаются несколько служебных файлов, которые удаляются при отключении клиента (если к базе больше никто не подключён), так вот, если влепить chmod +t на папку с базами, то посыпятся ошибки блокировки служебных файлов 1Ски уже при попытке подключения 2-го пользователя. Решения пока не найдено, не хватило сегодня времени, но чувствую, что оно существует. Может, кто-либо из участников форума сталкивался с подобной ситуацией и может поделиться решением?

P.S. Бит t запрещает удаление папки (и её содержимого) всем пользователям (даже если права на паку стоят 777), кроме владельца данного каталога.
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: Запрет удаления / переименования папки

Сообщение Frank »

Что-то мне кажется, что ваша версия одинцэ - не сетевая и на работу нескольким юзерам с одной базой не рассчитана.
Если же таки сетевая, то согласитесь, что запрет на rw доступ к файлам вторым пользователем после создания их первым - это как раз и есть то, для чего предназначен стики бит (-t) :)
Хотите извращений - применяйте acl
Изображение
Спасибо сказали:
Аватара пользователя
murderdoll
Сообщения: 9
ОС: Mandriva One 2008

Re: Запрет удаления / переименования папки

Сообщение murderdoll »

Frank писал(а):
23.12.2008 10:26
Что-то мне кажется, что ваша версия одинцэ - не сетевая и на работу нескольким юзерам с одной базой не рассчитана.
Если же таки сетевая, то согласитесь, что запрет на rw доступ к файлам вторым пользователем после создания их первым - это как раз и есть то, для чего предназначен стики бит (-t) :)
Хотите извращений - применяйте acl


Ну не знаю, вроде сетевая, работает в файловом режиме.

Вернёмся к нашему биту, тут интересная штука получается, мне он впервые стал известен как бит, установка которого на папку запрещает удаление файлов в этой папке всем, кроме владельца папки, вне зависимости от разрешений на папку. То есть будь там права на папку 777, мы делаем chmod +t и теперь никто, кроме владельца данной директории, не сможет удалить находящиеся в ней файлы, даже пользователь который файл создал, а владельцем папки не является. Суть в том что можно создать, можно изменить, но нельзя ничего удалять если ты не владелец каталога.
Таким образом, получаем следующее, т.к. 1цка файлы при подключении клиента создаёт, а при отключении удаляет, следовательно нужно чтобы она была запущена от имени владельца папки. Насколько я понимаю процесс, запущенный от имени конкретного пользователя получает те же права на файлы, что и пользователь от имени которого он запущен. Если вышеуказанное верно, то wine в котором крутится 1цка нужно пускать от имени юзера-владельца папки с базами. Допустим так, но подключения к базе идут как от клиентов wine+1C так и от виндовых тачек, как быть с ними?

Прошу прощения, если написал глупость, я пока только начинаю во всём этом разбираться.
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Запрет удаления / переименования папки

Сообщение diesel »

murderdoll писал(а):
24.12.2008 23:04
То есть будь там права на папку 777, мы делаем chmod +t и теперь никто, кроме владельца данной директории, не сможет удалить находящиеся в ней файлы, даже пользователь который файл создал, а владельцем папки не является.

тот кто создал - может. вы ведь можете удалять файлы которые создавали сами в /tmp. а владелец /tmp - root, и на /tmp стоит +t и 777.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Запрет удаления / переименования папки

Сообщение watashiwa_daredeska »

murderdoll писал(а):
24.12.2008 23:04
Вернёмся к нашему биту, тут интересная штука получается, мне он впервые стал известен как бит, установка которого на папку запрещает удаление файлов в этой папке всем, кроме владельца папки файлов,
Спасибо сказали: