Меня попросили добавить разрешения group-wrx в каталог в домашней папке другого пользователя.
Я верю, что я должен сделать, это бежать chmod 771 -R directoryname в родительском каталоге. То, что я не могу найти нигде на трубах, как указать который группа, я хочу дать эти разрешения. Я лично в нескольких группах, и в группе я не знаю, как root.
В случае, если это важно, система работает Redhat 5.4.
chmod() системный вызов и, соответственно, chmod программа, не влияет на группу файлов или каталогов (или другой тип файла: специальный блок, специальный символ, сокет, ... символическая ссылка является чем-то особенным). Таким образом, группа, которой предоставлено разрешение, будет группой, к которой принадлежит файл или каталог.
Добавить группу rwx разрешения, вы должны использовать:
chmod -R g+rwx DirectoryName
Однако это добавляет разрешения для каждого файла, а также для каждого каталога, и не все файлы должны быть исполняемыми. Лично я был бы очень недоволен, если бы кто-то предоставил разрешение на групповую запись для всех (или любых) моих каталогов, но это уже другая история.
Чтобы влиять только на каталоги, используйте find вместо:
find DirectoryName -type d -exec chmod g+rwx {} +
(The + обозначение POSIX 2008; не все системы Unix поддерживают это, хотя Linux поддерживает.)
Если вы используете + X (заглавная X), вы добавите разрешение на выполнение (или «поиск»), только если файл является каталогом или уже имеет разрешение на выполнение для какого-либо пользователя. linux.die.net/man/1/chmod
Dave
@ Dave: chmod +X кажется, поддерживается и на BSD (Mac OS X). Тщательное изучение POSIX chmod указывает на то, что +X это особенность POSIX: Символ перманента X должен представлять часть выполнения / поиска битов режима файла, если файл является каталогом или если текущие (немодифицированные) биты режима файла имеют по меньшей мере один из установленных битов выполнения (S_IXUSR, S_IXGRP или S_IXOTH). Он должен игнорироваться, если файл не является каталогом, и ни один из битов выполнения не установлен в текущих битах режима файла. Обратите внимание на обоснование ниже.
Jonathan Leffler
9
Каждый файл на вн Файловая система имеет:
Владелец пользователя
Группа владельцев
Разрешения для этого пользователя, этой группы и всех остальных.
Если вы устанавливаете права доступа группы rwx для файла, только группа владельцев этого файла может читать / записывать / выполнять ее. Однако вы можете изменить пользователя и владельца с помощью:
Существуют различные реализации расширенных привилегий файловой системы, то есть ACL (списки контроля доступа) в Mac OS X, но, поскольку я не являюсь экспертом по Linux, вам, вероятно, следует спросить Ошибка сервера для этого.
«поэтому, если вы устанавливаете права доступа для группы rwx для файла, только группа владельцев этого файла может читать / записывать / выполнять ее», я понимаю, что это может вводить в заблуждение, прежде всего, если вы являетесь владельцем пользователя, конечно, Правила пользователя владельца имеют приоритет, если вы не являетесь ни владельцем пользователя, ни в группе владельцев, применяются правила для других.
chmod +X
кажется, поддерживается и на BSD (Mac OS X). Тщательное изучение POSIXchmod
указывает на то, что+X
это особенность POSIX: Символ перманента X должен представлять часть выполнения / поиска битов режима файла, если файл является каталогом или если текущие (немодифицированные) биты режима файла имеют по меньшей мере один из установленных битов выполнения (S_IXUSR, S_IXGRP или S_IXOTH). Он должен игнорироваться, если файл не является каталогом, и ни один из битов выполнения не установлен в текущих битах режима файла. Обратите внимание на обоснование ниже.Каждый файл на вн Файловая система имеет:
Если вы устанавливаете права доступа группы rwx для файла, только группа владельцев этого файла может читать / записывать / выполнять ее. Однако вы можете изменить пользователя и владельца с помощью:
Существуют различные реализации расширенных привилегий файловой системы, то есть ACL (списки контроля доступа) в Mac OS X, но, поскольку я не являюсь экспертом по Linux, вам, вероятно, следует спросить Ошибка сервера для этого.
источник