Как предотвратить смену пароля даже от пользователя root?

Как предотвратить смену пароля даже от пользователя root?

Я читал, что для того, чтобы запретить пользователю менять свой пароль, нужно ввести:

пароль -n 10000 $пользователь

Но как запретить пользователю root менять пароль пользователя $user?

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

EDIT: Причина, по которой такие действия запрещены для пользователя root, заключается в том, что даже пользователи с правами root не должны иметь доступа к некоторым эксклюзивным каталогам, которые я пытаюсь защитить.

решение1

Обоснованность этого вопроса сомнительна...

Чтобы покритиковать ваше желаемое решение создания нового пользователя, — даже если другие пользователи root не могут изменить пароль нового пользователя, им это и не нужно, поскольку root может прочитать любой файл или изменить права доступа к файлу — им даже не нужно «быть» этим пользователем.

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

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

И мы даже не дошли до разговора о том, почему у вас есть несколько пользователей root, которым вы не доверяете. Конечно, наличие нескольких пользователей root — это хорошо, однако, похоже, что у вас есть доступ root для всех пользователей — друзья молодцы, и вы их пускаете, но им не нужен root.

Даже используя ACL, вы не сможете помешать другому пользователю root получить доступ к данным — вы (как пользователь root) создали ACL, а он (как пользователь root) изменит его.

Единственное по-настоящему жизнеспособное решение — это то, что давно придумали различные спецслужбы: машины с воздушным зазором.

Поместите свои «совершенно секретные» данные на диск и не подключайте его к машине с друзьями. Или установите диск на другую машину без зоопарка пользователей root, и которая не имеет доступа к сети. Вы, вероятно, можете обойтись, предоставив этой машине (файловому серверу) доступ к сети, поскольку у ваших друзей вряд ли будут хакерские инструменты Spook Grade, чтобы получить доступ к этой машине. Дайте доступ только себе, и вуаля — изолированные данные. Такого рода машину очень дешево создать. Процессор, сетевая карта и готово.

Если вы «хотите» доверять им и/или получать доступ к этим данным только с этой машины (с кластером пользователей root), то физически подключайте диск только в однопользовательском режиме, в автономном режиме и за консолью.

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

ps: когда я говорю о root, я использую этот термин, подразумевая настоящего пользователя root, а не пользователя с sudo и т.п.

решение2

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

решение3

Я полагаю, вы могли бы установить неизменяемый расширенный атрибут файловой системы на /etc/shadow. Это предотвратит все изменения паролей, покакореньПользователь отменяет неизменяемый бит. Команда: "chattr +i /etc/shadow"

Если вы предоставляете root-доступ профессиональному системному администратору, вы должны предполагать, что он не изменит пароль, если вы попросите его не менять его. Наконец, вы всегда можете перейти на использование Kerberos 5 или чего-то централизованно управляемого.

Связанный контент