บริบท:
ssh
แก้ไขเป็นอินสแตนซ์ AWS t1.micro ที่รัน Amazon Linux 2013.09 โดยใช้ค่าเริ่มต้น ec2-user
. ฉันพยายามที่จะแสดงรายการเนื้อหาของไดเรกทอรี postgresql เริ่มต้น:
มีอะไรอยู่ในนั้น
$ ls /var/lib/pgsql9/
ls: cannot open directory /var/lib/pgsql9/: Permission denied
ตกลง. ใครเป็นเจ้าของสิ่งนี้?
$ ls -l /var/lib | grep pgsql
drwx------ 4 postgres postgres 4096 Jun 22 16:06 pgsql9
อา โง่ฉัน
$ 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:
... อะไร? ec2-user
มีรหัสผ่านหรือไม่ ถึงเวลาสำหรับปืนที่ใหญ่กว่า
$ sudo sudo -u postgres ls /var/lib/pgsql9/
backups data
ที่ประสบความสำเร็จ! ตอนนี้ไปที่ superuser.com เพื่อค้นหาว่าเกิดอะไรขึ้น
sudo ls /var/lib/pgsql9
ก็จะทำงานเช่นกันroot
สามารถเข้าถึงสิ่งต่าง ๆ แม้ว่าจะไม่ได้อยู่ในการอนุญาต