Дать разрешение на чтение некорневому пользователю для корневого файла?

Как поясняется в man ssh:

-t Force pseudo-tty allocation. Это может быть использовано для выполнения arbi-
.           трёхэкранные программы на удалённой машине, которые могут быть
.           очень полезен, например, при внедрении служб меню. Multiple -t
           опции принудительное распределение tty, даже если у ssh нет местных tty.

2
29.03.2018, 02:13
2 ответа

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

groupadd nodeJS
usermod userName -g nodeJS
link -s rootOwnedFile linkToRootOwnedFile
chgrp nodeJS linkToRootOwnedFile
chmod g+r linkToRootOwneFile
3
27.01.2020, 21:52

На самом деле это можно сделать с помощью Списков контроля доступа . Таким образом, даже если файлы изменены, добавлены новые или изменены права доступа к файлам, вы все равно сможете получить к ним доступ с помощью пользователя Node.js. Просто сделайте следующее в родительском каталоге сертификатов:

setfacl -Rm u:nodeJSUser:rX,d:u:nodeJSUser:rX /path/to/certificates

Замените nodeJSUserна фактического пользователя. Первая часть параметра -mустанавливает текущие списки управления доступом, а все, что после запятой, устанавливает значения по умолчанию для новых файлов. -Rделает его рекурсивным.

Обратите внимание, что если сертификаты хранятся в корневом -собственном каталоге без доступа к исполнению (, например. chmod 700), то это не сработает. Например, если сертификаты хранятся в /root/certs, поскольку /root— это chmod 700, никакие другие пользователи не могут получить доступ к чему-либо внутри этого каталога, даже если у них есть разрешение на сам файл. Для этого вы можете привязать этот каталог к ​​другому каталогу и получить к нему доступ оттуда.

mkdir /certs
mount --bind /certs /root/certs
setfacl -Rm u:nodeJSUser:rX,d:u:nodeJSUser:rX /certs
3
27.01.2020, 21:52

Теги

Похожие вопросы