После тонны пробной версии, ошибки и общих вещей повреждения я выяснил, как зафиксировать ее. Это не очень очевидный способ, но необходимо удалить "~/.config/dconf/user".
Это в значительной степени сбросит все Ваши настройки Gnome, таким образом, необходимо будет задержать все. Я задержал все это точно, как у меня был он прежде, и проблема не возвратилась, таким образом, я все еще понятия не имею, что заставляет это происходить.
Что касается ограничения полномочий управления только к установке программного обеспечения, можно использовать 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 *
).
Существует две вещи иметь в виду:
Диспетчер пакетов должен быть хорошего поведения в том смысле, что он не должен позволять нескольким действиям быть переданными ему на одной командной строке (например. pkg-manager install foo, remove bar
полностью повредил бы его). Так как диспетчеры пакетов также обрабатывают конфликты, даже просто установка может привести к удалению программного обеспечения, использовать переключатель/конфигурацию, который отключает это, если возможный (и см. комментарий Craig ниже).
Вы не должны предоставлять доступ к командам технического обслуживания пакета низкого уровня, которые могут установить пакет из локального файла. Это позволило бы пользователю готовить пакет расширения полномочий, устанавливать его, и затем Вы могли махнуть своей системой до свидания. Вместо этого необходимо удостовериться, что только будет возможно установить достоверное программное обеспечение с командой.
Для настольных систем инфраструктура PolicyKit часто используется эти дни, так, чтобы была бы другая опция.
Да, возможный, в последней опции каждой строки /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
:
mail
, mutt command
... - читают руководство),exec /bin/bash -l
cat /etc/shell
– Rahul Patil
18.09.2013, 22:03
/yourpath/yourshell.sh
потребности, которые будут добавлены к /etc/shell
, и необходимо обеспечить его содержание в ответе. Заботьтесь о том, что происходит, если пользователь нажимает Ctrl+C
во время его выполнения. Кроме того, это не решает часть об установке программного обеспечения.
– Gilles 'SO- stop being evil'
19.09.2013, 02:12
Вот мое взятие на решении:
Полупривилегированный пользователь запускает скрипт, названный. аргументами сценария является пакет или названия программы.
#!/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 или - срочный.
--no-remove
опция, и возможно имеет пользовательский apt.conf файл для переопределения значений по умолчанию. используйте sudo для предоставления пользовательского доступа к тому сценарию только. – cas 19.09.2013, 03:44