9에서 12.04.1로 업그레이드 한 후 Sudo를 중단했습니다.


11

현재 sudo비밀번호를 묻는 메시지가 표시되지만 그 이후에는 아무 일도 일어나지 않습니다. 어떤 종류의 오류도 없습니다.

sudoers 파일을 확인한 후 visudo 구문 검사를 통과했습니다. 설정은 다음과 같습니다.

#
# 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

파일 권한이 0440입니다. 본인 sudoadmin그룹 에 본인을 추가했습니다 .

Sudo를 사용하려고 할 때의 모습은 다음과 같습니다.

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

보시다시피, 전혀 오류가 없습니다. 프롬프트로 돌아갑니다.

파일 권한은 다음과 같습니다

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

sudoers.d

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

다음은 idSudo가 작동하도록하려는 사용자 중 하나의 결과입니다 .

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

업그레이드를 수행 한 방법

do-release-upgrade -dSSH 를 통해 업그레이드를 수행 했지만 복도를 통해 물리적으로 액세스 할 수있었습니다.

/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

디렉토리 : /etc/apt/sources.list.d비어 있습니다.

lsb_release -a 이다

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

apt-cache policy sudo 입니다 :

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 이다

sudo is /usr/bin/sudo

sha256sum $(which sudo) 이다

0efd358e04ea07dc73b67642d9bb85f49143c65996a7c88a57b42557a0b0a50d /usr/bin/sudo

pkexec echo success 이것을했다 :

==== 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

대부분 무고한 사람들을 보호하기 위해 이름이 변경되었습니다. 어떤 이유로 두 번 나타납니다. 그러나 다른 동료 중 누구도 Sudo (어쨌든 사전 업그레이드 할 수있는)를 사용할 수 없습니다.

다음은 몇 가지 추가 명령의 출력입니다.

sudoers 파일을 visudo하고 kml ALL=(ALL:ALL) ALL루트 행에 추가

sudo -i echo success 이전과 동일하게 아무것도 반환하지 않았습니다.

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

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

Sudo를 다시 설치하는 방법

나는 이것을 두 번 달성했다.

내가 처음 뛰었을 때- apt-get install --reinstall sudo루트에서

그것은 거의 달성하지 못했기 때문에 먼저 apt-get uninstall sudo다음을 통해 제거 했습니다. apt-get install sudo

추가 정보 수정, 다시 시작

sudo비밀번호 인증 후 자동으로 돌아가고 다시 묻지 않습니다. sudo -k그리고 sudo -K 또한 자동으로 실패 내가 루트로, 그것은 정상적인 계정에 암호를 입력하라는 메시지가 기록되었다.

더 많은 정보 2

나는 달렸다 tail -f /var/log/auth.log

다음은 sudo lskml 계정에서 얻은 결과입니다.

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

잘못된 비밀번호를 시도하면 새 비밀번호를 입력하라는 메시지가 표시되고

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는 여전히 작동하지 않습니다. 출력은 다음과 같습니다

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) ...

편집 4

sha256sum /usr/lib/sudo/sudoers.so /usr/lib/sudo/sudo_noexec.so 결과

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

다른 사용자로서의 Sudo (루트로 실행)

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

편집 5

엘리야 케이건에서 제공하는 스크립트를 사용하여 여기에 내가 중복 그룹 & ID의 검사. 모든 차이가 공백으로 나타납니다.

편집 6

strace echo success 여기

편집 7

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

편집 8

이것은 흥미로운 것처럼 보입니다. 이것은 sudo가 작동하는 서버와 다릅니다

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#

그게 루트 야

나처럼 (뿌리가 아님)

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:~$

감사합니다,

나는 현재 아이디어가 신선합니다.


1
@kevingreen 죄송합니다. 댓글을 수정하는 중입니다! 이 사이트는 토론 및 장기 실행 시행 착오에 적합하지 않으므로 채팅에서 계속해야 할 수도 있습니다.
gertvdijk

그것은 서버 여야하지만 원래는 GUI와 함께 설치되었을 것입니다. 우리 관리자 중 한 명이 GUI를 좋아합니다.
kevingreen

@EliahKagan가 더 많은 정보를 추가했습니다.
kevingreen

좋아, 나는 이것을 올바르게 이해했으면 좋겠다. 내가 할 경우 sudo -u kml echo success루트가 아닌 사용자로부터 아무 일도 발생하지 않습니다. 내가 할 경우 sudo -k echo success내가 암호를 입력하라는 메시지가 얻을 후 아무 반응이 없습니다.
kevingreen

1
안녕. 모든 새로운 정보로 질문을 계속 업데이트하십시오. 그러나 채팅을 사용하는 것이 좋습니다. 동의하면 이 대화방에 참여하십시오 . (다른 사람 흥미도, 성적 증명서에 미국과 / 또는 모양을 가입 할 수 있습니다.)
엘리야 케이건에게

답변:


4

이것은 기후 방지였습니다 ...

sudoers 파일에서 한 줄을 변경하여 문제를 해결할 수있었습니다.

나는이 줄을 바꿨다

Defaults        env_reset

그리고 나는 그것을 바꿨다.

Defaults        !env_reset

sudo -E가 작동하고 있음을 알았 기 때문입니다. 그래서 몇 가지 연구를해서 sudo가 환경 변수를 지우는 것을 막는 방법을 찾았습니다. 지금까지는 해결 된 것 같습니다. 내가해야 할 일은 어떤 환경 변수를 유지 해야하는지 알아 내고 env_keep + =

여러분의 도움과 지원을 위해 계속 업데이트하겠습니다. 누군가 내게 sudo -E를 제안했는지 확실하지 않은 경우, 그 사람에게 현상금을 수여합니다.

ed1

따라서! env_reset으로 보안 문제가 발생했을 수 있습니다. 계속 업데이트하겠습니다.


0

관리자 그룹에 있는지 확인하십시오.

Linux CD를 사용하여 복구 부팅을 부팅하고 문제를 해결할 수도 있습니다.

sudoers 파일을 수정할 때 항상 visudo를 사용해야합니다. visudo는 저장하기 전에 sudo 파일의 구문을 검사하여이 특정 문제로부터 보호합니다 (하지만 sudo를 실행할 수없는 sudoers 파일을 작성하지 마십시오!)

sudoers는 일반적으로 우분투에서 루트로도 쓸 수 없도록 설정되어 있습니다.

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

파일 보호 또는 sudoers 파일의 소유권이 더 이상 올바르지 않습니다. 파일은 사용자가 소유해야합니다. root 및 group : 루트 및 파일 보호는 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/*

파일은 사용자 루트 및 그룹 루트에 대해서만 읽을 수 있어야하며, 누구에게도 더 이상 읽을 수 없습니다. 디렉토리는 모든 사람과 그룹 루트에 대해 rx 여야하지만 사용자 루트 만이 디렉토리에 대한 쓰기 권한을 갖습니다.


여기에 권한이 있습니다 -r--r----- 1 root root 723 Feb 1 10:10 sudoers
kevingreen

확실히 Sudo and Admin 그룹에 속해 있으며 이미 확인했습니다.
kevingreen

1
의 출력 id등은 현재 업데이트 해당 프로그램에 사용자는 의 부재 admin, admsudo기. 구문은 sudoers 파일에 적합하며 12.04 시스템에있는 것과 동일합니다.
gertvdijk

1
@hhlp 이것들은 sudo일반적으로 문제에 대한 좋은 문제 해결 제안이며 모두 여기서 시도해 볼 가치가 있습니다. 사용자가 사용하는 데 필요한 그룹에없는 경우에는, sudo또는 경우 sudo또는 모든 해당 파일의 잘못된 소유권 또는 권한을 가지고, 그것은 자동으로 실패하지 않는다 (같은 여기 일이).
Eliah Kagan 2013

1
고의적으로 sudoers 파일을 엉망으로 만든 다음 어떻게 될지 확인하려고 시도했습니다. 시끄럽게 실패했고 구문 오류가 있다고 말했습니다. 나는 그것을 복원하고 조용히 실패로 돌아갔다. sudo / admin없이 잘못된 그룹에 사용자를 만들면 크게 실패합니다.
kevingreen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.