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

После тонны пробной версии, ошибки и общих вещей повреждения я выяснил, как зафиксировать ее. Это не очень очевидный способ, но необходимо удалить "~/.config/dconf/user".

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

2
19.09.2013, 02:10
3 ответа

Что касается ограничения полномочий управления только к установке программного обеспечения, можно использовать sudo: Вы только позволяете пользователю выполнять инструменты управления пакета, которые делают установку. Примерно Вам нужно что-то как это в/etc/sudoers:

Cmnd_Alias SWINST = /path/to/pkg-manager install_action *

power_user hostname= NOPASSWD: SWINST

Это позволяет power_user на компьютере hostname работать /path/to/pkg-manager с первым аргументом install_action и произвольные дополнительные аргументы, не попросившись пароля (например, для Debian это перевело бы в /path/to/apt-get install *, для основанных на SUSE дистрибутивов /path/to/zypper in *).

Существует две вещи иметь в виду:

  1. Диспетчер пакетов должен быть хорошего поведения в том смысле, что он не должен позволять нескольким действиям быть переданными ему на одной командной строке (например. pkg-manager install foo, remove bar полностью повредил бы его). Так как диспетчеры пакетов также обрабатывают конфликты, даже просто установка может привести к удалению программного обеспечения, использовать переключатель/конфигурацию, который отключает это, если возможный (и см. комментарий Craig ниже).

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

Для настольных систем инфраструктура PolicyKit часто используется эти дни, так, чтобы была бы другая опция.

2
27.01.2020, 22:14
  • 1
    Обратите внимание, что склонный - добираются, будет иногда автоматически удалять пакеты - например, из-за Конфликтов. Это могло быть использовано для удаления некоторых пакетов тщательным выбором пакетов для установки. Было бы более безопасно записать, что сценарий обертки вокруг Кв. - получает это проверки работоспособности args, склонное-get's использование --no-remove опция, и возможно имеет пользовательский apt.conf файл для переопределения значений по умолчанию. используйте sudo для предоставления пользовательского доступа к тому сценарию только. –  cas 19.09.2013, 03:44
  • 2
    @CraigSanders точно моя точка, я помещу его более явно в ответ, спасибо. –  peterph 19.09.2013, 13:01

Да, возможный, в последней опции каждой строки /etc/passwd, Вы указываете оболочку для каждого пользователя. Можно записать обертку и вместо оболочки по умолчанию такой как bash или csh, используйте свою обертку (вероятно, сценарий оболочки).

Вы изменяете значение по умолчанию:

mohsen:x:1000:1000:Mohsen Pahlevanzadeh,,,:/home/mohsen:/bin/bash

кому:

mohsen:x:1000:1000:Mohsen Pahlevanzadeh,,,:/home/mohsen:/yourpath/yourshell.sh

Необходимо затем вставить две вещи yourshell.sh:

  1. команда для отправки по почте для укоренения (mail, mutt command ... - читают руководство),
  2. породите оболочку входа в систему exec /bin/bash -l
0
27.01.2020, 22:14
  • 1
    Как это позволит пользователю устанавливать, но не удалять программное обеспечение? –  terdon♦ 18.09.2013, 18:03
  • 2
    также, который не позволит оболочка, потому что только действительный список оболочки cat /etc/shell –  Rahul Patil 18.09.2013, 22:03
  • 3
    В то время как это может привести к решению, оно пропускает слишком много шагов, чтобы быть применимым. /yourpath/yourshell.sh потребности, которые будут добавлены к /etc/shell, и необходимо обеспечить его содержание в ответе. Заботьтесь о том, что происходит, если пользователь нажимает Ctrl+C во время его выполнения. Кроме того, это не решает часть об установке программного обеспечения. –  Gilles 'SO- stop being evil' 19.09.2013, 02:12
  • 4
    может записать python script вместо shell и определите CTR+C –  PersianGulf 19.09.2013, 05:06

Вот мое взятие на решении:

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

#!/bin/bash

cat <<__EOF__ | mail -s "please install" root@localhost 

When you get time, please install these programs for me:

  $@

Thanks,

__EOF__

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

Если Вы хотите стать необычными, Вы могли бы использовать getopt, чтобы позволить пользователю указывать приоритетные опции как-l или - низко,-h или - высоко,-u или - срочный.

0
27.01.2020, 22:14

Теги

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