| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Администрирование *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 |
Если пользователей в группе кроме указанных больше нет - дай требуемые права всей группе. И твои пользователи станут равными друг другу. |
| Автор: 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 - это файл, для которого нужно поменять доступ. Команда добавляет группе те права, которые есть у пользователя. Запускай от имени владельца файла. |