Saat ini sudo
akan meminta kata sandi, tetapi sama sekali tidak ada yang terjadi setelah itu. Tidak ada kesalahan dalam bentuk apa pun.
Saya telah memeriksa file sudoers, melewati sintaks visudo, inilah 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
File ini memiliki izin 0440. Saya telah menambahkan diri saya ke sudo
dan admin
grup.
Begini tampilannya ketika saya mencoba menggunakan Sudo:
kml@rhythmsdev:/etc$ sudo apt-get update
kml@rhythmsdev:/etc$
Seperti yang Anda lihat, tidak ada kesalahan sama sekali. Ini hanya kembali ke prompt.
Inilah izin file
-r--r----- 1 root root 723 Feb 1 10:10 sudoers
sudoers.d
drwxr-xr-x 2 root root 4096 Feb 4 16:46 .
Ini adalah output dari id
salah satu Pengguna yang saya coba agar Sudo bekerja di bawah:
uid=1010(kml) gid=102(develop) groups=102(develop),4(adm),27(sudo),106(admin),110(ftp)
Bagaimana saya melakukan peningkatan.
Saya melakukan peningkatan menggunakan do-release-upgrade -d
SSH, tetapi dengan akses fisik mungkin melalui perjalanan menyusuri lorong.
Berikut adalah isi dari /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
Direktori: /etc/apt/sources.list.d
kosong.
lsb_release -a
adalah
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.1 LTS
Release: 12.04
Codename: precise
apt-cache policy sudo
adalah:
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
adalah
sudo is /usr/bin/sudo
sha256sum $(which sudo)
adalah
0efd358e04ea07dc73b67642d9bb85f49143c65996a7c88a57b42557a0b0a50d /usr/bin/sudo
pkexec echo success
melakukan ini:
==== 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
Nama telah diubah untuk melindungi yang kebanyakan tidak bersalah. Saya muncul dua kali, untuk beberapa alasan. Tetapi tidak ada rekan kerja lain yang dapat menggunakan Sudo (yang dapat melakukan pra-upgrade).
Inilah output dari beberapa perintah lagi.
visudo file sudoers dan ditambahkan di
kml ALL=(ALL:ALL) ALL
bawah baris root
sudo -i echo success
kembali sama seperti sebelumnya, tidak ada.
echo foo | sudo tee foo.txt; ls -l foo.txt
dihasilkan:
ls: cannot access foo.txt: No such file or directory
Bagaimana saya menginstal ulang Sudo.
Saya menyelesaikan ini dua kali.
Pertama kali saya menjalankan
apt-get install --reinstall sudo
--Dari root
Itu hanya sedikit, jadi saya uninstall dulu melalui:
apt-get uninstall sudo
diikuti oleh
apt-get install sudo
Edit lebih banyak info, reditied
sudo
kembali diam setelah otentikasi kata sandi dan tidak bertanya lagi.
sudo -k
dan sudo -K
juga gagal diam-diam saya login sebagai root, itu meminta kata sandi pada akun normal.
Info lebih lanjut 2
Saya berlari tail -f /var/log/auth.log
Inilah output dari sudo ls
akun kml saya
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
Mencoba kata sandi yang salah meminta kata sandi baru, dan mencatatnya
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 masih tidak berfungsi. Inilah hasilnya
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) ...
sunting 4
sha256sum /usr/lib/sudo/sudoers.so /usr/lib/sudo/sudo_noexec.so
hasil dalam
6f2e56e05d9a3de942558255b72d59a147be2c637247e244c365838378fe6ec3 /usr/lib/sudo/sudoers.so
7db6a45129ec1ef6d4cb21d7a488a85f5b45e4d21990116f64c9e71f116648c0 /usr/lib/sudo/sudo_noexec.so
Sudo sebagai pengguna lain, (berlari sebagai root)
root@rhythmsdev:/home/kml# sudo -u kml echo success
root@rhythmsdev:/home/kml#
sunting 5
Menggunakan skrip yang disediakan oleh Eliah Kagan di sini saya memeriksa duplikat grup & id. Semua perbedaan muncul kosong.
sunting 6
strace echo success
sini
edit 7
root@rhythmsdev:/home/kml# sudo echo success
root@rhythmsdev:/home/kml# echo $?
1
sunting 8
Ini sepertinya menarik, ini berbeda dari server yang memiliki sudo yang berfungsi
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#
Itu saya sebagai root
Aku sebagai aku (bukan root)
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:~$
Terima kasih,
Saya masih kehabisan ide saat ini.
sudo -u kml echo success
dari pengguna non-root, tidak ada yang terjadi. Jika saya melakukannyasudo -k echo success
saya diminta untuk memasukkan kata sandi, maka tidak ada yang terjadi.Jawaban:
Ini anti-iklim ...
Saya dapat memperbaikinya dengan mengubah satu baris di file sudoers saya.
Saya mengubah baris ini
dan saya mengubahnya menjadi
Ini karena saya perhatikan bahwa sudo -E bekerja. Jadi saya melakukan riset dan menemukan cara untuk mencegah sudo menghapus variabel lingkungan Anda. Sejauh ini sepertinya sudah diperbaiki. Yang perlu saya lakukan adalah mencari tahu variabel lingkungan mana yang perlu dijaga dan saya akan menambahkannya dengan env_keep + =
Bahwa Anda semua atas bantuan dan dukungan Anda, saya akan terus memperbarui ini. Saya tidak yakin apakah seseorang menyarankan sudo -E sebelum memberi tahu saya, dan saya akan memberikan hadiah itu kepada orang itu.
ed1
Jadi saya mungkin membuat masalah keamanan dengan! Env_reset. Saya akan terus memperbarui.
sumber
Periksa apakah Anda termasuk dalam grup admin.
Anda dapat mem-boot rescue boot dan memperbaiki masalahnya juga menggunakan CD Linux.
Anda harus selalu menggunakan visudo ketika Anda memodifikasi file sudoers. visudo akan memeriksa sintaks file sudo sebelum menyimpannya, melindungi Anda dari masalah khusus ini (tetapi tidak dari menulis file sudoers yang melarang Anda menjalankan sudo!)
Perhatikan bahwa sudoers biasanya diatur agar tidak dapat ditulis bahkan oleh root di Ubuntu:
Perlindungan file, atau kepemilikan file sudoers tidak lagi benar. File harus dimiliki oleh pengguna: root dan grup: perlindungan root dan file harus: 0440 (u = r, g = r, o-rwx) .
File harus dibaca hanya untuk root pengguna dan root grup, tidak lebih dari siapa pun. Direktori harus rx untuk semua orang dan untuk root grup, tetapi hanya root pengguna yang mendapat izin menulis ke direktori.
sumber
-r--r----- 1 root root 723 Feb 1 10:10 sudoers
id
seperti sekarang dalam pertanyaan yang diperbarui menunjukkan pengguna adalah anggotaadmin
,adm
dansudo
grup. Sintaks terlihat bagus dari file sudoers dan identik dengan yang saya miliki di sistem 12.04 saya.sudo
masalah secara umum, dan semuanya pantas untuk dicoba di sini. Namun, ketika pengguna tidak berada dalam grup yang diperlukan untuk digunakansudo
, atau ketikasudo
atau salah satu file-nya memiliki kepemilikan atau izin yang salah, itu tidak gagal secara diam-diam (seperti yang terjadi di sini).