Bug 27073 - ошибка передачи параметров в sudo от gksu
Summary: ошибка передачи параметров в sudo от gksu
Status: REOPENED
Alias: None
Product: Sisyphus
Classification: Development
Component: libgksu (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Yuri N. Sedunov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-03-13 17:26 MSK by ReMaks
Modified: 2015-04-07 07:08 MSK (History)
5 users (show)

See Also:


Attachments
лог strace (1.07 MB, application/octet-stream)
2012-08-07 19:25 MSK, ReMaks
no flags Details
Patch for libgksu (487 bytes, patch)
2012-08-07 20:02 MSK, Dmitry Chistikov
no flags Details | Diff
Поправленный патч (477 bytes, patch)
2015-04-05 15:26 MSK, Антон Мидюков
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description ReMaks 2012-03-13 17:26:25 MSK
> > Попробуйте вручную
> > gksu /usr/sbin/synaptic  
> 
> $ gksu /usr/sbin/synaptic
> usage: sudo [-HPSb] [-p prompt] [-u username|#uid]
>             { -e file [...] | -i | -s | <command> }
> sudo: illegal option `-n'
> usage: sudo -K | -L | -V | -h | -k | -l | -v
Comment 1 Andrey Cherepanov 2012-03-13 18:16:44 MSK
На Sisyphus.
Comment 2 Andrey Cherepanov 2012-04-03 18:18:32 MSK
Обновите libgksu и gksu. Я дополнил локализацию, но этой ошибки не поймал.
Comment 3 ReMaks 2012-04-05 11:09:04 MSK
(В ответ на комментарий №2)
> Обновите libgksu и gksu. Я дополнил локализацию, но этой ошибки не поймал.

сегодня приехали обновления в p6
gksu-2.0.2-alt3.M60P.1
libgksu-2.0.12-alt5.M60P.1


при попытке сделать обновлен из apt-indicator:
"Выполнение xdg-su -c "/usr/sbin/synaptic --update-at-startup --dist-upgrade-mode --non-interactive" завершилось с кодом 4"

при запуске
$ gksudo synaptic 
usage: sudo [-HPSb] [-p prompt] [-u username|#uid]
            { -e file [...] | -i | -s | <command> }
sudo: illegal option `-n'


и все таки оно не работает...

может что-то лишнее установлено в системе?
Comment 4 Andrey Cherepanov 2012-04-05 12:39:45 MSK
(В ответ на комментарий №3)
> при запуске
> $ gksudo synaptic 
> usage: sudo [-HPSb] [-p prompt] [-u username|#uid]
>             { -e file [...] | -i | -s | <command> }
> sudo: illegal option `-n'
Зачем вы запускаете gksudo, а не gksu?
Comment 5 ReMaks 2012-04-05 12:43:37 MSK
(В ответ на комментарий №4)

> Зачем вы запускаете gksudo, а не gksu?

$ gksu synaptic 
usage: sudo [-HPSb] [-p prompt] [-u username|#uid]
            { -e file [...] | -i | -s | <command> }
sudo: illegal option `-n'
usage: sudo -K | -L | -V | -h | -k | -l | -v
Comment 6 ReMaks 2012-04-05 12:45:14 MSK
# control 
...
su              wheelonly       (public wheel wheelonly restricted)
sudo            wheelonly       (public wheelonly restricted)
sudoers         strict          (strict relaxed)
...
Comment 7 Andrey Cherepanov 2012-04-05 17:19:00 MSK
Не воспроизводится ни на одной из машин с p6 и Sisyphus. Правда, gksudo падает с assertion, но это другая ошибка.
Comment 8 ReMaks 2012-04-28 13:26:08 MSK
(В ответ на комментарий №7)
> Не воспроизводится ни на одной из машин с p6 и Sisyphus. Правда, gksudo падает
> с assertion, но это другая ошибка.

ping

вообщем непонятки с этой ошибкой... и достало оно меня.

мелкое исследование:
(в режиме su, программа запустилась)
$ gksu -uroot -d  -w synaptic
xauth: -2379679ce195bb34f40bff7c044c2c46
-
display: -:0.0-
final xauth: -2379679ce195bb34f40bff7c044c2c46
-
final display: -:0.0-
STARTUP_ID: gksu/synaptic/12263-0-bird.localdomain_TIME0
gksu_context_run: buf: -Password: -
no password on keyring
DEBUG (run:after-pass) buf: -Password: -
-EBUG (run:post-after-pass) buf: -
-EBUG (run:post-after-pass) buf: -gksu: waiting
-EBUG (gksu: waiting) buf: -gksu: waiting


(в режиме sudo, программа НЕ запустилась)
$ gksu -uroot -d   synaptic
No ask_pass set, using default!
xauth: /tmp/libgksu-uWnKmC/.Xauthority
STARTUP_ID: gksu/synaptic/12312-0-bird.localdomain_TIME0
cmd[0]: /usr/bin/sudo
cmd[1]: -H
cmd[2]: -S
cmd[3]: -n
cmd[4]: -p
cmd[5]: GNOME_SUDO_PASS
cmd[6]: -u
cmd[7]: root
cmd[8]: --
cmd[9]: synaptic
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
brute force GNOME_SUDO_PASS ended...
No password prompt found; we'll assume we don't need a password.
Calling pass_not_needed window...
xauth: /tmp/libgksu-uWnKmC/.Xauthority
xauth_env: /home/max/.Xauthority
dir: /tmp/libgksu-uWnKmC
usage: sudo [-HPSb] [-p prompt] [-u username|#uid]
            { -e file [...] | -i | -s | <command> }
sudo: illegal option `-n'
usage: sudo -K | -L | -V | -h | -k | -l | -v


у меня branch t6
$ rpm -qa|grep gksu
libgksu-2.0.12-alt5.M60P.1
gksu-2.0.2-alt3.M60P.1
nautilus-gksu-2.0.2-alt3.M60P.1

$ rpm -qa|grep xdg
python-module-pyxdg-0.19-alt1
xdg-utils-1.1.0-alt5
rpm-build-xdg-0.2-alt1
xdg-user-dirs-0.14-alt1
Comment 9 ReMaks 2012-07-03 11:31:43 MSK
Хотелось бы выяснить, как данную ошибку зафиксить???

они сама никуда не делась,

и у меня воспросизодится ежедневно...
Comment 10 Dmitry Chistikov 2012-08-07 18:31:32 MSK
Во-первых, что говорит
# rpmverify su sudo gksu
?

Во-вторых, воспроизводится ли с чем-нибудь еще, кроме synaptic? Кстати, зачем запускать его с помощью gksu? Файл /usr/bin/synaptic - симлинк на setgid-ный хелпер.

В-третьих, воспроизводится ли от свежесозданного пользователя?

Ну и если это все мимо, то нужно, наверное, strace(1)-ом его... если получится (все-таки какой-то set*-бит там быть должен).
Comment 11 ReMaks 2012-08-07 18:44:57 MSK
(В ответ на комментарий №10)
> Во-первых, что говорит
> # rpmverify su sudo gksu
> ?

$ rpmverify su sudo gksu
..?.....   /bin/su
..?..... c /etc/pam.d/sudo
S.?....T c /etc/sudoers
.M?...G.   /usr/bin/sudo


> Во-вторых, воспроизводится ли с чем-нибудь еще, кроме synaptic? Кстати, зачем
> запускать его с помощью gksu? Файл /usr/bin/synaptic - симлинк на setgid-ный
> хелпер.

это поведение не зависит от запускаемого приложения, что синаптик, что тунар, что 
$ gksu gedit
usage: sudo [-HPSb] [-p prompt] [-u username|#uid]
            { -e file [...] | -i | -s | <command> }
sudo: illegal option `-n'
usage: sudo -K | -L | -V | -h | -k | -l | -v



> 
> В-третьих, воспроизводится ли от свежесозданного пользователя?

на свежеустановленной машинке, с обнослениями... поведение аналогично.

> 
> Ну и если это все мимо, то нужно, наверное, strace(1)-ом его... если получится
> (все-таки какой-то set*-бит там быть должен).

логи стрейса есть выше...
могу продублировать снова
Comment 12 Dmitry Chistikov 2012-08-07 19:16:25 MSK
(In reply to comment #11)
> $ rpmverify su sudo gksu

Не $, а #.

> логи стрейса есть выше...

Невооруженным глазом не видно. Давайте телескоп?
Comment 13 ReMaks 2012-08-07 19:24:08 MSK
(В ответ на комментарий №12)
> (In reply to comment #11)
> > $ rpmverify su sudo gksu
> 
> Не $, а #.
> 

$ sudo rpmverify su sudo gksu
[sudo] password for max:
S.5....T c /etc/sudoers
.M....G.   /usr/bin/sudo


> > логи стрейса есть выше...
> 
> Невооруженным глазом не видно. Давайте телескоп?

в приложенном файле...
Comment 14 ReMaks 2012-08-07 19:25:19 MSK
Created attachment 5531 [details]
лог strace

$ strace -o ./gksu gksu gedit
Comment 15 Dmitry Chistikov 2012-08-07 20:02:12 MSK
Created attachment 5532 [details]
Patch for libgksu

Мда, надо было сразу в код глядеть, а не strace просить...

Видимо, дело в libgksu, в libgksu/libgksu.c:

2568   /* Make sudo noninteractive (we should already have a token) */
2569   cmd[argcount] = g_strdup("-n");
2570   argcount++;

Прикладываю патч (для libgksu), выкидывающий эти строки. Результат не проверял, попробуйте пересобрать и протестировать.

Почему у всех остальных работает, а у Вас нет - не знаю. Сверяйте rpmverify libgksu, ldd `which gksu`, не знаю даже что еще. Если патч поможет, перевешивайте баг на библиотеку.
Comment 16 Dmitry Chistikov 2012-08-07 20:23:03 MSK
Небольшое пояснение: если верить sudo --help и sudo(1), то этого ключа у нас просто нет.

The -n (non-interactive) option prevents sudo from
prompting the user for a password.  If a password is
required for the command to run, sudo will display an error
messages and exit.
Comment 17 Speccyfighter 2012-08-09 19:05:29 MSK
Не воспроизводится:

$ cat /etc/altlinux-release 
Simply Linux 6.0.1  (Flounder)

$ apt-repo 
rpm [p6] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/p6/branch i586 classic
rpm [p6] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/p6/branch noarch classic

# apt-get update && apt-get dist-upgrade
...
0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.

$ gksu thunar
$

$ gksu synaptic
$

$ rpmquery su sudo gksu
su-0.60-alt29
sudo-1.6.8p12-alt8
gksu-2.0.2-alt3.M60P.1

$ rpm -qa|grep gksu
gksu-2.0.2-alt3.M60P.1
libgksu-2.0.12-alt5.M60P.1

$ rpm -qa|grep xdg
xdg-user-dirs-0.14-alt1
rpm-build-xdg-0.2-alt1
xdg-utils-1.1.0-alt5
python-module-pyxdg-0.19-alt1

# grep '^[^#]' /etc/sudoers
User_Alias WHEEL_USERS = %wheel
User_Alias XGRP_USERS = %xgrp
Defaults:WHEEL_USERS !env_reset
Defaults:XGRP_USERS env_keep += "DISPLAY XAUTHORITY"
%wheel ALL=(ALL) ALL

$ less /usr/share/doc/sudo-1.6.8p12/rpminst.sudoers

В kdesktop/p6:
# control sudoers status
strict

В Simply/p6:
# control sudoers status
relaxed

$ cat ~/.local/share/applications/gksu-properties.desktop |grep Star
StartupNotify=true
http://developer.gnome.org/integration-guide/stable/startup-notification.html.en

$ gksu -uroot -d  -w synaptic
xauth: -448f25d4ad0c0e0a42ce5f7e3912c312
-
display: -:0.0-
final xauth: -448f25d4ad0c0e0a42ce5f7e3912c312
-
final display: -:0.0-
STARTUP_ID: gksu/synaptic/16778-0-asus-c2d.localdomain_TIME0
gksu_context_run: buf: -Password: -
no password on keyring
DEBUG (run:after-pass) buf: -Password: -
-EBUG (run:post-after-pass) buf: -
-EBUG (run:post-after-pass) buf: -gksu: waiting
-EBUG (gksu: waiting) buf: -gksu: waiting

$ gksu -uroot -d   synaptic
xauth: -448f25d4ad0c0e0a42ce5f7e3912c312
-
display: -:0.0-
final xauth: -448f25d4ad0c0e0a42ce5f7e3912c312
-
final display: -:0.0-
STARTUP_ID: gksu/synaptic/16836-0-asus-c2d.localdomain_TIME0
gksu_context_run: buf: -Password: -
no password on keyring
DEBUG (run:after-pass) buf: -Password: -
-EBUG (run:post-after-pass) buf: -
-EBUG (run:post-after-pass) buf: -gksu: waiting
-EBUG (gksu: waiting) buf: -gksu: waiting
Comment 18 ReMaks 2012-08-11 00:42:32 MSK
(В ответ на комментарий №17)
> Не воспроизводится:
> 
> $ cat /etc/altlinux-release 
> Simply Linux 6.0.1  (Flounder)
> 
> $ apt-repo 
> rpm [p6] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/p6/branch i586
> classic
> rpm [p6] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/p6/branch noarch
> classic
> 
> # apt-get update && apt-get dist-upgrade
> ...
> 0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 0 не будет
> обновлено.
> 
> $ gksu thunar
> $
> 
> $ gksu synaptic
> $
> 
> $ rpmquery su sudo gksu
> su-0.60-alt29
> sudo-1.6.8p12-alt8
> gksu-2.0.2-alt3.M60P.1
> 
> $ rpm -qa|grep gksu
> gksu-2.0.2-alt3.M60P.1
> libgksu-2.0.12-alt5.M60P.1
> 
> $ rpm -qa|grep xdg
> xdg-user-dirs-0.14-alt1
> rpm-build-xdg-0.2-alt1
> xdg-utils-1.1.0-alt5
> python-module-pyxdg-0.19-alt1
> 
> # grep '^[^#]' /etc/sudoers
> User_Alias WHEEL_USERS = %wheel
> User_Alias XGRP_USERS = %xgrp
> Defaults:WHEEL_USERS !env_reset
> Defaults:XGRP_USERS env_keep += "DISPLAY XAUTHORITY"
> %wheel ALL=(ALL) ALL
> 
> $ less /usr/share/doc/sudo-1.6.8p12/rpminst.sudoers
> 
> В kdesktop/p6:
> # control sudoers status
> strict
> 
> В Simply/p6:
> # control sudoers status
> relaxed
> 
> $ cat ~/.local/share/applications/gksu-properties.desktop |grep Star
> StartupNotify=true
> http://developer.gnome.org/integration-guide/stable/startup-notification.html.en
> 
> $ gksu -uroot -d  -w synaptic
> xauth: -448f25d4ad0c0e0a42ce5f7e3912c312
> -
> display: -:0.0-
> final xauth: -448f25d4ad0c0e0a42ce5f7e3912c312
> -
> final display: -:0.0-
> STARTUP_ID: gksu/synaptic/16778-0-asus-c2d.localdomain_TIME0
> gksu_context_run: buf: -Password: -
> no password on keyring
> DEBUG (run:after-pass) buf: -Password: -
> -EBUG (run:post-after-pass) buf: -
> -EBUG (run:post-after-pass) buf: -gksu: waiting
> -EBUG (gksu: waiting) buf: -gksu: waiting
> 
> $ gksu -uroot -d   synaptic
> xauth: -448f25d4ad0c0e0a42ce5f7e3912c312
> -
> display: -:0.0-
> final xauth: -448f25d4ad0c0e0a42ce5f7e3912c312
> -
> final display: -:0.0-
> STARTUP_ID: gksu/synaptic/16836-0-asus-c2d.localdomain_TIME0
> gksu_context_run: buf: -Password: -
> no password on keyring
> DEBUG (run:after-pass) buf: -Password: -
> -EBUG (run:post-after-pass) buf: -
> -EBUG (run:post-after-pass) buf: -gksu: waiting
> -EBUG (gksu: waiting) buf: -gksu: waiting

за исключением того что у меня t6 бранч... все сходится,
вот только поведение как описано в самом начале
Comment 19 ReMaks 2012-08-11 00:43:28 MSK
(В ответ на комментарий №15)
> Created an attachment (id=5532) [details]
> Patch for libgksu
> 
> Мда, надо было сразу в код глядеть, а не strace просить...
> 
> Видимо, дело в libgksu, в libgksu/libgksu.c:
> 
> 2568   /* Make sudo noninteractive (we should already have a token) */
> 2569   cmd[argcount] = g_strdup("-n");
> 2570   argcount++;
> 
> Прикладываю патч (для libgksu), выкидывающий эти строки. Результат не проверял,
> попробуйте пересобрать и протестировать.
> 
> Почему у всех остальных работает, а у Вас нет - не знаю. Сверяйте rpmverify
> libgksu, ldd `which gksu`, не знаю даже что еще. Если патч поможет,
> перевешивайте баг на библиотеку.

не уверен что в ближайшее время смогу справиться с пересборкой...
навыки давно растерял
Comment 20 Dmitry Chistikov 2012-08-11 09:20:34 MSK
У меня тут t6, так что лучше попросить ответственного. cas@?
Comment 21 ReMaks 2012-08-11 12:48:50 MSK
(В ответ на комментарий №20)
> У меня тут t6, так что лучше попросить ответственного. cas@?

у меня тоже t6,
вот показыают что на p6 типа работает...
Comment 22 Speccyfighter 2012-08-11 17:23:57 MSK
(В ответ на комментарий №8)
Собственные соображения (Мож как-то можно обойти проблему?).

Это ключевое (ощущение такое, что в строке при выполнении стоял ключ -S, но в строке он не указан):
> (в режиме sudo, программа НЕ запустилась)
> $ gksu -uroot -d   synaptic
> No ask_pass set, using default!
> ...
> cmd[0]: /usr/bin/sudo
> ...
> No password prompt found; we'll assume we don't need a password.
> ...

В контексте sudo, попытка получения прав root при попытке запуска от пользователя root достаточно бессмысленна, и попытка выполнения строки

$ gksu -uroot -d -S synaptic

приведёт к ошибке и на p6 (подтверждаю, ошибка при выполнении некорректного действия есть, при отсутствии защиты "от дурака"). Здесь ключ -S - force sudo.
Как и:

$ gksudo -u root -S synaptic
usage: sudo [-HPSb] [-p prompt] [-u username|#uid]
            { -e file [...] | -i | -s | <command> }
sudo: illegal option `-n'
usage: sudo -K | -L | -V | -h | -k | -l | -v

с последующим выводом в окне:

Предоставление прав без запроса пароля
Программа «synaptic» запущена с правами пользователя root без запроса пароля согласно настройкам аутентификации в системе.
Это возможно, если вам разрешено запускать конкретные программы с правами пользователя root без необходимости ввода пароля или из-за того, что пароль кэшируется.
Это не сообщение о проблеме, а просто уведомление, чтобы вы знали об этом.


Аналогично как и:

$ gksudo -u root -d synaptic
No ask_pass set, using default!
xauth: /tmp/libgksu-RnrS2J/.Xauthority
STARTUP_ID: gksudo/synaptic/19498-0-asus-c2d.localdomain_TIME0
cmd[0]: /usr/bin/sudo
cmd[1]: -H
cmd[2]: -S
cmd[3]: -n
cmd[4]: -p
cmd[5]: GNOME_SUDO_PASS
cmd[6]: -u
cmd[7]: root
cmd[8]: --
cmd[9]: synaptic
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
brute force GNOME_SUDO_PASS ended...
No password prompt found; we'll assume we don't need a password.
Calling pass_not_needed window...
xauth: /tmp/libgksu-RnrS2J/.Xauthority
xauth_env: /home/user/.Xauthority
dir: /tmp/libgksu-RnrS2J
usage: sudo [-HPSb] [-p prompt] [-u username|#uid]
            { -e file [...] | -i | -s | <command> }
sudo: illegal option `-n'
usage: sudo -K | -L | -V | -h | -k | -l | -v


Попробуйте:

# cat /etc/group | grep wheel

$ gksu -u user synaptic
$ gksu -u user -S synaptic
$ gksudo -u user synaptic
$ gksudo -u user -w synaptic

-u user
- пользователь зарегистрированный в системе и находящийся в группе wheel.

Выполнялось при:

# grep '^[^#]' /etc/sudoers
User_Alias WHEEL_USERS = %wheel
User_Alias XGRP_USERS = %xgrp
Defaults:WHEEL_USERS !env_reset
Defaults:XGRP_USERS env_keep += "DISPLAY XAUTHORITY"
%wheel ALL=(ALL) ALL

Simply/p6:
# control sudoers status
relaxed

При этих условиях ошибок на p6 нет.
Comment 23 Speccyfighter 2012-08-11 17:58:52 MSK
(В ответ на комментарий №22)

Вдогонку.
Для строки:

$ gksu -uroot -d -S synaptic

Запрос административного пароля с вводом пароля root:

No ask_pass set, using default!
xauth: /tmp/libgksu-wvUffz/.Xauthority
STARTUP_ID: gksu/synaptic/20274-0-asus-c2d.localdomain_TIME0
cmd[0]: /usr/bin/sudo
cmd[1]: -H
cmd[2]: -S
cmd[3]: -n
cmd[4]: -p
cmd[5]: GNOME_SUDO_PASS
cmd[6]: -u
cmd[7]: root
cmd[8]: --
cmd[9]: synaptic
buffer: -GNOME_SUDO_PASS-
brute force GNOME_SUDO_PASS ended...
Yeah, we're in...
(ожидание ввода)

Повторный запрос с сообщением 'пароль неверный' с ожиданием и вводом пароля пользователя wheel для которого открыта сессия в терминале:
xauth: /tmp/libgksu-wvUffz/.Xauthority
xauth_env: /home/user/.Xauthority
dir: /tmp/libgksu-wvUffz
usage: sudo [-HPSb] [-p prompt] [-u username|#uid]
            { -e file [...] | -i | -s | <command> }
sudo: illegal option `-n'
usage: sudo -K | -L | -V | -h | -k | -l | -v
No ask_pass set, using default!
xauth: /tmp/libgksu-POSuCb/.Xauthority
cmd[0]: /usr/bin/sudo
cmd[1]: -H
cmd[2]: -S
cmd[3]: -n
cmd[4]: -p
cmd[5]: GNOME_SUDO_PASS
cmd[6]: -u
cmd[7]: root
cmd[8]: --
cmd[9]: synaptic
buffer: -GNOME_SUDO_PASS-
brute force GNOME_SUDO_PASS ended...
Yeah, we're in...
xauth: /tmp/libgksu-POSuCb/.Xauthority
xauth_env: /home/user/.Xauthority
dir: /tmp/libgksu-POSuCb
usage: sudo [-HPSb] [-p prompt] [-u username|#uid]
            { -e file [...] | -i | -s | <command> }
sudo: illegal option `-n'
usage: sudo -K | -L | -V | -h | -k | -l | -v


При повторной попытке:

$ gksu -uroot -d -S synaptic
No ask_pass set, using default!
xauth: /tmp/libgksu-laGhxb/.Xauthority
STARTUP_ID: gksu/synaptic/20809-0-asus-c2d.localdomain_TIME0
cmd[0]: /usr/bin/sudo
cmd[1]: -H
cmd[2]: -S
cmd[3]: -n
cmd[4]: -p
cmd[5]: GNOME_SUDO_PASS
cmd[6]: -u
cmd[7]: root
cmd[8]: --
cmd[9]: synaptic
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
buffer: --
brute force GNOME_SUDO_PASS ended...
No password prompt found; we'll assume we don't need a password.
Calling pass_not_needed window...
xauth: /tmp/libgksu-laGhxb/.Xauthority
xauth_env: /home/user/.Xauthority
dir: /tmp/libgksu-laGhxb
usage: sudo [-HPSb] [-p prompt] [-u username|#uid]
            { -e file [...] | -i | -s | <command> }
sudo: illegal option `-n'
usage: sudo -K | -L | -V | -h | -k | -l | -v


С сообщением:

Предоставление прав без запроса пароля

Программа «synaptic» запущена с правами пользователя root без запроса пароля согласно настройкам аутентификации в системе.

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

Это не сообщение о проблеме, а просто уведомление, чтобы вы знали об этом.


Но ошибок не будет при:

# gksu -uroot -d -S synaptic


Вывод:
Необходимо правильное задание команды, опций.
Защита "от дурака" отсутствует.

ЗЫж
Это не оскорбление - это древний термин.
:)
Comment 24 Speccyfighter 2012-08-11 18:39:54 MSK
(В ответ на комментарий №23)

> Вдогонку.

$ gksu -u user2 synaptic

Тоже не должно давать ошибок.

Но строка

$ gksu -u user2 -S synaptic
usage: sudo [-HPSb] [-p prompt] [-u username|#uid]
            { -e file [...] | -i | -s | <command> }
sudo: illegal option `-n'
usage: sudo -K | -L | -V | -h | -k | -l | -v

как бы намекает: 'usage' - используйте.
Comment 25 Dmitry Chistikov 2012-08-11 19:31:33 MSK
(В ответ на комментарий №21)
> у меня тоже t6,

i586? Если хотите, могу пересобрать в локальном хэшере и прислать rpm-пакет. Только вот доказать, что этот пакет будет содержать то, что я утверждаю, наверное, не получится, потому как Вы меня не знаете и я не член Team... Организационно более простой вариант - чтобы кто-нибудь собрал в test-only task.

(В ответ на комментарий №24)
> как бы намекает: 'usage' - используйте.

Ничего не понимаю. В исходном тексте библиотеки на языке Си написано, мол, добавить -n. Наш sudo такого ключа не знает. Что Вы хотите доказать?

P.S. Конечно, если прикладывать этот патч "насовсем", то неплохо бы уточнить у сопровождающего sudo, не появится ли там когда-нибудь поддержка этого ключа. Семантически, насколько я понимаю, он там совсем не лишний (и сейчас, судя по коду, запрос пароля ловится по таймауту - хотя совсем внимательно не разбирал, могло показаться).
Comment 26 Speccyfighter 2012-08-11 22:16:33 MSK
(В ответ на комментарий №25)
> Что Вы хотите доказать?

Да ничего не хочу.

Ключ -n это понижение прав доступа и равносильно

%wheel ALL=(ALL) NOPASSWD: ALL

При взломе аккаунта очень полезная вещь.

К тому же

If a password is required for the command to run, sudo will display an error messages and exit.

Ну-у, может  и неправ...
Comment 27 Dmitry Chistikov 2012-08-12 10:27:16 MSK
(In reply to comment #26)
> Ключ -n это понижение прав доступа и равносильно
> 
> %wheel ALL=(ALL) NOPASSWD: ALL

Да нет же. Это для всяких неинтерактивных сценариев нужно: если вдруг понадобится пароль, то считать, что ввести его некому (или что он введен неправильно).
Comment 28 Dmitry Chistikov 2012-08-12 10:31:07 MSK
...в противном случае любой sudo, умеющий -n, был бы просто дырой.
Comment 29 Антон Мидюков 2015-04-05 15:26:16 MSK
Created attachment 6264 [details]
Поправленный патч

Пакет с предлагаемым патчем не собирался, так что сделал патч заново. Патч рабочий. gksudo заработало.
Comment 30 Repository Robot 2015-04-06 11:25:33 MSK
libgksu-2.0.12-alt8 -> sisyphus:

* Mon Apr 06 2015 Yuri N. Sedunov <aris@altlinux> 2.0.12-alt8
- applied %name-2.0.12-alt-drop-n.patch (ALT #27073)
Comment 31 Антон Мидюков 2015-04-07 07:08:44 MSK
(В ответ на комментарий №30)
> libgksu-2.0.12-alt8 -> sisyphus:
> 
> * Mon Apr 06 2015 Yuri N. Sedunov <aris@altlinux> 2.0.12-alt8
> - applied %name-2.0.12-alt-drop-n.patch (ALT #27073)

Полностью данный патч проблему не решает. Gksudo работает только если запускаешь из терминала, в котором когда-либо хоть раз делалось sudo, иначе пишет:
GNOME_SUDO_PASS
Ну и без терминала само собой не работает. Извиняюсь, что сразу нормально не проверил.