Как предоставить одному конкретному пользователю доступ на чтение к файлу Unix - PullRequest
1 голос
/ 05 июля 2019

Я хочу дать одному конкретному пользователю доступ на чтение к файлу на машине с Unix. Я не root, поэтому я не могу сделать chown.

Я пытался найти что-то, что использует chmod, но там похоже, что я не могу указать конкретного пользователя, только одного, группу или всех.

Полагаю, об этом уже спрашивали, но я ничего не смог найти.

Ответы [ 2 ]

2 голосов
/ 05 июля 2019

Как правило, если вам нужны более детальные разрешения в Linux, вы должны использовать списки контроля доступа. Arch Wiki содержит хорошее руководство по настройке.

После настройки вы можете определить более сложные правила для изменения политик контроля доступа для вашей смонтированной файловой системы.

Вы можете установить эти правила с помощью команд, которые выглядят следующим образом: setfacl -m "u:johny:r-x" abc. Это говорит: «Дайте (пользователю) Джонни права на чтение и выполнение для файла / каталога, указанного путем abc».

После этого вы также сможете увидеть разрешения для объекта файловой системы, используя getfacl

root@testvm:/var/tmp# getfacl appdir/
# file: appdir/
# owner: root
# group: appgroup
user::rwx
group::rwx
group:testusers:r--
mask::rwx
other::r-x

В этом примере вы можете видеть значение по умолчанию для любого пользователя / группы, которая не входит в группу testusers, может читать, записывать или выполнять каталог. Но testusers умеет только читать.

1 голос
/ 05 июля 2019

Традиционный способ Unix, как вы предлагаете, - chown файл и установка разрешений таким образом.

Вы также можете использовать списки контроля доступа (ACL). Посмотрите на команды getfacl и setfacl ( ссылка ). Плохая новость заключается в том, что ACL не всегда включены , и установка ОС по умолчанию не всегда включает команды, которые не помогут вам, если у вас нет root.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...