Я новичок в Linux, поэтому прошу прощения, если моя проблема немного сбивает с толку.

Я хотел бы сделать следующее:

  • создать вторую учетную запись root

  • написать файл, используя эту учетную запись

  • первая корневая учетная запись не должна иметь возможности редактировать этот файл (и никакие другие учетные записи тоже).

Является ли это возможным?

5 ответов5

11

То, что вы на самом деле хотите, это иметь двух пользователей с равными привилегиями. Ни один из них не является root .

10

По сути, нет, вы не можете сделать это. Вы можете выполнить это с помощью sudo, но в конечном итоге, если у вас есть сила uid = 0, вы можете делать все, что захотите.

2

Цель учетной записи root - сделать все возможное. Это должен использовать только системный администратор, и использовать только при необходимости.

Каждый пользователь (даже администратор) должен использовать обычную учетную запись.

Так кто же системный администратор? Тот, кто будет использовать первый аккаунт или второй?

Невозможно создать вторую учетную запись root.

Концепция учетной записи root заключается в том, чтобы быть уникальным и иметь возможность делать все

1

Как было сказано ранее, root является root. То, что вы можете захотеть, это зашифрованный файл (ы). Вот обертка с использованием Bcrypt

#!/bin/sh
[ "${1##*.}" == "bfe" ] && BASENAME=${1%.bfe} || BASENAME=${1}
BASENAME=${BASENAME##*/}
MD5=`echo "$USER:$BASENAME"|md5sum`
echo "${MD5:0:32}
${MD5:0:32}" |bcrypt "$1"

Этот позволяет пользователям зашифровывать свои собственные файлы, но использует только "md5sum" имени пользователя и базового имени файла для "соли".

Если вы хотите получить действительно параноик вы могли бы использовать некоторые псевдо-стеганографии с опцией -o Bcrypt и >> какой-large.jpg (я написал частичный пример здесь: ... так же , как доказательство концепции)

Другой способ сделать это - встроить файл в программу переменного тока, чтобы он выплевывал данные только в том случае, если getenv(USER) соответствует имени вашей учетной записи администратора.

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

0

Я полагаю, что вы запрашиваете управление доступом на основе ролей или RBAC. Это была стандартная часть Windows и Solaris в течение достаточно долгого времени. В мире Linux вам нужно взглянуть на использование SELinux. Я думаю, что это слишком сложно для поста здесь, но вы должны быть в состоянии найти учебник, прибегая к помощи "SELinux RBAC"

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