Bagaimana mungkin saya tidak bisa login sebagai root oleh su root
atau su
(saya mendapatkan kesalahan kata sandi salah), tetapi saya bisa login dengan ssh root@localhost
atau ssh root@my_local_IP
dengan kata sandi yang sama?
Saya menggunakan CentOS 6.4.
Pembaruan1 :
cat /etc/pam.d/su
memberi:
#%PAM-1.0
auth sufficient pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth sufficient pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth required pam_wheel.so use_uid
auth include system-auth
account sufficient pam_succeed_if.so uid = 0 use_uid quiet
account include system-auth
password include system-auth
session include system-auth
session optional pam_xauth.so
Pembaruan2 :
$ sudo grep su /var/log/secure | grep -v sudo
memberi:
Feb 23 13:12:17 fallah su: pam_unix(su:auth): authentication failure;
logname=fallah uid=501 euid=501 tty=pts/0 ruser=fallah rhost= user=root
diulang sekitar 20 kali.
centos
login
authentication
su
Alireza Fallah
sumber
sumber
/etc/securetty
(cp /etc/securetty{,.old}; : > /etc/securetty
). Jika itu masih tidak berhasil, berikan konten/etc/pam.d/su
.ssh 192.168.1.218
Anda hanya masuk seperti diri Anda sendiri? Untuk masuk sebagai root viassh
biasanya perlussh [email protected]
ataussh root@localhost
.echo $$
), buka (misalnya viassh
) shell root (diperlukan untuk melacak binari SUID) dan mulaistrace
untuk shell itu:strace -o su.strace -p 12345 -f
dan cari kesalahan aneh sebelum pesan kesalahan. Atau salin 30 baris terakhir sebelum pesan kesalahan ke pertanyaan Anda jika Anda tidak terbiasa dengan output semacam itu.Process 11736 attached - interrupt to quit
chmod 4755 /bin/su
untuk memperbaikinya.Jawaban:
Dalam komentar Anda, Anda mengatakan
/bin/su
memiliki mode / pemilik berikut:ada dua masalah disini.
ia perlu memiliki bit set-uid dihidupkan, sehingga selalu berjalan dengan izin root, jika tidak ketika pengguna biasa (non-root) menjalankannya, itu tidak akan memiliki akses ke info kata sandi
/etc/shadow
atau kemampuan untuk mengatur userid ke pengguna baru yang diinginkan.itu harus mematikan
group
danother
menulis bit, sehingga pengguna lain tidak dapat mengubahnya.Untuk memperbaikinya, login sebagai
root
- Anda mengatakan Anda bisa melakukan ini denganssh
- dan ketikatau, sebagai alternatif,
( Dokumen standar untuk chmod merinci lebih lanjut tentang jenis argumen apa yang diperlukan.) Ini akan mengembalikan bit mode ke cara mereka ketika sistem operasi pertama kali diinstal. Ketika Anda mendaftar file ini, itu akan terlihat seperti ini:
Sebagaimana dicatat oleh @ G-Man, file-file dengan mode 777 dapat ditimpa oleh pengguna yang tidak terpercaya, dan jika itu masalahnya, Anda mungkin ingin menginstalnya kembali dari media distribusi atau cadangan.
sumber
chmod 755 /bin/su
apa tambahan 4 ?4
posisi pertama mewakili izin set-uid. Saya telah mengedit jawaban saya untuk menambahkan cara alternatif untuk menggunakan chmod menggunakan nama simbolis untuk bit izin. Semoga itu akan lebih jelas.chmod -R 777 /bin
kesalahan itu, dan itulah sebabnya saya dikutuk: Drpm
untuk mengembalikan izin file, tapi saya belum mencobanya.1. grup roda?
Ini kemungkinan karena useid Anda tidak ada dalam
wheel
grup. Pada distro Red Hat Anda dapat secara eksplisit melarang pengguna yang tidak ada dalam grup ini dari menjalankansu
perintah.Berikut ini
su
konfigurasi PAM yang terlihat secara default:Baris ini dapat membatasi akses ke
su
perintah untuk pengguna dalamwheel
grup:Dari suaranya, ini diaktifkan dan userid Anda tidak diizinkan mengoperasikan
su
perintah.SSH bekerja karena melewati mekanisme PAM yang berbeda. SSH juga memiliki fasilitas sendiri untuk membatasi akses ke login root juga. Login root biasanya diizinkan secara default, setidaknya di sebagian besar distro Red Hat:
Meskipun hal di atas dikomentari, itu adalah default, dan bagaimana OpenSSH menunjukkan itu adalah pengaturan default pada konfigurasi.
Bekerja dengan ini?Jika sistem Anda dikonfigurasi seperti ini, Anda dapat menambahkan nama pengguna Anda ke
wheel
grup.Setelah logout dan kembali:
CATATAN: Userid saya adalah "saml" di atas.
2. Izin di su?
Periksa bahwa executable dimiliki oleh root.
Juga konfirmasikan bahwa file executable mereka
s
diaktifkan. Ini membuat mereka setuid, sehingga ketika dieksekusi mereka jalankan sebagai milik mereka, root.3. Apa yang dikatakan oleh log?
Ketika Anda mencoba melakukan
su -
perintah, Anda akan melihat entri/var/log/secure
tentang upaya tersebut.Konsultasikan log ini untuk melihat apakah Anda mendapatkan info tambahan.
4. Apakah Anda yakin kata sandi bukan masalahnya?
Ketika saya mencoba masuk menggunakan
su -
saya mendapatkan yang berikut ketika saya memberikannya kata sandi yang salah:Saya akan mencoba membuat akun lain dan melihat apakah akun sekunder ini dapat berjalan dengan
su -
sukses.sumber
usermod -a -G wheel my_username
dan hasilnyagroups
adalahfallah wheel
. Jadi hasilnyacat /etc/pam.d/su
sekarang dalam pertanyaan saya, DAN, sekali lagi saya tidak dapat login sebagai root oleh perintah su !!!/var/log/secure
:Feb 24 10:19:45 fallah su: pam_unix(su:auth): authentication failure; logname=fallah uid=501 euid=501 tty=pts/2 ruser=fallah rhost= user=root
/var/log/secure
su: incorrect password
- dan kata sandinya benar, karena saya dapat mencatat dengan kata sandi yang sama di SSHsu alireza
, dan lagi-lagi masalah yang samaJika Anda mendapatkan pesan kesalahan seperti ini
Lakukan langkah ini:
Lalu coba su. Itu harus bekerja.
sumber