Как задать определенные права на файлы создаваемые другими пользователями?
Задал setgid на родительскую папку, теперь, группа наследуется, это хорошо. Но transmission при добавлении торрентов права на файл для группы ставит только на чтение. А нужно чтобы были на запись, а то другие пользователи не могут работать с файлом.
Как можно это сделать?
Umask - это то? Вроде её можно установить для демона, но мне непонятно, права на файл есть и владельца и у группы и у всех остальных, а umask задает только одно значение. На что оно будет распространяться?
> Как задать определенные права на файлы создаваемые другими пользователями?
> Задал setgid на родительскую папку, теперь, группа наследуется, это хорошо. Но transmission
> при добавлении торрентов права на файл для группы ставит только на
> чтение. А нужно чтобы были на запись, а то другие пользователи
> не могут работать с файлом.
> Как можно это сделать?
> Umask - это то? Вроде её можно установить для демона, но мне
> непонятно, права на файл есть и владельца и у группы и
> у всех остальных, а umask задает только одно значение. На что
> оно будет распространяться?umask - это то. Его значение используется в следующей операции:
РезультирующиеПрава = ЗапрошенныеПрава & (~umask).
То есть биты, установленные в umask, будут убраны из результирующих прав. По умолчанию программы обычно создают файлы с правами 0666, а каталоги - 0777. Типовой umask - 0022. Вот и получается, что у файлов при этом получаются права 0666&(~0022)=0644, а у каталогов 0777&(~0022)=0755.
> umask - это то. Его значение используется в следующей операции:
> РезультирующиеПрава = ЗапрошенныеПрава & (~umask).
> То есть биты, установленные в umask, будут убраны из результирующих прав. По
> умолчанию программы обычно создают файлы с правами 0666, а каталоги -
> 0777. Типовой umask - 0022. Вот и получается, что у файлов
> при этом получаются права 0666&(~0022)=0644, а у каталогов 0777&(~0022)=0755.Спасибо! Работает. Смутила переписываемая из каждой заметки в новую фигня, что-то там вычитается
откуда-то, а также то, что нигде не написано, что первая цифра - это пользователь, вторая - группа, и т.д. В вики арча нашел табличку, какую цифру писать, чтобы давались желаемые права.
Может оно там и вычитается, на на моем примере работает так, что нужно rwxrw-r--, то umask 764. Иии такое возможно, только когда пользователем, создающим файл, запрашиваюся полные права для всех, а если он запросит меньше чем в umask, то и будет меньше чем в umask?
>> umask - это то. Его значение используется в следующей операции:
>> РезультирующиеПрава = ЗапрошенныеПрава & (~umask).
>> То есть биты, установленные в umask, будут убраны из результирующих прав. По
>> умолчанию программы обычно создают файлы с правами 0666, а каталоги -
>> 0777. Типовой umask - 0022. Вот и получается, что у файлов
>> при этом получаются права 0666&(~0022)=0644, а у каталогов 0777&(~0022)=0755.
> Спасибо! Работает. Смутила переписываемая из каждой заметки в новую фигня, что-то там
> вычитаетсяВычитание — более понятная операция, поэтому часто говорят о ней. Может сбить с толку, да.
> откуда-то, а также то, что нигде не написано, что первая цифра -
> это пользователь, вторая - группа, и т.д.А это считается азами, которые должны все знать до того как начать задавать вопросы. ;)
Только учтите, что права могут бывать и с четырьмя цифрами — это SUID-, SGID- и sticky bit. Например, права на /tmp обычно 1777.
> В вики арча нашел
> табличку, какую цифру писать, чтобы давались желаемые права.
> Может оно там и вычитается, на на моем примере работает так, что
> нужно rwxrw-r--, то umask 764.Если надо rwxrw-r--, то есть 764, то umask, являясь комплиментарным (дополняющим) с битовой точки зрения, должен быть 013.
> Иии такое возможно, только когда пользователем,
> создающим файл, запрашиваюся полные права для всех, а если он запросит
> меньше чем в umask, то и будет меньше чем в umask?Если программа изначально попросит, скажем, 0600, а umask будет 0013, то в результате всё равно получится 0600.