Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование *NIX систем > Перекинуть права...


Автор: KDenisK 26.4.2006, 07:42
У меня есть директория и я хочу скопировать права владельца на группу. Т.е. были права 632 -> стали 662. Зачем это надо: ситуация такая. Есть user X и Y в группе G. Владельцем файлов X стал Y, но хочу, чтобы у X остался прежний доступ. 

Автор: spin2 26.4.2006, 11:24
И в чем проблема? man chmod
 

Автор: KDenisK 26.4.2006, 19:21
А как КОНКРЕТНО ?? Читал man, но ничего не нашел там ничего по моей конкретной проблеме. 

Автор: Metal_Heart 27.4.2006, 08:57
Цитата(KDenisK @  26.4.2006,  07:42 Найти цитируемый пост)
Есть user X и Y в группе G

Если пользователей в группе кроме указанных больше нет - дай требуемые права всей группе.
И твои пользователи станут равными друг другу.
 

Автор: spin2 27.4.2006, 10:36
Если нужно сделать именно 662 для всех файлов в директории, то это можно сделать так: 
chmod 662 -R dir_name 

Автор: KDenisK 27.4.2006, 13:40
Нет, к сожалению нужно не именно 662, а по алгоритму. У меня нету прав root'а поэтому мешать группу я не могу.  

Автор: bilbobagginz 27.4.2006, 13:55
В традиционном Юниксе модель разрешений на файлы не очень продвинутая, поэтому она не дает многих других возможных ситуаций современной жизни, как напр. если:
я юзер А, у меня есть файл (фотка), который я хочу показать юзеру Б ( и только ему). я не администратор.
эта задача НЕРАЗРЕШИМА на уровне разрешений доступа файловой системы.

если я правильно понимаю суть твоей, Денис проблемы, то ты именно в такой ситуации.
для решения ее нужна более навороченная модель контроля доступа.
как напр. реализует RSBAC.

если ты администратор, то возможно создать "частную" группу в системе, и добавить в нее и юзера Х и юзера Y.

а в данном твоем описании, кром юзера X, доступ будет открыт всем пользователям группы G.
теперь об изменении: читай мануал еще раз.  расскажи что пробовал, что не получилось.

пока.



 

Автор: spin2 27.4.2006, 14:42
Ок, а так:  chmod g+$(ls -l file1|tr -s " "|cut -f 1 -d " "|cut -c 2,3,4) file1 ?
Здесь file1 - это файл, для которого нужно поменять доступ. Команда добавляет группе те права, которые есть у пользователя. Запускай от имени владельца файла. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)