Ich habe Sudo nach einem Upgrade von 9 auf 12.04.1 gebrochen


11

Derzeit sudowird nach einem Passwort gefragt, aber danach passiert absolut nichts mehr. Keine Fehler jeglicher Art.

Ich habe die sudoers-Datei überprüft, sie hat die Visudo-Syntaxprüfung bestanden. Hier ist das Setup:

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Die Datei hat 0440 als Berechtigung. Ich habe mich der Gruppe sudound hinzugefügt admin.

So sieht es aus, wenn ich versuche, Sudo zu verwenden:

kml@rhythmsdev:/etc$ sudo apt-get update
kml@rhythmsdev:/etc$ 

Wie Sie sehen, überhaupt kein Fehler. Es kehrt einfach zur Eingabeaufforderung zurück.

Hier sind die Dateiberechtigungen

-r--r----- 1 root root 723 Feb 1 10:10 sudoers

sudoers.d

drwxr-xr-x 2 root root 4096 Feb 4 16:46 .

Hier ist die Ausgabe ideines der Benutzer, unter denen ich Sudo zum Arbeiten bringen möchte:

uid=1010(kml) gid=102(develop) groups=102(develop),4(adm),27(sudo),106(admin),110(ftp)

Wie ich das Upgrade durchgeführt habe.

Ich habe das Upgrade do-release-upgrade -düber SSH durchgeführt, aber mit physischem Zugang über eine Fahrt durch den Flur.

Hier ist der Inhalt der /etc/sources.list

    #
# deb cdrom:[Ubuntu-Server 10.04 LTS _Lucid Lynx_ - Release i386 (20100427)]/ lucid main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.

deb http://us.archive.ubuntu.com/ubuntu/ precise main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ precise main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://us.archive.ubuntu.com/ubuntu/ precise-updates main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://us.archive.ubuntu.com/ubuntu/ precise universe
deb-src http://us.archive.ubuntu.com/ubuntu/ precise universe
deb http://us.archive.ubuntu.com/ubuntu/ precise-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://us.archive.ubuntu.com/ubuntu/ precise multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ precise multiverse
deb http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://us.archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
# deb-src http://us.archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu lucid partner
# deb-src http://archive.canonical.com/ubuntu lucid partner

deb http://security.ubuntu.com/ubuntu precise-security main restricted
deb-src http://security.ubuntu.com/ubuntu precise-security main restricted
deb http://security.ubuntu.com/ubuntu precise-security universe
deb-src http://security.ubuntu.com/ubuntu precise-security universe
deb http://security.ubuntu.com/ubuntu precise-security multiverse
deb-src http://security.ubuntu.com/ubuntu precise-security multiverse
# deb http://security.ubuntu.com/ubuntu maverick-security main universe

Verzeichnis: /etc/apt/sources.list.dist leer.

lsb_release -a ist

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.1 LTS
Release:        12.04
Codename:       precise

apt-cache policy sudo ist:

sudo:
  Installed: 1.8.3p1-1ubuntu3.3
  Candidate: 1.8.3p1-1ubuntu3.3
  Version table:
 *** 1.8.3p1-1ubuntu3.3 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main i386 Packages
        100 /var/lib/dpkg/status
     1.8.3p1-1ubuntu3.2 0
        500 http://security.ubuntu.com/ubuntu/ precise-security/main i386 Packages
     1.8.3p1-1ubuntu3 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise/main i386 Packages

type -a sudo ist

sudo is /usr/bin/sudo

sha256sum $(which sudo) ist

0efd358e04ea07dc73b67642d9bb85f49143c65996a7c88a57b42557a0b0a50d /usr/bin/sudo

pkexec echo success Tat dies:

==== AUTHENTICATING FOR org.freedesktop.policykit.exec ===
Authentication is needed to run `/bin/echo' as the super user
Multiple identities can be used for authentication:
 1.  My Name,,, (me)
 2.  ,Account used for Git,, (git)
 3.  Coworker1,,, (cw1)
 4.  Coworker2,,, (cw2)
 5.  Coworker3,,, (cw3)
 6.  My Name,,, (me)
 7.  Coworker4,,, (cw4)
 8.  Coworker5,,, (cw5)
 9.  ,Account used for Git,, (git)
Choose identity to authenticate as (1-9): 1
Password:
==== AUTHENTICATION COMPLETE ===
success

Die Namen wurden geändert, um die meist Unschuldigen zu schützen. Ich tauche aus irgendeinem Grund zweimal auf. Aber auch keiner der anderen Mitarbeiter kann Sudo verwenden (diejenigen, die sowieso vorab upgraden könnten).

Hier ist die Ausgabe einiger weiterer Befehle.

visudo die sudoers Datei und kml ALL=(ALL:ALL) ALLunter der Stammzeile hinzugefügt

sudo -i echo success gab das gleiche wie zuvor zurück, nichts.

echo foo | sudo tee foo.txt; ls -l foo.txt ergab:

ls: cannot access foo.txt: No such file or directory

Wie ich Sudo neu installiert habe.

Ich habe das zweimal geschafft.

Das erste Mal lief ich - apt-get install --reinstall sudoVon root

Das hat wenig bewirkt, also habe ich zuerst via deinstalliert: apt-get uninstall sudogefolgt von apt-get install sudo

Bearbeiten Sie weitere Informationen, reditied

sudoGibt nach der Kennwortauthentifizierung stumm zurück und fragt nicht erneut. sudo -kund sudo -K schlägt auch stillschweigend fehl Ich wurde als root angemeldet, es fordert zur Eingabe eines Passworts auf einem normalen Konto auf.

Weitere Infos 2

ich rannte tail -f /var/log/auth.log

Hier ist die Ausgabe von meinem sudo lsvon meinem kml-Konto

Feb  6 16:33:27 rhythmsdev sudo: pam_unix(sudo:session): session opened for user root by kml(uid=1010)
Feb  6 16:33:27 rhythmsdev sudo: pam_unix(sudo:session): session closed for user root

Wenn Sie versuchen, ein falsches Kennwort einzugeben, werden Sie aufgefordert, ein neues Kennwort einzugeben, und dies wird protokolliert

Feb 6 16:35:17 rhythmsdev sudo: pam_unix(sudo:auth): authentication failure; logname=kml uid=1010 euid=0 tty=/dev/pts/0 ruser=kml rhost= user=kml

ed3

sudo apt-get clean && sudo apt-get update && sudo apt-get --purge --reinstall install sudo

Sudo funktioniert immer noch nicht. Hier war die Ausgabe

apt-get install --purge --reinstall sudo
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  mono-2.0-gac libxcb-aux0 python-fstab libgnomekbd4 libts-0.0-0 libwpd8c2a libcdio10 xsltproc pnm2ppa librpmbuild0 libcolamd2.7.1 lp-solve libglitz-glx1 openoffice.org-writer libntfs10 python-gnome2 libxcb-render-util0 libevent-1.4-2
  gnome-media gnome-desktop-data libgtk-vnc-1.0-0 libgnomepanel2.24-cil xulrunner-1.9.2 libxcb-event1 libindicator0 linux-headers-2.6.32-38 libicu42 openoffice.org-draw libdbusmenu-glib1 ubufox python-aptdaemon-gtk openoffice.org-gtk
  libsilc-1.1-2 libgnome-media0 libbeagle1 g++-4.4 libexchange-storage1.2-3 libgraphite3 libwpg-0.1-1 libibus1 libproxy0 libnm-util1 python-gtksourceview2 libevview2 scrollkeeper libindicate-gtk2 libwebkit-1.0-2
  libmono-system-runtime2.0-cil libpisock9 libdns64 libcamel1.2-14 bcmwl-modaliases librpmio0 librpm0 libgnome2-perl libaccess-bridge-java-jni libstdc++6-4.4-dev libeggdbus-1-0 libnspr4-0d libgtkhtml-editor0 esound-common
  python-pyorbit gdebi-core libnotify1 python-telepathy libedata-cal1.2-6 libaccess-bridge-java libdevkit-power-gobject1 gnome-media-common librasqal2 libpango1.0-common ubuntuone-client-gnome cups-driver-gutenprint libgadu3
  openoffice.org-style-human libmono-cairo2.0-cil libisccc60 cpu-checker libgweather1 python-gtkspell libgnome-bluetooth7 libxxf86misc1 libloudmouth1-0 libsexy2 libxcb-atom1 libido-0.1-0 libgmime2.4-cil compiz-plugins libffi5
  libgnome-pilot2 libdirectfb-1.2-0 openoffice.org-style-galaxy libgssdp-1.0-2 libcryptui0 finger libmusicbrainz4c2a python-pyatspi libgp11-0 libjs-mootools python-webkit libgcr0 libqt4-webkit libcdio-cdda0 libhunspell-1.2-0 liblwres60
  libgmp3c2 libgtksourceview2.0-common openoffice.org-math libhal1 libgtksourceview2.0-0 hal libgnome2-vfs-perl libprotobuf5 libesd0 openoffice.org-common libegroupwise1.2-13 libdbusmenu-gtk1 libgsf-1-common gnome-doc-utils
  libecal1.2-7 at-spi libpoppler5 libgmime-2.4-2 libgdata1.2-1 libedataserver1.2-11 libhal-storage1 libpython2.6 gnome-system-monitor libmldbm-perl libbind9-60 libimobiledevice0 libgtkmm-2.4-1c2a libglitz1 libevdocument2
  libgdata-google1.2-1 libspeechd2 fglrx-modaliases libnunit2.4-cil libclutter-gtk-0.10-0 libebook1.2-9 libmagickcore2 libaudiofile0 libwps-0.1-1 libedataserverui1.2-8 nvidia-173-modaliases libphonon4 libgnome-window-settings1
  libedata-book1.2-2 libgdata6 libxss1 libgs8 openoffice.org-emailmerge libappindicator0 liblpint-bonobo0 ntfsprogs libjpeg62 libgtkhtml-editor-common libqt4-designer libmpfr1ldbl libcdio-paranoia0 libmysqlclient16 libmagickwand2
  libisccfg60 libfreezethaw-perl smartdimmer libgupnp-1.0-3 screen-resolution-extra libnl1 libanthy0 tsconf liboobs-1-4 libgucharmap7 libgksu2-0 libdb4.7 libsilcclient-1.1-3 libindicate4 libndesk-dbus-glib1.0-cil libraptor1 python-wnck
  liboil0.3 libebackend1.2-0 firefox-branding hal-info speech-dispatcher libgnome-desktop-2-17 fuse-utils python-desktopcouch gwibber libisc60 libnice0 linux-headers-2.6.32-38-generic libnautilus-extension1 compiz-fusion-plugins-main
  gnome-applets-data min12xxw libwebkit-1.0-common libavahi-ui0 libprotoc5 nvidia-96-modaliases libavahi-core6 libgupnp-igd-1.0-2 libgnome2-canvas-perl libgtkhtml3.14-19 libgsf-1-114 python-rdflib gnome-panel-data libpoppler-glib4
  libpisync1 libdotconf1.0 python-indicate
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 16 not upgraded.
Need to get 292 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main sudo i386 1.8.3p1-1ubuntu3.3 [292 kB]
Fetched 292 kB in 0s (742 kB/s)
(Reading database ... 310429 files and directories currently installed.)
Preparing to replace sudo 1.8.3p1-1ubuntu3.3 (using .../sudo_1.8.3p1-1ubuntu3.3_i386.deb) ...
Unpacking replacement sudo ...
Processing triggers for ureadahead ...
Processing triggers for man-db ...
Setting up sudo (1.8.3p1-1ubuntu3.3) ...

bearbeiten 4

sha256sum /usr/lib/sudo/sudoers.so /usr/lib/sudo/sudo_noexec.so führt zu

6f2e56e05d9a3de942558255b72d59a147be2c637247e244c365838378fe6ec3  /usr/lib/sudo/sudoers.so
7db6a45129ec1ef6d4cb21d7a488a85f5b45e4d21990116f64c9e71f116648c0  /usr/lib/sudo/sudo_noexec.so

Sudo als anderer Benutzer (lief als root)

root@rhythmsdev:/home/kml# sudo -u kml echo success
root@rhythmsdev:/home/kml#

bearbeiten 5

Mit den von Eliah Kagan hier bereitgestellten Skripten habe ich nach doppelten Gruppen und IDs gesucht. Alle Unterschiede sind leer.

bearbeiten 6

strace echo success Hier

bearbeiten 7

root@rhythmsdev:/home/kml# sudo echo success
root@rhythmsdev:/home/kml# echo $?
1

bearbeiten 8

Dies scheint interessant zu sein, dies unterscheidet sich von einem Server, auf dem sudo funktioniert

root@rhythmsdev:/home/kml# sudo -l
Matching Defaults entries for root on this host:
    env_reset,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User root may run the following commands on this host:
    (ALL : ALL) ALL
    (ALL) ALL
root@rhythmsdev:/home/kml#

Das bin ich als Wurzel

Ich als ich (nicht Wurzel)

kml@rhythmsdev:~$ sudo -l
[sudo] password for kml:
Matching Defaults entries for kml on this host:
    env_reset,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User kml may run the following commands on this host:
    (ALL : ALL) ALL
    (ALL) ALL
    (ALL : ALL) ALL
kml@rhythmsdev:~$

Vielen Dank,

Ich habe im Moment keine Ideen mehr.


1
@kevingreen Sorry, habe noch einen Kommentar bearbeitet! Vielleicht sollten wir dies im Chat fortsetzen, da diese Seite nicht für Diskussionen und langjährige Versuche und Irrtümer geeignet ist.
Gertvdijk

Es sollte ein Server sein, aber ich wette, es wurde ursprünglich mit einer GUI installiert. Einer unserer Administratoren mag GUIs.
Kevingreen

@EliahKagan hat weitere Informationen hinzugefügt.
Kevingreen

Ok, ich hoffe ich habe das richtig verstanden. Wenn ich es sudo -u kml echo successvon einem Nicht-Root-Benutzer mache , passiert nichts. Wenn ich dazu sudo -k echo successaufgefordert werde, ein Passwort einzugeben, passiert nichts.
Kevingreen

1
Hallo. Bitte aktualisieren Sie Ihre Frage weiterhin mit allen neuen Informationen. Aber ich empfehle, dass wir Chat verwenden. Wenn Sie einverstanden sind, besuchen Sie mich bitte in diesem Chatraum . (Alle anderen Interessierten können sich uns anschließen und / oder sich auch das
Protokoll

Antworten:


4

Das war antiklimatisch…

Ich konnte es beheben, indem ich eine Zeile in meiner sudoers-Datei änderte.

Ich habe diese Zeile geändert

Defaults        env_reset

und ich habe es geändert in

Defaults        !env_reset

Dies lag daran, dass ich bemerkte, dass sudo-E funktionierte. Also habe ich einige Nachforschungen angestellt und einen Weg gefunden, um zu verhindern, dass Sudo Ihre Umgebungsvariablen auslöscht. Bisher scheint das behoben zu sein. Was ich tun muss, ist herauszufinden, welche Umgebungsvariable beibehalten werden muss, und ich werde sie mit env_keep + = hinzufügen

Dass Sie alle für Ihre Hilfe und Unterstützung, ich werde dies weiter aktualisieren. Ich bin mir nicht sicher, ob jemand Sudo-E vorgeschlagen hat, bevor ich es weiß, und ich werde das Kopfgeld an diese Person vergeben.

ed1

Daher kann es bei! Env_reset zu Sicherheitsproblemen kommen. Ich werde weiter aktualisieren.


0

Überprüfen Sie, ob Sie zur Administratorgruppe gehören.

Sie können Rescue Boot booten und das Problem auch mit einer Linux-CD beheben.

Sie sollten immer visudo verwenden, wenn Sie die sudoers-Datei ändern. visudo überprüft die Syntax der sudo-Datei vor dem Speichern, um Sie vor diesem speziellen Problem zu schützen (jedoch nicht vor dem Schreiben einer sudoers-Datei, die es Ihnen verbietet, sudo auszuführen!).

Beachten Sie, dass sudoers normalerweise so eingerichtet ist, dass es selbst von root unter Ubuntu nicht beschreibbar ist:

-r--r----- 1 root root 600 2012-06-18 18:00 sudoers

Der Dateischutz oder das Eigentum an der sudoers-Datei ist nicht mehr korrekt. Die Datei muss dem Benutzer gehören: root und group: Der Schutz von root und file sollte sein: 0440 (u = r, g = r, o-rwx) .

chown root:root /etc/sudoers
chmod u=r,g=r,o= /etc/sudoers

chown -R root:root /etc/sudoers.d
chmod u=rwx,g=rx,o=rx /etc/sudoers.d/
chmod u=r,g=r,o= /etc/sudoers.d/*

Die Dateien sollten nur für den Benutzer root und den Gruppenstamm gelesen werden, nicht mehr für irgendjemanden. Das Verzeichnis muss für alle und für den Gruppenstamm rx sein, aber nur der Benutzer root erhält die Schreibberechtigung für das Verzeichnis.


Hier sind die Berechtigungen -r--r----- 1 root root 723 Feb 1 10:10 sudoers
Kevingreen

Ich bin definitiv in der Sudo und Admin Gruppe, das habe ich schon überprüft.
Kevingreen

1
Der Ausgang der idwie jetzt in der aktualisierten Frage zeigt der Benutzer ist Mitglied der admin, admund sudoGruppe. Die Syntax sieht in der sudoers-Datei gut aus und ist identisch mit der auf meinen 12.04-Systemen.
Gertvdijk

1
@hhlp Dies sind alles gute Vorschläge zur Fehlerbehebung bei sudoProblemen im Allgemeinen, und alle waren es wert, hier ausprobiert zu werden. Wenn sich der Benutzer jedoch nicht in der zu verwendenden Gruppe sudobefindet oder wenn sudooder eine seiner Dateien den falschen Besitz oder die falschen Berechtigungen hat, schlägt dies nicht stillschweigend fehl (wie hier geschehen).
Eliah Kagan

1
Ich habe die sudoers-Dateien absichtlich durcheinander gebracht und dann versucht, zu sehen, was passieren würde. Es schlug geräuschvoll fehl und sagte mir, dass es einen Syntaxfehler gab. Ich stellte es wieder her und versagte wieder lautlos. Wenn ich einen Benutzer in der falschen Gruppe ohne sudo / admin erstelle, schlägt dies laut fehl.
Kevingreen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.