
KdeSudo
Source (link to git-repo or to original if based on someone elses unmodified work):
KDE's normal KdeSu doesn't deal correctly with sudo, and is only capable of authentication.
It doesn't deal with sudo specific features like NOPASSWD and so on.
KdeSudo acts like a wrapper for sudo commands, and therefore, supports all "sudoers" file options.
It is command line compatible with KdeSu, and can replace it simply with linking /usr/bin/kdesu to /usr/bin/kdesudo (KDE3 version) or ${kde4_path}/lib/kde4/libexec/kdesu to ${kde4_path}/bin/kdesudo
This new bugfix release version contains a fix for Debian/Fedora and any other distro that disabled the security extention for X.org.
For this reason kdesudo only worked on Ubuntu at the moment.
Please report bugs to Launchpad:
https://bugs.launchpad.net/kdesudo/
KdeSudo 3.4.2.3
------------
* Add --desktop cmd line option to manually specify the desktop file used for resolving name and icon
KdeSudo 3.4.2.2
------------
* Fixes LP bug #422919 set bugAddress to lp (suggested by Dario Andres)
KdeSudo 3.4.2.1
------------
* Fixes Debian #525292 for real. Avoids having the token go on clear on the commandline by using QProcess'es with builtin pipe.
KdeSudo 3.4.2
-------------
Fixes LP bugs #281877, #258799
Fixes LP bug #285084 (patch by Florian Reinhard)
Fixes Debian #525292 (patch by Didier 'OdyX' Raboud)
KdeSudo 3.4
-----------
* Fixes a bug causign the app to randomly hang when a bad password was entered.
KdeSudo 3.3.2
-----------
* Added po file for the following locales:
- ar, cs, da, de, el, en_GB, es, et, fa, fi, fr, gl, he, hr, hu, id,
is, it, ja, jv, kk, ko, lt, lv, ms, nb, nl, oc, pl, pt, pt_BR, ro,
ru, sk, sv, tl, tr, uk, zh_CN, zh_TW
- Those do result from an export of Rosetta (Launchpad) and might be
incomplete in some case.
* Reworked the docs, and added manpage in the tarball instead of just
add it through the debian packaging.
KdeSudo 3.3.1
-----------
* POT file added for translation
KdeSudo 3.3
-----------
* Fixes LP bugs #272427, #268092, #267311, #267501
KdeSudo 3.2
-----------
* Merged changes with 2.x branch
KdeSudo 3.1
-----------
* Fixed icon/name checking when starting an application by its full
path
* Fixed icon/name checking when using X-KDE-SubstituteUID
* Deals correctly with antislashed quotes:
- Closes Launchpad #187053
KdeSudo 3.0
-----------
* Initial port to kde4
Ratings & Comments
21 Comments
Hi, So with this I won't need to enter PW all the time, it will save it? When I edit root files using my normal user, I use a small root menu to edit files (rename, copy, move, delete, edit, etc.) and it asks for root PW all the time. With kdesudo it will save the PW and not ask for it? tnx
Hi! I compiled it on Fedora 10, with sudoers already configured, but when I want to run apps: $ kdesudo kate No protocol specified kate: cannot connect to X server :0.0 $ kdesudo dolphin <unknown program name>(16105)/: KUniqueApplication: Cannot find the D-Bus session server <unknown program name>(16104)/: KUniqueApplication: Pipe closed unexpectedly.
One feature request: kdesudo's dialog should have an icon. I find the question-mark icon really irritating. As if the project is incomplete. And maybe add some more descriptive text. It seems too little to me. Of course this is just my opinion. I simply wanted you to know these.
I just tested kdesudo-2.4 and it doesn't crash anymore. But when I wanted to try kdesudo in KDE Control application (kcontrol->System Administration->Login Manager->Administrator Mode) I have got this error: sudo: DCOPSERVER=local/desktop:/tmp/. ICE-unix/dcop27078-1203348104: command not found Do I do something wrong or is still something wrong with kdesudo? With kdesu it works well. PS: I have renamed kdesu to kdesu.orig and I have made symlink from kdesudo to kdesu. PS2: You can add this link (http://bugs.gentoo.org/show_bug.cgi?id=210585) for Gentoo users into Download section. You can call it "Gentoo ebuild".
Please use this link (http://bugs.gentoo.org/show_bug.cgi?id=41963) instead of the previous one.
Interesting... Works for me on ubuntu and debian... It looks like your sudo doesn't accept the "--" tag defining where the command starts... Can you try the following command in the shell ? sudo -S -H MYVAR=test -- env This works for me and I can see MYVAR in the env variables list... I suspect it won't work for you. Also, then can you tell me the version of sudo you are using ? I use 1.6.9p10
Ho and also, can you check if your sudo manpage has that the -- flag described in it ? If not, I suspect only a sudo upgrade on gentoo will make it to work, and then I should document the minimum sudo version required.
My version of sudo is sudo-1.6.8_p12-r1. The command what you sent a while ago have finished with this error: $ sudo -S -H MYVAR=test -- env sudo: MYVAR=test: command not found As I have newer version of sudo than you have, my man pages contain "--" option as well: -- The -- flag indicates that sudo should stop processing command line arguments. It is most useful in conjunction with the -s flag.
I'm sorry, your version of sudo is newer then mine ;o)
Then, this is a bug you should report on gentoo concerning the sudo ebuid... The man page refers that it is possible to define env vars before the -- flag. If it doesn't work, this is a sudo bug... Upgrading to newer sudo will fix the issue !
I have upgraded sudo to version sudo-1.6.9_p12 and I can confirm that "sudo -S -H MYVAR=test -- env" works now well. So you could add restriction for kdesudo to accept just sudo >= 1.6.9_p12? Then I wanted to test it in KDE Control, but it didn't switch me into Administrator Mode. Maybe still something's wrong with kdesudo?
Strace of the action in kcontrol is here: http://linka.ktm.tul.cz/~tyr/kcontrol.log
kcmshell (kdelibs): WARNING: Could not find module 'kdm'. This bug is due to recent version of kde and ksyscoca... It happens randomly on some machines, and I didn't found the solution yet... Still investigating on that point... A few ubuntu users also reported that one, mostly with kde 3.5.8, which I sispect to be the cause of the issue somehow. This is the same bug sometimes causing kcontrol to be empty on some machines, and is probably due an environement variable missing... Can you paste me your "sudo -S -H -- env" result please ? Also, concerning the minimum sudo version required, I really think your previous sudo had a bug in it, and due to the manpage content you reported, I'd say that your version should have worked, despite of the bug... I can't unfortunatelly test all sudo versions to check the minimum required...
The point is that kdesudo uses the root UID to start commands (not the user's profile due to potential profile corruption in gnome and kde config...) Here is the bug I'm talking about : http://forums.gentoo.org/viewtopic-t-549115-highlight-.html?sid=dcdcd79a3f014520122e3063497bb920 or simply search for "kcontrol empty" over google, and you'll see that's a very common problem... For some reason, new users on your machine would get an empty kcontrol list. I'll investigate to override the issue, but the real cause seems to be kde itself...
I can confirm that kdesudo-2.6 works well on Gentoo Linux with sudo-1.6.9_p12.
> - What is the exact command you typed in? $ kdesudo > - Which distribution and version where you using? Gentoo Linux (2007.0), kdesudo-2.3 > - Which version of KDE are you using? KDE 3.5.7 (3.5.8) > - Can you provide a "strace" of the command please? http://linka.ktm.tul.cz/~tyr/kdesudo.txt
The crash was due to double pclose usage... Fixed in version 2.4. Thanks for reporting the issue :)
I tried kdesudo and when I tried to run it from command line, "usage dialog" appeared and then I got following error: *** glibc detected *** kdesudo: malloc(): memory corruption: 0xb6cb9557 *** ======= Backtrace: ========= /lib/libc.so.6[0xb6bf1a20] /lib/libc.so.6[0xb6bf3cf4] /lib/libc.so.6(__libc_malloc+0x7e)[0xb6bf533e] /usr/qt/3/lib/libqt-mt.so.3(_ZN7QGArray9duplicateEPKcj+0xa2)[0xb76fc332] /usr/qt/3/lib/libqt-mt.so.3(_ZN8QCStringC1EPKc+0x60)[0xb76ee8f0] kdesudo(_ZN7QWidget6createEmbb+0x1748)[0x804fdec] [0xbf903e98] ======= Memory map: ======== 08048000-08057000 r-xp 00000000 03:01 13699375 /usr/bin/kdesudo 08057000-08058000 r--p 0000f000 03:01 13699375 /usr/bin/kdesudo 08058000-08059000 rw-p 00010000 03:01 13699375 /usr/bin/kdesudo 08059000-0812b000 rw-p 08059000 00:00 0 [heap] b6700000-b6721000 rw-p b6700000 00:00 0 b6721000-b6800000 ---p b6721000 00:00 0 b6814000-b681c000 r-xp 00000000 03:01 12984894 /lib/libnss_files-2.6.1.so b681c000-b681d000 r--p 00007000 03:01 12984894 /lib/libnss_files-2.6.1.so b681d000-b681e000 rw-p 00008000 03:01 12984894 /lib/libnss_files-2.6.1.so b681e000-b6826000 r-xp 00000000 03:01 12985065 /lib/libnss_nis-2.6.1.so b6826000-b6827000 r--p 00007000 03:01 12985065 /lib/libnss_nis-2.6.1.so b6827000-b6828000 rw-p 00008000 03:01 12985065 /lib/libnss_nis-2.6.1.so b6828000-b683b000 r-xp 00000000 03:01 12984913 /lib/libnsl-2.6.1.so b683b000-b683c000 r--p 00012000 03:01 12984913 /lib/libnsl-2.6.1.so b683c000-b683d000 rw-p 00013000 03:01 12984913 /lib/libnsl-2.6.1.so b683d000-b683f000 rw-p b683d000 00:00 0 b683f000-b6845000 r-xp 00000000 03:01 12985101 /lib/libnss_compat-2.6.1.so b6845000-b6846000 r--p 00005000 03:01 12985101 /lib/libnss_compat-2.6.1.so b6846000-b6847000 rw-p 00006000 03:01 12985101 /lib/libnss_compat-2.6.1.so b6847000-b686e000 rw-p b6847000 00:00 0 b688d000-b68d6000 r--p 00000000 03:01 623768 /usr/share/fonts/MY_TTF/arial.ttf b68d6000-b68f6000 r-xp 00000000 03:01 12812048 /usr/kde/3.5/lib/kde3/plugins/styles/plastik.so b68f6000-b68f7000 r--p 0001f000 03:01 12812048 /usr/kde/3.5/lib/kde3/plugins/styles/plastik.so b68f7000-b68f8000 rw-p 00020000 03:01 12812048 /usr/kde/3.5/lib/kde3/plugins/styles/plastik.so b68f8000-b68fe000 r--s 00000000 03:01 13058289 /var/cache/fontconfig/87f5e051180a7a75f16eb6fe7dbd3749-x86.cache-2 b68fe000-b6900000 r--s 00000000 03:01 13058291 /var/cache/fontconfig/76fa4b957c916922374347f144bde9da-x86.cache-2 b6900000-b690e000 r--s 00000000 03:01 13058290 /var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-x86.cache-2 b690e000-b6921000 r--s 00000000 03:01 13058287 /var/cache/fontconfig/4b5cf4386f1cde02a336ba961b4ac82d-x86.cache-2 b6921000-b6924000 r--s 00000000 03:01 13058285 /var/cache/fontconfig/d62e99ef547d1d24cdb1bd22ec1a2976-x86.cache-2 b6924000-b699a000 r--s 00000000 03:01 13057034 /var/cache/fontconfig/edd5a9d2c484d7ec7821827d1c29b10f-x86.cache-2 b699a000-b69b1000 r--s 00000000 03:01 8206449 /var/cache/fontconfig/594b77d185a18092e967fa9281ff58f6-x86.cache-2 b69b1000-b69d3000 r--s 00000000 03:01 8206395 /var/cache/fontconfig/17090aa38d5c6f09fb8c5c354938f1d7-x86.cache-2 b69d3000-b69f5000 r--s 00000000 03:01 8206386 /var/cache/fontconfig/df311e82a1a24c41a75c2c930223552e-x86.cache-2 b69f5000-b6a6a000 r--s 00000000 03:01 10455624 /home/tyr/.fontconfig/81005e877f53c4abf0f769719e467100-x86.cache-2 b6a6a000-b6aa9000 r--p 00000000 03:01 12786776 /usr/lib/locale/en_US.utf8/LC_CTYPE b6aa9000-b6b89000 r--p 00000000 03:01 12786784 /usr/lib/locale/en_US.utf8/LC_COLLATE b6b89000-b6b8c000 rw-p b6b89000 00:00 0 b6b8c000-b6cb6000 r-xp 00000000 03:01 12984914 /lib/libc-2.6.1.so b6cb6000-b6cb8000 r--p 0012a000 03:01 12984914 /lib/libc-2.6.1.so b6cb8000-b6cb9000 rw-p 0012c000 03:01 12984914 /lib/libc-2.6.1.so b6cb9000-b6cbc000 rw-p b6cb9000 00:00 0 b6cbc000-b6cc6000 r-xp 00000000 03:01 13616266 /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcc_s.so.1 b6cc6000-b6cc7000 r--p 00009000 03:01 13616266 /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcc_s.so.1 b6cc7000-b6cc8000 rw-p 0000a000 03:01 13616266 /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcc_s.so.1 b6cc8000-b6cec000 r-xp 00000000 03:01 12985064 /lib/libm-2.6.1.so b6cec000-b6cKCrash: Application 'kdesudo' crashing...
Can you please provide a few informations on that point, as I can't seem to reproduce : - What is the exact command you typed in ? - Which distribution and version where you using ? - Which version of KDE are you using ? - Can you provide a "strace" of the command please ?
"Ignore" - perhaps means "run without administrative privileges"?
1. Why not use a better window caption, "KdeSudo"? What is that supposed to mean to a non-techie person? Perhaps something like "Administrator Privileges" 2. Whats the purpose of the ignore button? I assume its to be compatible with kdesu - but why not just disable it by default?