The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Автоматическое присвоение прав пользователей на копируемые ф..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Открытые системы на рабочей станции (Public)
Изначальное сообщение [ Отслеживать ]

"Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от karapuzz (ok) on 03-Авг-08, 05:41 
Начну по порядку. На десктопе стоит OpenSUSE 11 kernel 2.6.25.5, ФС - ext3. Есть два
пользователя (А и В) и оба состоят в группе users. В домашнем каталоге
пользователя А есть каталог "Моя музыка" для которого (и всего его
содержимого) необходимо сделать полный доступ для пользователей А и В, при
этом вновь создаваемые файлы и каталоги автоматически должны получать теже
права.
Я поступил следующим образом:
>find моя\ музыка -type d -exec chmod g+rwx {} \;
>find моя\ музыка -type f -exec chmod g+rw {} \;
>find моя\ музыка -type d -exec setfacl -m default:user::rwx {} \;
>find моя\ музыка -type d -exec setfacl -m default:mask:rwx {} \;

Что я получил в итоге? Getfacl моя\ музыка выдает:
>user::rwx
>group::rwx
>other::r-x
>default:user::rwx
>default:group::rwx
>default:mask::rwx
>default:other::r-x

Тоже и для существующих каталогов внутри "Моя музыка" и для внось создаваемых
каталогов.

Для создаваемых внутри "Моя музыка" файлов getfacl выдает:
>user::rw-
>group::rwx                      #effective:rw-
>mask::rw-
>other::r--

А вот если файл скопировать,  (не важно кто из А и В копирует и чей файл) то:
>user::rw-
>group::rwx                      #effective:r--
>mask::r--
>other::r--

В итоге полный доступ к файлу имеет только владелец, оставльные члены группы
обламываются (mask::r--). Хочу обратить внимание, что если копировать каталог, то ему
присваиваются теже права, что и на "Моя музыка", не работает именно с
файлами.
Пробывал umask 002, не помагает. Пробывал chmod -R g+s, тоже не помагает.
Подскажите пожалуйста, может я что-то не учел при раздаче прав, и как можно
решить мою проблему? Спасибо за ответ.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от angra (ok) on 07-Авг-08, 04:24 
Вы бы сформулировали чего хотите, а не перечисляли что пробовали. Пока не увидел ничего что нельзя было бы решить стандартными юниксовыми правами, без всяких ACL.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от karapuzz (??) on 07-Авг-08, 09:42 
>Вы бы сформулировали чего хотите, а не перечисляли что пробовали. Пока не
>увидел ничего что нельзя было бы решить стандартными юниксовыми правами, без
>всяких ACL.

Я хочу чтоб копируемому в каталог "Моя музыка" файлу автоматически присваивались права rw-rw-r--. На практике такие права присваиваются только создаваемому.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от karapuzz (ok) on 26-Сен-08, 16:00 
Я так и не смог найти решение. Подскажите куда копать?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от SubGun (ok) on 11-Мрт-09, 12:56 
>Я так и не смог найти решение. Подскажите куда копать?

-dm

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от karapuzz (ok) on 11-Мрт-09, 13:35 
>-dm

а чем опция -dm отличается от -m default:итд?
setfacl -dm user::rwx и setfacl -m default:user::rwx дает один и тот же результат.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от vic (??) on 11-Мрт-09, 15:22 
>>Вы бы сформулировали чего хотите, а не перечисляли что пробовали. Пока не
>>увидел ничего что нельзя было бы решить стандартными юниксовыми правами, без
>>всяких ACL.
>
>Я хочу чтоб копируемому в каталог "Моя музыка" файлу автоматически присваивались права
>rw-rw-r--. На практике такие права присваиваются только создаваемому.

Факт простого копирования в какой-то каталог не означает что пользователь хочет его расшарить, утилита копирования не телепат, надо явно сказать какие права ставить, например используя утилиту install вместо cp, ну или связку cp file1 file2 && chmod 664 file2

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от Karapuzz on 12-Мрт-09, 02:37 
>Факт простого копирования в какой-то каталог не означает что пользователь хочет его
>расшарить, утилита копирования не телепат, надо явно сказать какие права ставить,
>например используя утилиту install вместо cp, ну или связку cp file1
>file2 && chmod 664 file2

А разве setfacl -m default не является явным указанием прав? Тем более копируемому каталогу присваиваются нужные мне права автоматом, не работает именно с файлами. Такое поведение мне не понятно. Возможно такая политика связана с безопасностью, кто знает что там за файл, но это лишь мои догадки.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от vic (??) on 12-Мрт-09, 12:34 

>А разве setfacl -m default не является явным указанием прав? Тем более
>копируемому каталогу присваиваются нужные мне права автоматом, не работает именно с
>файлами. Такое поведение мне не понятно. Возможно такая политика связана с
>безопасностью, кто знает что там за файл, но это лишь мои
>догадки.

логи действий в студию:
атрибуты и acl копируемого каталога, атрибуты и acl целевого каталога, umask, команда копирования, ls -l и getfacl на все до и после.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от karapuzz (ok) on 12-Мрт-09, 14:08 
>логи действий в студию:
>атрибуты и acl копируемого каталога, атрибуты и acl целевого каталога, umask, команда
>копирования, ls -l и getfacl на все до и после.

ok, поехпли. Создаю каталог ~/1
ls -l
>drwxr-xr-x    2 jura users       4096 Мар 12 19:57 1

getfacl 1
># file: 1
># owner: jura
># group: users
>user::rwx
>group::r-x
>other::r-x

umask
>0022

Далее присваиваю права
>chmod g+rwx 1
>setfacl -m default:group::rwx 1
>setfacl -m default:mask:rwx 1

Смотрим что получилось
getfacl 1
>group::rwx
>other::r-x
>default:user::rwx
>default:group::rwx
>default:mask::rwx
>default:other::r-x

umask
>0022

ls -l
>drwxrwxr-x+   2 jura users       4096 Мар 12 20:11 1

Теперь копируем файл и каталог. Так как это десктоп и пользуюсь не только я, но и жена, то копирование делается средствами DE, точнее kde.
Копируем каталог folder в каталог 1 и смотрим что получилось.
getfacl folder
>group::rwx
>group:users:rwx
>mask::rwx
>other::r-x
>default:user::rwx
>default:group::rwx
>default:mask::rwx
>default:other::r-x

ls -l
>drwxrwxr-x+ 2 jura users 4096 Мар 12 20:22 folder

Если копировать cp -r folder ~/1, то
getfacl folder
>user::rwx
>group::rwx                      #effective:r-x
>mask::r-x
>other::r-x
>default:user::rwx
>default:group::rwx
>default:mask::rwx
>default:other::r-x

ls -l
>drwxr-xr-x+ 2 jura users 4096 Мар 12 20:55 folder

umask для folder в обоих случаях дает 0022


Копируем файл cp file ~/1 или при помощи DE, не важно, результат один
getfacl file
># file: file
># owner: jura
># group: users
>user::rw-
>group::rwx                      #effective:r--
>mask::r--
>other::r--

umask
>0022

ls -l
>-rw-r--r--+ 1 jura users    2 Мар 12 20:52 file

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от vic (??) on 12-Мрт-09, 14:26 
а теперь ls -l и getfacl еще и для исходного folder, плз, а то только результат привели, но не исходные атрибуты.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от karapuzz (ok) on 12-Мрт-09, 14:47 
>а теперь ls -l и getfacl еще и для исходного folder, плз,
>а то только результат привели, но не исходные атрибуты.

Да, прошу прощения.
ls -l
>drwxr-xr-x 2 jura users 4096 Мар 12 21:36 folder

getfacl folder
># file: folder
># owner: jura
># group: users
>user::rwx
>group::r-x
>other::r-x

umask
>0022

И для исходного file
ls -l
>-rw-r--r-- 1 jura users    2 Мар 12 21:40 file

getfacl file
># file: file
># owner: jura
># group: users
>user::rw-
>group::r--
>other::r--

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от vic (??) on 12-Мрт-09, 17:35 
ок, убедились в исходных атрибутах.

теперь сравним результат копирования для каталога с помощью 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 что-то делают не так.

теперь сравним acl атрибуты:
DE добавляет новую запись group:users:rwx к скопированному каталогу, а его просили?
cp этого не делает, и getfacl дает коммент #effective:r-x, т.е. с учетом маски эффективный режим доступа r-x. Что логично, т.к. открывать доступ к объекту следует явно во избежание неожиданностей.

дефолтовые атрибуты используются только для каталогов, они не применимы к файлам.

ЗЫ Представьте себе ситуацию в которой файл дважды скопирован (через некий каталог с "автоматическим" изменением атрибутов). Каково будет удивление владельца файла если права rw-r--r-- превратятся волшебным образом в rw-rw-rw- после копирования? Поэтому политика такова что целевой файл должен получать атрибуты исходного (если явно не сказано иное), или более урезанные согласно маске.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от Karapuzz on 13-Мрт-09, 06:43 
Спасибо Вам за пояснения, теперь стало понятней. Но как же мне быть? Выносить общее для обоих пользователей на fat, а как же dvd исошки более 4 ГГб? Сказать жене "копируй фотографии с фотоаппарата вот этой командой а не удобной digikam", тоже не выход. Дать крону задачу, чтоб делал периодически find folder -type -f -exec chmod g+rw {} \; вообще изврат. Больше пока ни чего не придумал :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от vic (??) on 13-Мрт-09, 12:12 
>Спасибо Вам за пояснения, теперь стало понятней. Но как же мне быть?
>Выносить общее для обоих пользователей на fat, а как же dvd
>исошки более 4 ГГб? Сказать жене "копируй фотографии с фотоаппарата вот
>этой командой а не удобной digikam", тоже не выход. Дать крону
>задачу, чтоб делал периодически find folder -type -f -exec chmod g+rw
>{} \; вообще изврат. Больше пока ни чего не придумал :)
>

а как монтируется фляшка? какая маска у digikam? могет поправить там, чтобы файлы сразу rw-rw-r-- были?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от pavel email(??) on 14-Авг-09, 11:22 
>файлами.
>Пробывал umask 002, не помагает. Пробывал chmod -R g+s, тоже не помагает.

Я поборол проблему так: Перед тем, как что либо сделать, в самом начале скрипта я объявляю umask 002, дальше уже работаю.
umask действует только в рамках сессии.

Или Вы про другое?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от karapuz (??) on 14-Авг-09, 14:26 
>>файлами.
>>Пробывал umask 002, не помагает. Пробывал chmod -R g+s, тоже не помагает.
>
>Я поборол проблему так: Перед тем, как что либо сделать, в самом
>начале скрипта я объявляю umask 002, дальше уже работаю.
>umask действует только в рамках сессии.
>
>Или Вы про другое?

Да, про другое. Попробуйте скопировать файл с диска в каталог с umask 002. Права у файла останутся r--r--r--


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от pavel email(??) on 14-Авг-09, 17:23 
>[оверквотинг удален]
>>>Пробывал umask 002, не помагает. Пробывал chmod -R g+s, тоже не помагает.
>>
>>Я поборол проблему так: Перед тем, как что либо сделать, в самом
>>начале скрипта я объявляю umask 002, дальше уже работаю.
>>umask действует только в рамках сессии.
>>
>>Или Вы про другое?
>
>Да, про другое. Попробуйте скопировать файл с диска в каталог с umask
>002. Права у файла останутся r--r--r--

# cp /etc/motd .
# getfacl motd
#file:motd
#owner:0
#group:80
user::rw-
user:appdata:rwx                # effective: r--
group::rwx              # effective: r--
group:appdata:rwx               # effective: r--
mask::r--
other::r--

Так не работает... А вот так:

# rm motd
# cat /etc/motd | cat > motd
# getfacl motd
#file:motd
#owner:0
#group:80
user::rw-
user:appdata:rwx                # effective: rw-
group::rwx              # effective: rw-
group:appdata:rwx               # effective: rw-
mask::rw-
other::r--

Работает.
Самое интересное, что даже через скрипт

# cat vv.sh
#!/usr/local/bin/bash

umask 002
cp /etc/motd .

Не работает при копировании, только при создании новых файлов или каталогов.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от karapuzz (ok) on 15-Авг-09, 04:30 
Я для себя нашел другое решение, основанное на использовании средств мониторинга ФС (fam или gamin). Об этом я писал на хабре. Комментарии тоже могут быть интересные. http://habrahabr.ru/blogs/linux/64868/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от anonymous (??) on 15-Авг-09, 14:44 
2 пользователя test1 и test2 находятся в приватных группах и дополнительно в группе sharer. umask 002. Создан каталог test, в котором предполагается хранить общие файлы.
Вид /home (немного подредактированный) с правами

drwsrwsr-x  3 root  sharer  4096 2009-08-15 14:29 test
drwx------ 24 test1 test1   4096 2009-08-15 14:34 test1
drwx------ 22 test2 test2   4096 2009-08-15 14:24 test2

Результат тестирования (копирование и создание каталогов - gnome и kde3)
[root@seed ~]# ls -laR /home/test
/home/test:
total 24
drwsrwsr-x 3 root  sharer 4096 2009-08-15 14:29 .
drwxr-xr-x 8 root  root   4096 2009-08-15 14:03 ..
-rw-rw-r-- 1 test1 sharer 3177 2009-08-15 14:06 2009-08-15-Note-14-06.xoj
-rw-rw-r-- 1 test2 sharer 3948 2009-08-15 14:23 2009-08-15-Note-14-23.xoj
drwxrwsr-x 2 test1 sharer 4096 2009-08-15 14:28 created by test1
-rw------- 1 test1 sharer 3177 2009-08-15 14:06 xxx.xoj

/home/test/created by test1:
total 12
drwxrwsr-x 2 test1 sharer 4096 2009-08-15 14:28 .
drwsrwsr-x 3 root  sharer 4096 2009-08-15 14:29 ..
-rw-rw-r-- 1 test1 sharer  239 2009-08-15 14:05 preferred-mail-reader.desktop

Файл xxx.xoj специально был создан с правами 600 и затем скопирован в test

Такой вариант устраивает?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

20. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от anonymous (??) on 15-Авг-09, 14:46 
PS: это все в linux, как другие ОС интерпретируют sgid я не знаю
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

21. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от karapuzz (ok) on 31-Авг-09, 16:25 
Чего-то не пойму. Я конечно сделал немного проще, ибо для тестов не было желания создавать приватные группы, в общем вот:
Есть два пользователя, оба члены группы users и группы video.

1. Делаю #umask 002.
2. Создаю каталог 1, его права rwxrwxr-w ибо umask 002
3. sudo chown root:video 1
4. sudo chmod a+s 1
5. ls -l
drwsrwsr-x  2 root video 4096 Авг 31 23:08 1
6. touch 123 /В другом каталоге.
7. ls -l
-rw-rw-r--  1 jura users    0 Авг 31 23:11 123 /группа rw потому как umask 002
8. chmod g-w 123 && ls -l
-rw-r--r--  1 jura users    0 Авг 31 23:11 123
9. cp 123 ~/Desktop/1
10. cd ~/Desktop/1 && ls -l
-rw-r--r-- 1 jura video 0 Авг 31 23:14 123

Итог, кроме владеющей группы ни чего не изменилось. Суть вашего решения я понял так, все файлы имеют полные права для владеющей группы, вопрос в том, какая группа владеет файлом. Для этого и созданы приватные группы, дабы исключить возможность полного доступа одного пользователя к файлом другого.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

22. "Автоматическое присвоение прав пользователей на копируемые ф..."  +/
Сообщение от anonymous (??) on 01-Сен-09, 11:50 
Вроде как изначально была проблема организации совместного доступа. Она решается постановкой sgid на каталог, владельцем которого является общая для пользователей группа. Естественно, что это работает только если umask=002.
Если пользователь не хочет, чтбы файл был доступен и намеренно удаляет права для группы, то никто помешать ему это сделать не сможет.

PS: искренне считал, что приватные группы (а следовательно и umask=002) уже давно везде

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру