Sudo + chown, chmod (помогите с настройками sudo)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

mea_john
Сообщения: 7

Sudo + chown, chmod

Сообщение mea_john »

Такой вопрос: как в sudo ограничить использование chown, chmod определенной папкой?
т.е. нужно чтоб определенная группа пользователей могла изменять права доступа, но не в любом месте, а в строго определенной папки + всех её подпапках? Пробовал с помощью символов подстановки.... не получилось. А регулярными выражениями в sudoers пользоваться нелзя?
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Sudo + chown, chmod

Сообщение sash-kan »

первое что пришло в голову

Код: Выделить всё

#!/bin/bash
chmod $1 /общий/каталог/$2

ложишь его куда-нибудь типа /usr/local/bin, выставляешь владельцем root-а и права ему же на выполнение.
использование:

Код: Выделить всё

$ sudo my-script <права> <относительный путь внутри общего каталога>

неплохо бы дополнить скрипт какой-нибудь проверкой аргументов. а то мало ли чего.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
mea_john
Сообщения: 7

Re: Sudo + chown, chmod

Сообщение mea_john »

sash-kan писал(а):
23.01.2006 15:07
первое что пришло в голову

Код: Выделить всё

#!/bin/bash
chmod $1 /общий/каталог/$2

ложишь его куда-нибудь типа /usr/local/bin, выставляешь владельцем root-а и права ему же на выполнение.
использование:

Код: Выделить всё

$ sudo my-script <права> <относительный путь внутри общего каталога>

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


Спасибо! До этого я уже тоже догадался. Но вопрос все-таки как это сделать средствами sudo. В man sudoers говорится, что, мол, можно пользоваться символами подстановки соответствующими SIX fnmatch.
Что это такое, кстати? И где можно про этот стандарт почитать? Также в man-ах приводится несколько примеров использования этих самых символов подстановки. Попробовал напиать такую штуку:

Код: Выделить всё

Cmnd_Alias PERM = /bin/chown ([-][R])? ([A-z][0-9])?[\:]?([A-z][0-9])? /home/samba/([A-z][А-я][0-9][_][/])*

Ничего из этого не вышло :) В чём ошибка? Может он пробелы между ключами не понимает?
/home/samba - как раз та папочка внутри которой нужно изменять права.
Спасибо сказали: