Рейтинг:0

Как создать пользователя и дать ему право на чтение файла /etc/shadow?

флаг in

Я хотел бы предоставить пользователю моего веб-сервера (nginx) доступ для чтения к файлу /etc/shadow, и я хотел бы подтвердить шаги, которые я предпринимаю для этого. Я использую систему CentOS 7.

  1. Сначала я создал группу с названием shadow: группадобавить тень
  2. Затем я добавил пользователя веб-сервера (nginx) в тень группы: usermod -aG тень nginx
  3. Затем я изменил владельца на root и изменил владельца файловой группы на теневую группу: корень chown: тень /etc/shadow
  4. Затем я разрешил всем пользователям в теневой группе права на чтение файла /etc/shadow: chmod g+r /etc/тень

После выполнения этих шагов я побежал ls -l /etc/тень и я вижу следующий вывод

----р-----. 1 корневая тень 1390, 30 августа, 12:51 /etc/shadow

Являются ли эти шаги правильными? Пожалуйста, дайте мне знать, и я могу предоставить дополнительную информацию, если это необходимо.

Рейтинг:3
флаг za

Изменение группы владельцев такого важного файла может даже сломать некоторые вещи, а именно опасный.

Надлежащий безопасный способ добиться этого — использовать ACL POSIX:

setfacl -m u:special_user:r /etc/shadow

Другая проблема заключается в том, что вы дали это право Nginx, веб-сервер. Который, я полагаю, запускает какое-то веб-приложение. И очень плохая идея иметь прямой доступ к /и т.д./тень из веб-приложения.

Это может показаться контрпродуктивным, но так поступают все серьезные системы: они включают частный безопасный прокси-сервис который выполняет все проверки безопасности, а веб-интерфейс может общаться только с этой прокси-службой, чтобы иметь некоторый доступ к конфиденциальным данным или выполнять другие конфиденциальные действия. Например, так построен Proxmox VE: есть pvedaemon, который делает опасные вещи, а pveproxy (веб-сервер) разговаривает с pvedaemon только тогда, когда ему нужно делать такие вещи.

Третья проблема заключается в том, что вы вообще получаете доступ к этому файлу. Что вы собираетесь делать? Этот файл является частью пакета PAM.Что если какая-то системная аутентификация будет изменена таким образом, что она не будет использовать теневой файл, или будет перемещена? Вы должны использовать вызовы библиотеки PAM, которые сделают все это за вас.

Nebek avatar
флаг in
Спасибо Никита. Я знаю о проблемах безопасности с файлом /etc/shadow. Причина, по которой я разрешаю Nginx доступ для чтения к файлу /etc/shadow, заключается в том, что я хочу пройти аутентификацию с помощью PAM для входа в веб-приложение, которое я запускаю. Это просто для того, чтобы убедиться, что я правильно интегрировал PAM и Nginx, в дальнейшем я буду использовать BoK.
Nikita Kipriyanov avatar
флаг za
Тогда нет необходимости разрешать прямой доступ к теневому файлу. PAM существует частично для того, чтобы в этом не было необходимости.
Рейтинг:0
флаг vn

Это похоже на вывод

chmod g=r /etc/shadow

и нет

chmod g+r /etc/тень

он же вы, кажется, случайно использовали знак равенства вместо знака сложения.

Редактировать: Я только что дважды проверил свою систему и разрешения для моего /и т.д./тень файл выглядит так:

`----------. 1 корень root 1183 20 августа 11.53 /etc/shadow`

Так что, похоже, ваши разрешения ожидаются!

Nebek avatar
флаг in
Интересно, я проверил свою историю команд, которые я запускал, и я использовал правильную, «chmod g+r /etc/shadow».
BitGen01100000 avatar
флаг vn
@Nebek Ты видел мою правку? :)
Nebek avatar
флаг in
Ой, извините, только что увидела, спасибо!
djdomi avatar
флаг za
На самом деле, `ls -la /etc/shadow -rw-r----- 1 root shadow 1050 28 августа 18:14 /etc/shadow` используется по умолчанию в Debian.
BitGen01100000 avatar
флаг vn
@djdomi Я проверил это в системе CentOS (версия 7.7.1908), которая у меня работала. И я не делал никаких изменений в этом файле. Так что, если вы ничего не изменили, это, похоже, разница между дистрибутивами. Однако OP заявил, что он / она использует CentOS, поэтому я бы порекомендовал ему / ей использовать стандартную конфигурацию для этого дистрибутива в качестве базовой конфигурации вместо смешивания и сопоставления между различными дистрибутивами. :)
djdomi avatar
флаг za
@ BitGen01100000 это не имеет значения, в основе лежит та же самая идея, более того, участник может пойти с головой: [на этот вопрос уже дан ответ] (https://unix.stackexchange.com/questions/549464/etc-shadow-permissions-security- передовой опыт-000-против-600-против-640)

Ответить или комментировать

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