Права доступа (только создавать)
Модераторы: SLEDopit, Модераторы разделов
-
pelmen
- Сообщения: 1268
- ОС: debian
Права доступа
Глупый вопрос, но что-то я сходу не разобрался. Как выставить права доступа на каталог, чтобы в него пользователи могли писать, создавать в нем файлы, каталоги, но удалять не могли (либо только то, что само же создали). Что-то типа общедоступного файлообменника, где нельзя удалить чужое. Структурировать пользователей по каталогам, к которым у них есть доступ не подходит.
-
Ленивая Бестолочь
- Бывший модератор
- Сообщения: 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: Права доступа
Думаю, ковыряю. Что-то не получается.
Мне необходимо создать каждому пользователю каталог (user1,user2...userN), в который все могут писать, но удалять может только этот пользователь. То есть быть может рыть в сторону chown_upload ?
Каталог - samba шара
Мне необходимо создать каждому пользователю каталог (user1,user2...userN), в который все могут писать, но удалять может только этот пользователь. То есть быть может рыть в сторону chown_upload ?
Каталог - samba шара
-
Ленивая Бестолочь
- Бывший модератор
- Сообщения: 2760
- ОС: Debian; gentoo
Re: Права доступа
с acl-ями было бы проще, мне кажется:
ставим:
включаем:
(не забывайте в fstab добавить, /mnt - точка монтирования файловой системы)
допустим у нас есть группа, в которой будут все пользователи (all_users)
добавим туда этих пользователей:
ставим права на каталог:
вот смотрите, как это работает:
ставим:
Код: Выделить всё
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: Права доступа
pelmen писал(а): ↑17.06.2010 15:31Глупый вопрос, но что-то я сходу не разобрался. Как выставить права доступа на каталог, чтобы в него пользователи могли писать, создавать в нем файлы, каталоги, но удалять не могли (либо только то, что само же создали). Что-то типа общедоступного файлообменника, где нельзя удалить чужое. Структурировать пользователей по каталогам, к которым у них есть доступ не подходит.
Т.е. Вам надо при создании файла "пользователю" дать права на чтение-запись, а "группе" и "остальным" дать только чтение. Я правильно понял?
-
pelmen
- Сообщения: 1268
- ОС: debian
Re: Права доступа
Ленивая Бестолоч..., спасибо, буду пробовать.
Brainsburn, объясню еще раз по-другому:
мне нужно создать самба-шару, в которой будут каталоги пользователей: user1,user2...userN
В каждый из данных каталогов все могут писать, но удалять можно только при одном из двух условий:
1) если удаляющий является создателем-владельцем
2) если удаляемое расположено в каталоге, названном в честь удаляющего
Brainsburn, объясню еще раз по-другому:
мне нужно создать самба-шару, в которой будут каталоги пользователей: user1,user2...userN
В каждый из данных каталогов все могут писать, но удалять можно только при одном из двух условий:
1) если удаляющий является создателем-владельцем
2) если удаляемое расположено в каталоге, названном в честь удаляющего
-
Ленивая Бестолочь
- Бывший модератор
- Сообщения: 2760
- ОС: Debian; gentoo
Re: Права доступа
pelmen
забыл одну важную деталь там указать. ещё сделайте:
чтобы запретить "всем остальным" входить в каталог и в то, что будет создано в нём.
п.с. а вообще при правильно настроенной самбе работают галочки во вкладке "безопастность" в винде. которые управляют этими самыми acl-ями.
забыл одну важную деталь там указать. ещё сделайте:
Код: Выделить всё
setfacl -m o:--- /mnt/share
setfacl -m d:o:--- /mnt/shareчтобы запретить "всем остальным" входить в каталог и в то, что будет создано в нём.
п.с. а вообще при правильно настроенной самбе работают галочки во вкладке "безопастность" в винде. которые управляют этими самыми acl-ями.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
-
pelmen
- Сообщения: 1268
- ОС: debian
Re: Права доступа
Если честно, моей целью не является работоспособность галочек во вкладке "безопасность" в винде. Точнее даже наоборот. Хотелось бы настроить так, чтобы этими галочками больше никогда не пользоваться 
-
Ленивая Бестолочь
- Бывший модератор
- Сообщения: 2760
- ОС: Debian; gentoo
Re: Права доступа
ну я скорее не предлагал ими пользоваться, а говорил о том, что функцонал как у галочек ;-)
(почти)
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.