2

Мне нужно дать разрешение на read/write в этой папке, которая является подпапкой каталога /root для mike.jackson (по какой-то причине кто-то создал эту папку внутри /root):

/root/Products/Metadata/ApplicationServers/Port8080/Marker/

С учетом ls -la это разрешение:

total 12
drwxrwxrwx 3 webproject_deployer users 4096 Sep  1  2010 .
drwxrwxrwx 3 webproject_deployer users 4096 Aug  4  2010 ..
drwxrwxrwx 6 webproject_deployer users 4096 Mar 15  2011 xml

Поэтому я добавляю mike.jackson в группу users

users:x:100:mike.jackson

Тем не менее, он не может получить доступ к папке.

Это настройки owner :

webproject_deployer:x:1071:100::/home/webproject_deployer:/bin/bash

Пользователь аутентифицируется LDAP , как и mike.jackson . Что мне здесь делать? Я не хочу добавлять mike.jackson в sudoers, потому что если я это сделал, я не могу гарантировать, что он не выполнит вредоносную команду sudo внутри этой папки.

3 ответа3

5

Пользователю необходимо разрешение x для каждой папки в иерархии. Обычно каталог /root не позволяет никому, кроме root войти в него, поэтому начните с него и продолжайте свой путь вниз.

Я предлагаю вам перенести это куда-нибудь еще, если это возможно. Если вы не будете осторожны, данные, принадлежащие пользователю root, могут случайно стать публичными.

2

вам нужно будет проверить цепочку разрешений,

идея:
Может ли Майк доступ /
Может майк доступ /root
Может майк доступ /root / Продукты
...
Может майк доступ /root / Продукты / Метаданные / Серверы приложений / Port8080 / Маркер / майк

чтение не является обязательным, но выполнение для перемещения по папке является минимальным.

идея: chmod 711 в каждую папку на дереве

0

Причина, по которой это не работает, как указано выше, заключается в том, что пользователю потребуется доступ к полному пути, а не только к этому конкретному каталогу. Лучший ответ - удалить структуру каталогов из /root. Вы не должны ничего делать в корневом каталоге и не должны позволять что-либо устанавливать или запускаться из него. Единственный раз, когда вы должны войти в систему как root, это для задач системного администрирования. Если вам нужно запустить приложение с повышенными привилегиями, запустите его как службу или создайте конкретного пользователя, например Apache или MySql.

Одна из основных проблем заключается в том, что ваша текущая структура смотрит на то, что приложение будет иметь привилегии root, поэтому, если злоумышленнику удастся запустить вредоносный код с помощью эксплойта, он может нанести невыразимый ущерб системе хоста. Если приложение было связано с его собственной учетной записью, оно могло представлять угрозу только для самой системы, а не для большей системы.

Тем не менее, если это веб-приложение, то сервер должен иметь 755 разрешений, а пользователи, подключающиеся к нему, будут расширены привилегиями сервера. Если этот человек является локальным пользователем, которому необходимы права для администрирования сервера, то добавьте его учетную запись в группу, связанную с этим конкретным приложением, и установите соответствующие разрешения для групп.

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