Как я могу создать пользователя с доступом только для чтения ко всем файлам? (т.е. корень, не пишущий полномочия)

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

Какие-либо идеи о том, как достигнуть этого?

9
задан 29.11.2009, 22:49

3 ответа

Я мог бы предложить, чтобы другой метод решил Вашу проблему, это - меньше интенсивного обслуживания.

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

Проверьте раздел 'AUTHORIZED_KEYS FILE FORMAT' в своей sshd странице справочника (я предполагаю, что Вы используете OpenSSH).

http://man.openbsd.org/OpenBSD-current/man8/sshd.8

7
ответ дан 07.12.2019, 13:28

Вы могли достигнуть этого с ACLs. Вам все еще был бы нужен сценарий, работающий как корень, который изменяет полномочия каждого файла. См. страницы справочника для ACL, setfacl и getfacl, если Вам интересно.

1
ответ дан 07.12.2019, 13:28

Существует несколько другой способ создать это, не используя ACL. Но необходимо практиковать осторожность здесь. Во-первых, создайте группу, например, названный roroot (корень только для чтения). Затем примените тот идентификатор группы ко всем каталогам. Сделайте полномочия для битов группы, чтобы быть r - или 400 восьмеричных, затем можно создать учетную запись пользователя точно так же, как обычный пользователь, например, rorootusr, со следующим идентификационным набором к тому, что это находится в системе, сделайте это членом группы roroot только, не добирайтесь быть частью колеса, мусорного ведра, и т.д., в зависимости от того, что группы находятся на установке. Следующий бит будет топорным. Откройте/etc/passwd файл с помощью vim/nano/emacs/joe/независимо от того, что редактор качает лодку, и ищите идентификатор, который Вы только что создали, т.е. rorootusr, passwd файл будет похож на это

root:x:0:0::/root:/bin/sh

Чтение слева направо разделенного двоеточиями у Вас есть имя пользователя, пароль (зашифрованный + затененный), идентификатор пользователя, идентификатор группы, комментарий, корневой каталог и оболочка. От вышеупомянутого данного примера

rorootusr:x:512:450:Root User RO:/home/rorootusr:/bin/bash

Это - 3-е поле (512), что Вы изменяете его на 0. 450 был бы идентификатор группы для roroot. Сохраните сеанс редактирования, и Вы сделаны. Теперь rorootusr будет иметь корневой доступ, но является только членом группы roroot и имеет доступ только для чтения к системе.

Надежда это помогает, С наилучшими пожеланиями, Tom.

1
ответ дан 07.12.2019, 13:28

Теги

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