Как поясняется в man ssh
:
-t Force pseudo-tty allocation. Это может быть использовано для выполнения arbi-
. трёхэкранные программы на удалённой машине, которые могут быть
. очень полезен, например, при внедрении служб меню. Multiple -t
опции принудительное распределение tty, даже если у ssh нет местных tty.
Вы можете добавить новую группу, которая является nodeJS
группой, добавить пользователя в группу, затем изменить группу для файла и в конце изменить разрешение для группы на чтение файла.
groupadd nodeJS
usermod userName -g nodeJS
link -s rootOwnedFile linkToRootOwnedFile
chgrp nodeJS linkToRootOwnedFile
chmod g+r linkToRootOwneFile
На самом деле это можно сделать с помощью Списков контроля доступа . Таким образом, даже если файлы изменены, добавлены новые или изменены права доступа к файлам, вы все равно сможете получить к ним доступ с помощью пользователя 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