Konteks:
ssh
ed menjadi AWS t1.micro contoh menjalankan Amazon Linux 2.013,09, menggunakan default ec2-user
. Saya mencoba daftar isi direktori postgresql default:
Apa yang ada di sana?
$ ls /var/lib/pgsql9/
ls: cannot open directory /var/lib/pgsql9/: Permission denied
Baik. Siapa pemilik ini?
$ ls -l /var/lib | grep pgsql
drwx------ 4 postgres postgres 4096 Jun 22 16:06 pgsql9
Ah. Saya konyol.
$ sudo -u postgres ls /var/lib/pgsql9/
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for ec2-user:
... Apa? ec2-user
punya kata sandi? Waktunya untuk senjata yang lebih besar.
$ sudo sudo -u postgres ls /var/lib/pgsql9/
backups data
Keberhasilan! Sekarang, buka superuser.com untuk mencari tahu apa yang terjadi.
Mengapa sudo sudo
berperilaku berbeda dari sudo
?
linux
permissions
sudo
amazon-ec2
amazon-web-services
kdbanman
sumber
sumber
sudo ls /var/lib/pgsql9
akan berhasil juga.root
dapat mengakses hal-hal bahkan jika itu tidak ada dalam izinJawaban:
Amazon EC2 dibangun seperti Ubuntu: tidak ada
root
akses dan semuanya dilakukansudo
sebagai gantinya.Apa yang
sudo
dilakukan perintah Anda adalah mencoba menyamarpostgres
, meminta izin untuk melakukannya.ec2-user
tidak memiliki izin ini, jadisudo
akan meminta kata sandi (yang akan gagal karena tidak memilikinya).Ketika Anda melakukannya
sudo sudo
, Anda memanggil yang keduasudo
sebagai root yang memiliki izin untuk menyamar sebagai pengguna lain, sehingga perintah itu berfungsi. Karena carasudo
ini dikonfigurasikan (baris NOPASSWD di sudoers) tidak perlu kata sandi untuk dieksekusi sebagai root.sumber
[email protected] $ sudo <command>
jalankan<command>
asroot
, dansudo
perintah itu melihatmyuser
sebagai eksekutor darisudo
. Merantai mereka sebagai[email protected] $ sudo sudo ...
sarana yangsudo
dilihat batinroot
sebagai pelaksana, yang memiliki izin untuk menyamar sebagai pengguna. Apakah saya benar?