LINUX.ORG.RU

Можно ли сделать два вида админов?


0

1

Я бы хотел дать возможность пользователям самостоятельно устанавливать приложения без админских прав. Устанавливать приложения пользователи будут туда, куда у них хватит прав (в первом приближении в свою домашнюю директорию, см. ниже).

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

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

Обозначим аккаунты буквами А - администратор, У - учитель, С - студент.

Можно ли настроить пользователю sudo таким образом, чтобы ему давались права на этот второй аккаунт, а не на аккаунт администратора?

Есть пять областей:

а) то, что установлено рутом для себя, и доступно руту (rw)

б) то, что установлено рутом для учителя (или учителем для себя через sudo), и доступно руту (rw) и учителю (r)

в) то, что наредактировано учителем для себя, и доступно руту (rw) и учителю (rw)

г) то, что установлено учителем для учеников (или учениками для себя через sudo), и доступно руту (rw), учителю (rw) и ученикам (r)

д) то, что ученики делают сами (rw)

Учитель не может читать файлы, установленные рутом лично руту (область «а»). И ученик не сможет читать файлы, установленные себе учителем (область «в»).

Итого, у учеников доступ к области «д» на запись, и к области «г» на чтение.

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

Нужно настроить sudo так, чтобы ученик мог ставить софт в область «г», но не мог ставить софт в область «б». К руту с учителем это, кстати, тоже относится.

Какой символ в таком случае должен использоваться в качестве подсказки bash вместо ‘#’ и ‘$’ ? Кажется, можно сделать ‘#’, ‘¤’ и ‘₽’ (первый - сидеть за решеткой, если что-то испортит, второй - обозначает универсальность, а третий - это локализованная версия доллара).

★★★★

Последнее исправление: Shushundr (всего исправлений: 9)
Ответ на: комментарий от Shushundr

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

Dog ★★★
()
Ответ на: комментарий от Shushundr

Там нет никакой наркомании, более того, даже к курению высказано негативное отношение. Такими действиями извести можно только себя (ну и немножко нервы модераторам, вынужденным читать идиотские натянутые жалобы).

CrX ★★★★★
()
Ответ на: комментарий от CrX

ну и немножко нервы модераторам, вынужденным читать идиотские натянутые жалобы

Ну и хорошо, возможно они станут менее толерантны к пропаганде наркотиков.

Shushundr ★★★★
() автор топика
Ответ на: комментарий от Shushundr

Мнэээ… публично обвиняя @bugfixer в наркоманстве Вы совершаете деяние попадающее под статью УК РФ «клевета».

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

AntonI ★★★★★
()
Ответ на: комментарий от Shushundr
  1. Там нет пропаганды наркотиков. Ни в одном из объектов доноса.
  2. Табак юридически к наркотическим веществам не относится.
  3. Как минимум в последнем случае вообще пропаганда отказа от курения, а не наоборот.
CrX ★★★★★
()
Ответ на: комментарий от Shushundr

А sudo тут при чем? Я про ACL писал. В этом сценарии все ПО ставится в хомяк пользователя 1, и ни одному пользователю sudo не нужен. Так что ОС остается нетронутой.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

Пользователю с меньшим количеством прав нужна какая-то утилита для получения возможностей пользователя с слегка большим количеством прав. Возможно не sudo.

Shushundr ★★★★
() автор топика
Ответ на: комментарий от Shushundr

Ну да, это рабочий сценарий.

Но если хочешь, можешь в sudo прописать одному пользователю право выполнять произвольные команды от имени другого.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 2)
Ответ на: комментарий от DrBrown

Для этого в профиле есть кнопка блокировки аккаунта. Будь добр, нажми ее.

А кнопки «выложить пароль» нет. Опять злые линаксоиды GUI не написали.

annulen ★★★★★
()
Ответ на: комментарий от Shushundr

Так речь не об игноре, речь об удалении. Кнопка так и называется «удалить» (красная).

Выносит по крайней мере одного наркомана. Проявите свою активную гражданскую позицию!

AntonI ★★★★★
()
Ответ на: комментарий от Shushundr

Тебя послушать, так и sudo не нужен. Ведь пользователь всегда может залогиниться сам, а когда надо - может залогиниться как рут.

Ну да, для этого и su хватит. sudo нужен только для удобства и дополнительных плюшек вроде ограничения допустимых команд или выполнения определенных команд без пароля.

annulen ★★★★★
()

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

Абсолютно непонятно, от чего ты «защитился». Можно додуматься разное, но ты вряд ли имел это в виду.

Если второй юзер может ставить софт только себе в хомяк, то в чем отличие от первого? Он тоже может.

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

От чего ты защищался, что ты хотел? Тупо больше пользователей для большей изоляции сомнительных приложений? Смонтировать первому хомяк с noexec просто чтобы было? Скор набить? Одним лишь небесам известно.

t184256 ★★★★★
()
Ответ на: комментарий от Shushundr

Он просто повторил твой бред, решаемой этим бредом проблемы никто так и не знает. Кажется, ты тоже.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от Shushundr

можно ли настроить sudo таким образом, чтобы обычный пользователь получал доступ к возможностям пользователя-инсталлятора. И делал в нём всё что хочет в рамках дозволенного пользователю-инсталлятору (но не руту всей системы).

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

t184256 ★★★★★
()
Ответ на: комментарий от t184256

никто так и не знает. Кажется, ты тоже.

Я этого и не скрываю. Прямо спросил, почему root не вынесут нафиг. И тут началось - там ещё другие пользователи с разными правами… Но ведь ничего не мешает и другому человеку помогать следующим. Пример - системный админ на всю школу, учитель на учеников класса, ученики сами по себе, но их много. Иерархичность у людей - это нормально. Но Linux не поддерживает, он плоский.

Shushundr ★★★★
() автор топика
Ответ на: комментарий от t184256

второй пользователь может все, что и рут,

Нет. Рут, то есть первый пользователь неограничен. Второй пользователь ограничен (рут его ограничил). И ставит от туда, куда может. А третий пользователь пользуется тем, что второй пользователь поставил для него.

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

Shushundr ★★★★
() автор топика
Последнее исправление: Shushundr (всего исправлений: 1)
Ответ на: комментарий от Shushundr

Иерархичность у людей - это нормально.

Отношения к теме этот тезис не имеет, потому что у тебя один человек и три учётных записи.

Я этого и не скрываю. Прямо спросил, почему root не вынесут нафиг. И тут началось - там ещё другие пользователи с разными правами…

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

t184256 ★★★★★
()
Ответ на: комментарий от Shushundr

Я правильно понимаю, что в такой модели третий пользователь может запускать установку с правами второго, а второй — подсунуть любой код третьему? Тогда защищены они друг от друга ровно никак, можно сливать их вместе.

t184256 ★★★★★
()
Ответ на: комментарий от t184256

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

Ты понимаешь неправильно. Я привёл выше пример с админом, учителем и учениками.

Чтобы третий что-то там запустил, он должен знать пароль второго. Но он не знает. Учитель подойдёт к ученику и выполнит какие ему надо команды администрирования.

защищены они друг от друга ровно никак

Второй от третьего защищён паролем. Поэтому третий не сможет подсунуть код второму. Так же как второй не сможет подсунуть код руту.

у тебя один человек и три учётных записи.

Вырожденый случай. Для понимания надо сначала понять общий.

Shushundr ★★★★
() автор топика
Последнее исправление: Shushundr (всего исправлений: 3)
Ответ на: комментарий от Shushundr

О, новые вводные, нагло противоречащие

я хочу сделать пользователю дополнительный аккаунт

из ОП.

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

Чтобы третий что-то там запустил, он должен знать пароль второго. Но он не знает. Учитель подойдёт к ученику и выполнит какие ему надо команды администрирования.

Подойдёт физически и напечатает при нем что-то, что поставит ученику произвольный софт в хомяк? А ученик будет следить за каждой командой и предварительно проведёт полный аудит устанавливаемого?

Отличная тема, эта твоя новая задача вполне понятна и решается так:

  1. Готово, ничего делать не надо

Смотри не налажай.

t184256 ★★★★★
()
Ответ на: комментарий от Shushundr

Хочу извести наркоманов на LOR

Так забаньтесь ужо!

УК РФ Статья 110.1

Если надумаете - готов встретиться в любом суде РФ или за её пределами. Только боюсь - кишка тонка.

ПыСы. А вы таки «шедевр». Welcome to my ban list.

bugfixer ★★★★★
()