5

У меня есть папка /home/userName/Public/Media в которой я храню все медиафайлы на машине; эта папка предназначена для доступа всем остальным пользователям машины, если только им не нужно самостоятельно загружать / копировать одни и те же медиа-файлы.

Есть ли способ, которым я могу изменить разрешения на:

owner: userName /* my own user */
Access: read and write

group: users
Access: read only /* I'm not entirely sure I trust all my users enough to give them powers of delete */

Others
Access: read only

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

Я предполагаю, что можно использовать inotify и umask; но - и я могу только извиниться за это - я понятия не имею, как их использовать, чтобы добиться решения.

Спасибо за любую помощь, которую вы можете оказать. Однажды я надеюсь, что смогу использовать Ubuntu без недоумения ... знак равно

1 ответ1

7
chown -R userName:groupname folderName
chmod -R 744 folderName

umask 022 (in .login or .profile)

CHMOD изменяет права доступа к файлам. Это немного странно, если вы к этому не привыкли, но в двух словах:

Использование (для восьмеричного): chmod ABC (целевой файл / папка)

"A" - это разрешения для Владельца, "B" - это разрешения для Владельца группы, а C - это разрешения для каждого.

Разрешения разбиваются следующим образом

1 = Выполнить 2 = Запись 4 = Читать

Добавьте их, чтобы определить уровень разрешений. Например, чтобы читать и писать, но не выполнять, вы используете (2+4) = 6. Для чтения, записи и выполнения вы используете (1+2+4) = 7. Только для выполнения, используйте 1.

Таким образом, «chmod -R 744 имя_папки» означает:

Установите разрешения для владельца на чтение + запись + выполнение (7). Установите разрешения для группы владельцев на чтение (4). Установите права доступа для чтения всем (4).

Примените эти разрешения к folderName и оттуда примените их рекурсивно (-R) ко всем файлам в папке.

Это довольно просто; Есть и другие способы использования chmod, и другие свойства, которые вы можете установить с ним и т. д., но это хорошее начало.

Теперь умаск

Umask - это способ установить права по умолчанию для создания файлов и каталогов. Обычно он устанавливается для каждого пользователя в файле .profile или .login, но вы можете установить его для себя в разное время, просто набрав umask 022 или что-то еще ...Он останется, пока вы не измените его или не выйдете из системы.

Разрешения (восьмеричные) umask противоположны разрешениям chmod. Я знаю, что это странно. Но если вы хотите, чтобы все файлы в каталоге создавались с правами доступа 777 (чтение + запись + выполнение для владельца, группы и всех), вы должны установить значение umask 000.

Поэтому для того, чтобы все ваши пользователи создавали файлы размером 644 (чтение / запись, чтение, чтение), вы должны установить значение umask 022 (что кажется неправильным, но файлы не исполняются по умолчанию, поэтому вновь созданные файлы будут будет 644, а вновь созданные каталоги будут 755).

Надеюсь, это не слишком запутанно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .