7

Согласно названию, я должен создать файл, например:

/home/john/file.ini

Я создал пользователя и группу, myuser и mygroup , и установил их как владельца и группу этого file.ini:

chown myuser:mygroup file.ini

У меня есть другой пользователь с именем mymain . Этот пользователь должен иметь возможность читать этот файл. Как я могу изменить разрешения, чтобы разрешить это?

Важно: я хочу разрешить чтение этого файла только пользователю "mymain", а НЕ всем другим пользователям.

Таким образом, myuser (владелец файла) и mymain должны иметь доступ.

2 ответа2

10

В традиционной системе доступа к файлам Unix это невозможно: у файла есть только один владелец. Вы можете создать группу, содержащую только двух пользователей, которые должны иметь доступ, и сделать эту группу владельцем файла (и дать необходимые разрешения этой группе). Однако этот подход имеет некоторые административные издержки (не каждый пользователь может создать группу и поместить в нее других пользователей).

Многие (большинство) современные файловые системы поддерживают ACL, но их не так сложно использовать. Если вы хотите использовать POSIX ACL для предоставления другому пользователю прав на чтение (r) и запись (w), то вы можете использовать эту команду:

setfacl -m user:mymain:rw file.ini

Два предостережения:

  • Необходимые инструменты не всегда установлены. В Ubuntu/Debian они находятся в пакете acl (sudo apt-get install acl)
  • Даже если используемая файловая система поддерживает ACL, возможно, ваша локальная файловая система смонтирована без поддержки ACL. В этом случае вам нужно изменить параметры монтирования, чтобы включить его (например, для ext4 это просто означает добавление ,acl к опциям монтирования в /etc/fstab).
4

Вы должны убедиться, что пользователь mymain является членом mygroup и предоставить права доступа к группе, например

chmod g+r <filename>

Некоторые файловые системы реализуют ACL (списки контроля доступа), и они могут оказаться гораздо более полезными для вас, но они выходят за рамки моего ответа здесь. Вы захотите ознакомиться с ACL в настройках предприятия (ADS).

добавленной

Технически, конечно, два пользователя не могут одновременно быть владельцем одного и того же файла. Кроме того, если вы хотите имитировать это, вы должны дать полное разрешение группе, возможно, сделав специальную группу только для этих двух «владельцев», и степень, в которой это фактически имитирует власть, будет зависеть от paltform (старый стиль UNIX-en имеют тенденцию быть очень строгими в своих правилах для разрешения chmod/chown)

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