karapuz 21.03.2009 08:17
How-to`s — Практика распределения прав пользователей на Linux десктопе (продолжение)
В прошлой статье я рассказал о своем опыте распределения прав пользователей при помощи acl. Если вы читали её до конца, то должны помнить, что при помощи acl не получится автоматически изменять права на копируемые и перемещаемые файлы или каталоги. В Linux копируемый объект всегда наследует права исходного, если явно не указано иное. Я не буду вдаваться в подробности сего факты, а дам ссылку на созданную мною ветку на форуме opennet.ru. Там есть что почитать.В этой статье я расскажу как можно автоматически назначать нужные права на копируемые (перемещаемые) в определенный каталог объекты.
Необходимые инструменты
Этих инструментов всего два:
1) fam или gamin - сервис мониторинга файловой системы. Что использовать, выбирать вам, но я рекомендую gamin, потому как fam сам по себе устарел, да и gamin работает стабильней.
2) fileschanged - маленькая консольная утилита, которая по сути является клиентской программой fam или gamin.
Пример использования
Пусть наш подопытный каталог будет ~/Фото. Все действия будем проводить с ним.
Для начала нам нужно создать скрипт /usr/local/bin/script следующего содержания
#!/bin/bash
if < -d "$2" >; then
chmod 774 "$2"
elif < -f "$2" >; then
chmod 664 "$2"
fi
Этот скрипт будет изменять права на все новые элементы в каталоге ~/Фото. Для файлов rw-rw-r--, для каталогов rwxrwxr-x. Если используете fam, не забудьте запустить fam daemon
/etc/rc.d/fam start
Теперь при помощи fileschanged нужно этот скрипт выполнить.
fileschanged -cCfr -x /usr/local/bin/script ~/Фото &
Вот собственно и все. Теперь fileschsnged будет слушать что говорит fam (gamin) по поводу изменений в каталоге ~/Фото и ко всему новому применять скрипт /usr/local/bin/script.
Для того чтобы не запускать fileschanged ручками, пропишем его в автозапуск. В kde это делается так
vim ~/.kde/Autostart/fileschanged
#!/bin/bash
fileschanged -cCfr -x /usr/local/bin/script ~/Фото &
chmod a+x ~/.kde/Autostart/fileschanged
Благодарности.
За помощь при подготовке данной статьи хочу выразить отдельную благодарность следующим участникам Linuxforum:
sash-kan
KernelPanic
Данная статья - кросспост из моего блога
UPD:"...копируемый объект всегда наследует права исходного, если явно не указано иное." Таково дефолтное поведение утилиты cp. Если использовать, например, утилиту install, то она по дефолту ставит права rwxr-xr-x. Сам Linux тут не при чем.
хм, а о чем конкретно Вы говорите? Acl, umask? Или вы знаете другой способ чтобы, например, я скопировал с фотоаппарата файлы с правами rw-r--r-- в определенный каталог и права стали rw-rw-r--? Обратите внимание, именно скопировал или переместил, не создал новые. Setfacl -d group::rwx или umask 002 тут не работают. При копировании права наследются от исходного элемента если явно не указано иное, или я ошибаюсь?
например, я скопировал с фотоаппарата файлы с правами rw-r--r--
А зачем такие сложности?
Чтоб два пользователя, члены одной группы (я и жена) могли иметь полный доступ к этим файлам. Один вечером скинул фотки, другой на следующий день поубирал красные глаза.
Прочитай хотя бы это Установка и изменение прав доступа
Я уже писал в твоей первой статье, что не стоит заморачиваться с пользователями, стоит подумать о группах пользователей. По умолчанию права должны наследоваться от того объекта в который ты копируешь...
то-есть пример:
есть у тебя папка ~/Фото и на ней выставлены права для пользователей/групп например группа User rw-r--r-- и пользователь XUser rw-rw-r--
если ты будешь копировать в папку файлы, то выставятся на них такие же самые права как и на каталог.
Если тебе нужны другие права на эти файлы, тогда уже выставляешь такие которые тебе нужно.
Я уже писал в твоей первой статье, что не стоит заморачиваться с пользователями, стоит подумать о группах пользователей. По умолчанию права должны наследоваться от того объекта в который ты копируешь...
то-есть пример:
есть у тебя папка ~/Фото и на ней выставлены права для пользователей/групп например группа User rw-r--r-- и пользователь XUser rw-rw-r--
если ты будешь копировать в папку файлы, то выставятся на них такие же самые права как и на каталог.
Если тебе нужны другие права на эти файлы, тогда уже выставляешь такие которые тебе нужно.
mkdir 1
chmod 774 1
ls -l
drwxrwxr-- 2 user users 4096 Мар 21 19:51 1
touch file
touck file2
chmod 444 file2
ls -l
-rw-r--r-- 1 user users 0 Мар 21 19:49 file
-r--r--r-- 1 jura users 0 Мар 21 20:05 file2
cp file file2 ~/1
ls -l
-rw-r--r-- 1 user users 0 Мар 21 19:51 file
-r--r--r-- 1 user users 0 Мар 21 20:05 file2
setfacl -m group::rwx 1
setfacl -dm group::rwx 1
setfacl -dm mask:rwx 1
getfacl 1
# file: 1
# owner: user
# group: users
user::rwx
group::rwx
other::r--
default:user::rwx
default:group::rwx
default:mask::rwx
default:other::r--
cp file file2 ~/1
ls -l
-rw-r--r--+ 1 user users 0 Мар 21 20:12 file
-r--r--r--+ 1 user users 0 Мар 21 20:12 file2
Не похоже чтобы что-то наследовалось или я что-то не так делал?
chmod 774 1
ls -l
drwxrwxr-- 2 user users 4096 Мар 21 19:51 1
touch file
touck file2
chmod 444 file2
ls -l
-rw-r--r-- 1 user users 0 Мар 21 19:49 file
-r--r--r-- 1 jura users 0 Мар 21 20:05 file2
cp file file2 ~/1
ls -l
-rw-r--r-- 1 user users 0 Мар 21 19:51 file
-r--r--r-- 1 user users 0 Мар 21 20:05 file2
setfacl -m group::rwx 1
setfacl -dm group::rwx 1
setfacl -dm mask:rwx 1
getfacl 1
# file: 1
# owner: user
# group: users
user::rwx
group::rwx
other::r--
default:user::rwx
default:group::rwx
default:mask::rwx
default:other::r--
cp file file2 ~/1
ls -l
-rw-r--r--+ 1 user users 0 Мар 21 20:12 file
-r--r--r--+ 1 user users 0 Мар 21 20:12 file2
Не похоже чтобы что-то наследовалось или я что-то не так делал?
Или еще. Создал группу test в состав которой включил моих двух пользователей.
setfacl -m group:test:rwx 1
setfacl -dm group:test:rwx 1
setfacl -dm mask:rwx 1
# file: 1
# owner: user
# group: users
user::rwx
group::r-x
group:test:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:test:rwx
default:mask::rwx
default:other::r-x
cp file file2 /home/jura/1
-rw-r--r--+ 1 user users 0 Мар 21 20:34 file
-r--r--r--+ 1 user users 0 Мар 21 20:34 file2
setfacl -m group:test:rwx 1
setfacl -dm group:test:rwx 1
setfacl -dm mask:rwx 1
# file: 1
# owner: user
# group: users
user::rwx
group::r-x
group:test:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:test:rwx
default:mask::rwx
default:other::r-x
cp file file2 /home/jura/1
-rw-r--r--+ 1 user users 0 Мар 21 20:34 file
-r--r--r--+ 1 user users 0 Мар 21 20:34 file2
Создаём 2 группы:
группа x в неё входят fox и xuser
группа y в неё входит yuser
Задача:
создать папку 1 с правами доступа группа x чтение/запись/выполнение, группа y чтение
Смотрим код:
fox@fox-desktop:/tmp$ mkdir 1
fox@fox-desktop:/tmp$ chgrp x 1
fox@fox-desktop:/tmp$ ls -l
total 1
drwxr-xr-x 2 fox x 1024 2009-03-23 14:24 1
fox@fox-desktop:/tmp$ setfacl -m u::rwx,g::rwx,g:y:rx,m:rwx,o:rw 1
fox@fox-desktop:/tmp$ setfacl -dm u::rwx,g::rwx,g:y:r,m:rwx,o:rwx 1
fox@fox-desktop:/tmp$ cd 1
fox@fox-desktop:/tmp/1$ touch 1
fox@fox-desktop:/tmp/1$ touch 2
fox@fox-desktop:/tmp/1$ getfacl 1
# file: 1
# owner: fox
# group: fox
user::rw-
group::rwx #effective:rw-
group:y:r--
mask::rw-
other::rw-
Проверяем:
Заходим под xuser в папку /tmp/1 возможно чтение/запись/выполнение, так же и под пользователем fox
Заходим под yuser в папку /tmp/1 можем только читать файлы, создать что либо, а так же отредактирвать ничего нельзя
думаю я ответил на твой вопрос???
группа x в неё входят fox и xuser
группа y в неё входит yuser
Задача:
создать папку 1 с правами доступа группа x чтение/запись/выполнение, группа y чтение
Смотрим код:
fox@fox-desktop:/tmp$ mkdir 1
fox@fox-desktop:/tmp$ chgrp x 1
fox@fox-desktop:/tmp$ ls -l
total 1
drwxr-xr-x 2 fox x 1024 2009-03-23 14:24 1
fox@fox-desktop:/tmp$ setfacl -m u::rwx,g::rwx,g:y:rx,m:rwx,o:rw 1
fox@fox-desktop:/tmp$ setfacl -dm u::rwx,g::rwx,g:y:r,m:rwx,o:rwx 1
fox@fox-desktop:/tmp$ cd 1
fox@fox-desktop:/tmp/1$ touch 1
fox@fox-desktop:/tmp/1$ touch 2
fox@fox-desktop:/tmp/1$ getfacl 1
# file: 1
# owner: fox
# group: fox
user::rw-
group::rwx #effective:rw-
group:y:r--
mask::rw-
other::rw-
Проверяем:
Заходим под xuser в папку /tmp/1 возможно чтение/запись/выполнение, так же и под пользователем fox
Заходим под yuser в папку /tmp/1 можем только читать файлы, создать что либо, а так же отредактирвать ничего нельзя
думаю я ответил на твой вопрос???
P.S. остальные пользователи не могут зайти в папку, пишет Operation not permitted ну или что-то тип того...
P.S.S ошибся...
Исправлено :)
Проверяем:
Заходим под xuser в папку /tmp/1 возможно чтение/запись, так же и под пользователем fox
Проверяем:
Заходим под xuser в папку /tmp/1 возможно чтение/запись/выполнение, так же и под пользователем fox
Заходим под xuser в папку /tmp/1 возможно чтение/запись/выполнение, так же и под пользователем fox
Исправлено :)
Проверяем:
Заходим под xuser в папку /tmp/1 возможно чтение/запись, так же и под пользователем fox
Нет, не ответил, при default acl создаваемые (новые) файлы наследуют права, это я прекрасно знаю и именно это я увидел в твоем комментарии. А теперь создай файл где-нибудь в другом месте с правами, например r--r--r-- и потом cp file /tmp/1 и посматри вывод ls -l. Права останутся r--r--r--. Именно об этом я писал в комментариях выше. Можно еще посматреть getfacl file, там будет #effective:r--, создай ты хоть 10 групп. Я еще раз повторюсь, не наследуются права на копируемые или перемещаемые файлы.
Почитай комментарии к предыдущей статье, там это все уже давно обсудили.
Хотя я с вами согласен, это ненужный гемор, ибо для этого и были придуманы группы.
Хотя я с вами согласен, это ненужный гемор, ибо для этого и были придуманы группы.
в прошлой статье мой коммент был про группы))
Просто тут человеку нужно было более лучше почитать про организацию прав пользователей)) Просто когда с ними работаешь давно этот вопрос не возникает, т.к. ты уже знаешь что и как работает, а когда человек впервые сталкивается с этим, то у него конечно возникает сразу вопрос - "а как оно работает?"))
Просто тут человеку нужно было более лучше почитать про организацию прав пользователей)) Просто когда с ними работаешь давно этот вопрос не возникает, т.к. ты уже знаешь что и как работает, а когда человек впервые сталкивается с этим, то у него конечно возникает сразу вопрос - "а как оно работает?"))
Я уже давно ищу ответ на свой вопрос, как на копируемые файлы автоматом присваивать права rw-rw-r--? Так может покажешь все таки на практическои примере как? А то только говоришь, что все что я делаю не правильно, и при этом пишешь про права группы rw-r--r-- и пользователя rw-rw-r--, хотя должен знать что rw-r--r-- и есть обозначение прав владельца, группы и остальных. Ткни меня уже носом наконец в правильный ответ.
В Linux копируемый объект всегда наследует права исходного, если явно не указано иное.
это не правда. Linux тут не причем, это просто дефолтное поведение утилиты cp.
Не понял для чего это...
chmod 777 -R ./folder/
chown brun:brun -R ./folder/
Вот так делаю я. Рекурсивно меняю атрибуты и владельца.
chmod 777 -R ./folder/
chown brun:brun -R ./folder/
Вот так делаю я. Рекурсивно меняю атрибуты и владельца.
да понятно зачем, чтобы только новые файлы обрабатывать, но я бы рекомендовал на perl написать с очереью, а то если тыщу файлов влить может и форкбомба получиться (правда не уверен как fam эти скрипты вызывает)
Знаете, fam (gamin), как показала практика, не очень-то справляется с задачей. Если скопировать много маленьких файлов в подопотный каталог (например исходники программы), то нужные права не везде раскидываются. Я не очень силен в perl (читай "не знаю совсем"), если не трудно, покажите пример. Я думаю многим это было бы интересно.
похоже дело не в fam, а в скрипте, в общем вот код
чего делает - цепляется к gamin и выполняет задания по евенту, я тестил touch 1000 файлов - без осечек.
домшнее задание - сделать из этого демона, и прикрутить getopt (чтобы параметрами задавать чего хочется)
#!/usr/bin/perl
use Sys::Gamin;
use Fcntl ':mode';
my $fm=new Sys::Gamin;
my $path="/tmp/test";
$fm->monitor("$path");
while (1) {
my $event=$fm->next_event; # Blocks
my $filename=("$path/".$event->filename);
if (grep($event->type,qw(create change move))) {
my $mode = (stat($filename))<2>;
my $omode=S_IMODE($mode);
if (S_ISDIR($mode) and $omode!=0775) {chmod 0775,$filename};
if (S_ISREG($mode) and $omode!=0664) {chmod 0664,$filename};
}
}
чего делает - цепляется к gamin и выполняет задания по евенту, я тестил touch 1000 файлов - без осечек.
домшнее задание - сделать из этого демона, и прикрутить getopt (чтобы параметрами задавать чего хочется)
если файлам присваивать chmod 664 то там будет проблема с доступом к ним, для группы, папкам можно присваивать chmod 777...
для копируемых папок и файлов добавляются дополнительные ограничения по группам, то-есть если на родительской папке стоит g:usersy:r то оно будет присвоено так же всем копируемым в неё папкам и файлам...
для копируемых папок и файлов добавляются дополнительные ограничения по группам, то-есть если на родительской папке стоит g:usersy:r то оно будет присвоено так же всем копируемым в неё папкам и файлам...
А зачем менять владельца если оба пользователя члены одной группы? Достаточно поставить rw- на группу. А насчет атрибутов, я хочу конкретно на файлы rw-rw-r-- (тут мне не нужен x, ибо файлы не бинарники), и на каталоги rwxrwxrr-x (тут без x не обойтись, иначе не получится попасть во внутрь каталога).
"...копируемый объект всегда наследует права исходного, если явно не указано иное." Таково дефолтное поведение утилиты cp. Если использовать, например, утилиту install, то она по дефолту ставит права rwxr-xr-x. Сам Linux тут не при чем.
Только cp наследует или ещё остальные подобные программы? Например, если я копирую средствами KDE или Gnome? Или консольным Midnight Commander (точно не знаю сам ли он копирует или использует cp)?
Я впринципе об этом подозревал, но ввёл в заблуждение текст с темы на opennet.ru:
теперь сравним результат копирования для каталога с помощью DE и с помощью cp:
DE:
>ls -l
>drwxrwxr-x+ 2 jura users 4096 Мар 12 20:22 folder
cp:
>ls -l
>drwxr-xr-x+ 2 jura users 4096 Мар 12 20:55 folder
DE в отличии от cp действует как-то своеобразно, не устанавливая атрибуты исходного каталога для скопированного, да-да, это не автоматика, а такая работа кода DE. Поэтому мы видим w для группы. Видимо программисты DE что-то делают не так.
DE:
>ls -l
>drwxrwxr-x+ 2 jura users 4096 Мар 12 20:22 folder
cp:
>ls -l
>drwxr-xr-x+ 2 jura users 4096 Мар 12 20:55 folder
DE в отличии от cp действует как-то своеобразно, не устанавливая атрибуты исходного каталога для скопированного, да-да, это не автоматика, а такая работа кода DE. Поэтому мы видим w для группы. Видимо программисты DE что-то делают не так.
Произвел небольшой эксперимент с помощью setfacl/getfacl и midnight commander.
Имеется папка /photos владелец murz:users права drwxrwx--- без ACL
Задача немного попроще: нужно сделать чтобы все файлы, копируемые в эту папку, были доступны на запись для всех пользователей группы users.
Ставим для этой папки доп. права на группу users:
И вроде бы больше ничего и не надо.
Ставим эксперимент:
1. Создаю у себя в ~home папку 2009-01 владелец murz:murz права drwx------ без ACL
2. Создаем в этой папке файлы
3. Копирую эту папку с помощью mc в /photos
В итоге получаем что права на запись для всех пользователей группы есть права на правку этого файла (через доп. права ACL):
Насколько я понимаю, строчка "group:users:rwx #effective:rw-" означает что для пользователей группы users есть права на запись как для папки, так и для файлов, что и требовалось в задаче.
Или всё же в этом варианте есть подводные камни или кирпичи?
Имеется папка /photos владелец murz:users права drwxrwx--- без ACL
Задача немного попроще: нужно сделать чтобы все файлы, копируемые в эту папку, были доступны на запись для всех пользователей группы users.
Ставим для этой папки доп. права на группу users:
$ setfacl -m d:g:users:rwx /photos
И вроде бы больше ничего и не надо.
Ставим эксперимент:
1. Создаю у себя в ~home папку 2009-01 владелец murz:murz права drwx------ без ACL
2. Создаем в этой папке файлы
file1.txt владелец murz:users права drwx------ без ACL
file2.txt владелец murz:murz права drwx------ без ACL
3. Копирую эту папку с помощью mc в /photos
В итоге получаем что права на запись для всех пользователей группы есть права на правку этого файла (через доп. права ACL):
$ getfacl /photos
getfacl: Removing leading '/' from absolute path names
# file: /photos
# owner: murz
# group: users
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:users:rwx
default:mask::rwx
default:other::r-x
$ getfacl /photos/2009-01
getfacl: Removing leading '/' from absolute path names
# file: photos/2009-01
# owner: murz
# group: users
user::rwx
group::rwx #effective:---
group:users:rwx #effective:---
mask::---
other::---
default:user::rwx
default:group::rwx
default:group:users:rwx
default:mask::rwx
default:other::r-x
$ getfacl /photos/2009-01/file1.txt
getfacl: Removing leading '/' from absolute path names
# file: /photos/2009-01/file1.txt
# owner: murz
# group: users
user::rw-
group::rwx #effective:rw-
group:users:rwx #effective:rw-
mask::rw-
other::r--
$ getfacl /photos/2009-01/file2.txt
getfacl: Removing leading '/' from absolute path names
# file: /photos/2009-01/file2.txt
# owner: murz
# group: users
user::rw-
group::rwx #effective:rw-
group:users:rwx #effective:rw-
mask::rw-
other::r--
Насколько я понимаю, строчка "group:users:rwx #effective:rw-" означает что для пользователей группы users есть права на запись как для папки, так и для файлов, что и требовалось в задаче.
Или всё же в этом варианте есть подводные камни или кирпичи?
мне сегодня подсказали, что mc поидее копирует с наследованием прав, но не успел проверить так ли это...
1. Делаю каталог ~/3
2. Делаю каталог ~/12
ls -l
drwx------ 2 jura users 96 Мар 25 11:13 12
3. В каталоге ~/12 Делаю touch 1 2
делаю внутри ~/12 ls -l
-rwx------ 1 jura users 0 Мар 25 11:13 1
-rwx------ 1 jura users 0 Мар 25 11:13 2
4. Делаю $ setfacl -m d:g:users:rwx ~/3
5. Копирую mc каталог ~/12 в ~/3
6. Сомтрю внутри ~/3
ls -l
drwx------+ 2 jura users 96 Мар 25 11:13 12
getfacl 12
# file: 12
# owner: jura
# group: users
user::rwx
group::r-x #effective:---
group:users:rwx #effective:---
mask::---
other::---
default:user::rwx
default:group::r-x
default:group:users:rwx
default:mask::rwx
default:other::r-x
Как видно стоит #effective:--- для группы users
7. Внутри уже скопированного ~/12 делаю ls -l
-rwx------+ 1 jura users 0 Мар 25 11:13 1
-rwx------+ 1 jura users 0 Мар 25 11:13 2
getfacl делать смысла нет, и так все видно, группа не имеет доступа вообще. Что было до копирования то и осталось.
Очень странно, почему у вас по другому? Если честно, у меня тоже было как у Вас, но потом до меня дошло, что я использую в качестве подопытного каталога каталог ~/1, за которым сейчас следит fileschandged. То есть я не удалил свои прошлые эксперементы. Посматрите, может у Вас тоже так?
2. Делаю каталог ~/12
ls -l
drwx------ 2 jura users 96 Мар 25 11:13 12
3. В каталоге ~/12 Делаю touch 1 2
делаю внутри ~/12 ls -l
-rwx------ 1 jura users 0 Мар 25 11:13 1
-rwx------ 1 jura users 0 Мар 25 11:13 2
4. Делаю $ setfacl -m d:g:users:rwx ~/3
5. Копирую mc каталог ~/12 в ~/3
6. Сомтрю внутри ~/3
ls -l
drwx------+ 2 jura users 96 Мар 25 11:13 12
getfacl 12
# file: 12
# owner: jura
# group: users
user::rwx
group::r-x #effective:---
group:users:rwx #effective:---
mask::---
other::---
default:user::rwx
default:group::r-x
default:group:users:rwx
default:mask::rwx
default:other::r-x
Как видно стоит #effective:--- для группы users
7. Внутри уже скопированного ~/12 делаю ls -l
-rwx------+ 1 jura users 0 Мар 25 11:13 1
-rwx------+ 1 jura users 0 Мар 25 11:13 2
getfacl делать смысла нет, и так все видно, группа не имеет доступа вообще. Что было до копирования то и осталось.
Очень странно, почему у вас по другому? Если честно, у меня тоже было как у Вас, но потом до меня дошло, что я использую в качестве подопытного каталога каталог ~/1, за которым сейчас следит fileschandged. То есть я не удалил свои прошлые эксперементы. Посматрите, может у Вас тоже так?
Нет, я на этом компе пока с fileschandged не заморачивался...
Права у файла и папки так и остаются старыми у меня тоже, но вот ACL наследуются нормально:
До копирования было так:
$ ls -lR .
drwx------ 2 murz users 4096 2009-03-25 17:48 2009-01
-rw------- 1 murz murz 0 2009-03-25 17:48 file1.txt
-rw------- 1 murz users 0 2009-03-25 17:48 file2.txt
После копирования в папку photos стало так:
$ ls -lR .
drwx------+ 2 murz users 4096 2009-03-25 17:48 2009-01
-rw-------+ 1 murz users 0 2009-03-25 17:48 file1.txt
-rw-------+ 1 murz users 0 2009-03-25 17:48 file2.txt
Т.е. правила ACL сменили группу верно. Но права не меняли.
А если посмотреть через getfacl, то на файлах и папках можно увидеть права чтения и записи для группы users:
$ getfacl ./2009-01/
# file: 2009-01/
# owner: murz
# group: users
user::rwx
group::rwx #effective:---
group:users:rwx #effective:---
mask::---
other::---
default:user::rwx
default:group::rwx
default:group:users:rwx
default:mask::rwx
default:other::r-x
$ getfacl ./2009-01/file1.txt
# file: 2009-01/file1.txt
# owner: murz
# group: users
user::rw-
group::rwx #effective:---
group:users:rwx #effective:---
mask::---
other::---
Права у файла и папки так и остаются старыми у меня тоже, но вот ACL наследуются нормально:
До копирования было так:
$ ls -lR .
drwx------ 2 murz users 4096 2009-03-25 17:48 2009-01
-rw------- 1 murz murz 0 2009-03-25 17:48 file1.txt
-rw------- 1 murz users 0 2009-03-25 17:48 file2.txt
После копирования в папку photos стало так:
$ ls -lR .
drwx------+ 2 murz users 4096 2009-03-25 17:48 2009-01
-rw-------+ 1 murz users 0 2009-03-25 17:48 file1.txt
-rw-------+ 1 murz users 0 2009-03-25 17:48 file2.txt
Т.е. правила ACL сменили группу верно. Но права не меняли.
А если посмотреть через getfacl, то на файлах и папках можно увидеть права чтения и записи для группы users:
$ getfacl ./2009-01/
# file: 2009-01/
# owner: murz
# group: users
user::rwx
group::rwx #effective:---
group:users:rwx #effective:---
mask::---
other::---
default:user::rwx
default:group::rwx
default:group:users:rwx
default:mask::rwx
default:other::r-x
$ getfacl ./2009-01/file1.txt
# file: 2009-01/file1.txt
# owner: murz
# group: users
user::rw-
group::rwx #effective:---
group:users:rwx #effective:---
mask::---
other::---
Копировал всё через mc.
Только вот под другим пользователем (tat:users) в эту папку попасть не получается почему-то, видимо mc смотрит только на права, а не на ACL.
Только вот под другим пользователем (tat:users) в эту папку попасть не получается почему-то, видимо mc смотрит только на права, а не на ACL.
по-моему вам следует сначала разобраться с правильной организацией прав пользователей... что это такое и с чем его едят...