Права доступа (только создавать)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

pelmen
Сообщения: 1268
ОС: debian

Права доступа

Сообщение pelmen »

Глупый вопрос, но что-то я сходу не разобрался. Как выставить права доступа на каталог, чтобы в него пользователи могли писать, создавать в нем файлы, каталоги, но удалять не могли (либо только то, что само же создали). Что-то типа общедоступного файлообменника, где нельзя удалить чужое. Структурировать пользователей по каталогам, к которым у них есть доступ не подходит.
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Права доступа

Сообщение Ленивая Бестолочь »

man 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.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Права доступа

Сообщение pelmen »

Спасибо, то что нужно!
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Права доступа

Сообщение pelmen »

Думаю, ковыряю. Что-то не получается.
Мне необходимо создать каждому пользователю каталог (user1,user2...userN), в который все могут писать, но удалять может только этот пользователь. То есть быть может рыть в сторону chown_upload ?
Каталог - samba шара
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Права доступа

Сообщение Ленивая Бестолочь »

с acl-ями было бы проще, мне кажется:
ставим:

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

aptitude install acl

включаем:

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

mount -o remount,acl /mnt

(не забывайте в fstab добавить, /mnt - точка монтирования файловой системы)
допустим у нас есть группа, в которой будут все пользователи (all_users)
добавим туда этих пользователей:

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

for user in vasya petya kolya;do usermod -G all_users $user; done

ставим права на каталог:

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

setfacl -m g:all_users:rwx /mnt/share
setfacl -m d:g:all_users:r-x /mnt/share



вот смотрите, как это работает:

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

rena:/mnt/data/data# mkdir test
rena:/mnt/data/data# setfacl -m g:admins:rwx test
rena:/mnt/data/data# setfacl -m d:g:admins:r-x test
rena:/mnt/data/data# getfacl test
# file: test
# owner: root
# group: root
user::rwx
group::r-x
group:admins:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:admins:r-x
default:mask::r-x
default:other::r-x
rena:/mnt/data/data# getent group admins
admins:*:20001:admin,rakul,kuv,maxim,al,oleg,mihaylov
rena:/mnt/data/data# su rakul
rakul@rena:/mnt/data/data$ cd test
rakul@rena:/mnt/data/data/test$ mkdir rakul
rakul@rena:/mnt/data/data/test$ touch rakul/1
rakul@rena:/mnt/data/data/test$ exit
exit
rena:/mnt/data/data# getfacl test/rakul/
# file: test/rakul/
# owner: rakul
# group: people
user::rwx
group::r-x
group:admins:r-x
mask::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:admins:r-x
default:mask::r-x
default:other::r-x

rena:/mnt/data/data# getfacl test/rakul/1
# file: test/rakul/1
# owner: rakul
# group: people
user::rw-
group::r-x                      #effective:r--
group:admins:r-x                #effective:r--
mask::r--
other::r--

rena:/mnt/data/data# su maxim
Создание каталога '/home/maxim'.
maxim@rena:/mnt/data/data$ cd test
maxim@rena:/mnt/data/data/test$ mkdir maxim
maxim@rena:/mnt/data/data/test$ cd rakul/
maxim@rena:/mnt/data/data/test/rakul$ ls
1
maxim@rena:/mnt/data/data/test/rakul$ rm 1
rm: удалить защищенный от записи пустой обычный файл `1'? yes
rm: невозможно удалить `1': Отказано в доступе
maxim@rena:/mnt/data/data/test/rakul$ exit
exit
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
Brainsburn
Сообщения: 950
Статус: /
ОС: Gentoo

Re: Права доступа

Сообщение Brainsburn »

pelmen писал(а):
17.06.2010 15:31
Глупый вопрос, но что-то я сходу не разобрался. Как выставить права доступа на каталог, чтобы в него пользователи могли писать, создавать в нем файлы, каталоги, но удалять не могли (либо только то, что само же создали). Что-то типа общедоступного файлообменника, где нельзя удалить чужое. Структурировать пользователей по каталогам, к которым у них есть доступ не подходит.

Т.е. Вам надо при создании файла "пользователю" дать права на чтение-запись, а "группе" и "остальным" дать только чтение. Я правильно понял?
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Права доступа

Сообщение pelmen »

Ленивая Бестолоч..., спасибо, буду пробовать.
Brainsburn, объясню еще раз по-другому:
мне нужно создать самба-шару, в которой будут каталоги пользователей: user1,user2...userN
В каждый из данных каталогов все могут писать, но удалять можно только при одном из двух условий:
1) если удаляющий является создателем-владельцем
2) если удаляемое расположено в каталоге, названном в честь удаляющего
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Права доступа

Сообщение Ленивая Бестолочь »

pelmen
забыл одну важную деталь там указать. ещё сделайте:

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

setfacl -m o:--- /mnt/share
setfacl -m d:o:--- /mnt/share

чтобы запретить "всем остальным" входить в каталог и в то, что будет создано в нём.

п.с. а вообще при правильно настроенной самбе работают галочки во вкладке "безопастность" в винде. которые управляют этими самыми acl-ями.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Права доступа

Сообщение pelmen »

Если честно, моей целью не является работоспособность галочек во вкладке "безопасность" в винде. Точнее даже наоборот. Хотелось бы настроить так, чтобы этими галочками больше никогда не пользоваться :)
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Права доступа

Сообщение Ленивая Бестолочь »

pelmen писал(а):
18.06.2010 10:30
Если честно, моей целью не является работоспособность галочек во вкладке "безопасность" в винде. Точнее даже наоборот. Хотелось бы настроить так, чтобы этими галочками больше никогда не пользоваться smile.gif

ну я скорее не предлагал ими пользоваться, а говорил о том, что функцонал как у галочек ;-)
(почти)
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали: