gksu -w не работает так, как я привык?
Я использовал gksu -w shutdown -hP now
как общесистемная команда меню в icewm
, поэтому, когда пользователь, не являющийся администратором, щелкнул выключение в меню, появится диалоговое окно с паролем, запрашивающее пароль администратора. Это было, когда я запускал icewm в Linux Mint.
Когда я переключился на Ubuntu, та же самая команда не работала. Хотя появляется то же диалоговое окно с запросом пароля администратора, но ни один из существующих паролей sudoers, которые я пробовал, не будет работать или принят. Даже пароль первой учетной записи, которую меня попросили сделать при установке Ubuntu, не будет работать.
Я также пытался gksu -u admin-user -w 'shutdown -hP now
, но появилось сообщение об ошибке "shutdown: Need to root".
Так в чем же разница между правилами gksu в Ubuntu и Mint? В настоящее время я использую Ubuntu 12.04 LTS, и Mint, на который я ссылаюсь, это Mint 13 Maya. И какие могут быть другие альтернативные способы разрешить команду "Завершение работы" в меню IceWM для пользователей, не являющихся администраторами, но я все же хочу, чтобы они сначала запросили разрешение у меня, прежде чем они могли завершить работу, запросив мой пароль администратора?
Помимо выключения, у меня также есть другие команды в меню IceWM, которые требуют привилегий администратора, например hibernate
, чтобы смонтировать резервный раздел, и synaptic
, который я применил gksu -w
с.
2 ответа
Эта проблема:
gksu -w
запросит ваш пароль root, однако у пользователя root нет пароля по умолчанию в Ubuntu, поэтому все, что вы попробуете, потерпит неудачу.gksu -u admin-user -w
выполнитshutdown
как администратор, но вы должны быть пользователем root, а не администратором.
Возможных решений два:
использование
gksu -u admin-user -w gksu -S
, Что означает: сначала переключитесь на admin-user (gksu -u admin-user -w
), затем станьте пользователем root (gksu -S
).Установите пароль для пользователя root. Сюда,
gksu -w
будет работать так, как вы ожидаете.
Недостатком первого решения является то, что вам будет предложено ввести два пароля, что может быть неудобно. Недостатком второго решения является то, что не рекомендуется включать пользователя root.
Я бы рекомендовал использовать gksudo
и не gksu
хотя они не очень отличаются в Ubuntu. Просто добавьте 'admin-username' в группу 'sudoers' или 'admin' или просто дайте ему доступ к команде shutdown в файле /etc/sudoers.
Тогда вместо gksu -w <admin-username> <command>
вы могли бы использовать gksudo <command>
, Опять же, весь смысл использования sudo/gksudo состоит в том, чтобы пользователи могли выполнять административные задачи, не предоставляя им полный доступ root.