Katakanlah ada direktori yang tidak dapat saya akses. Jelas sudo cd foo
tidak akan bekerja, karena cd
shell sudah ada di dalam setiap shell yang pernah ada.
Sejauh ini, saya baru saja menggunakan sudo bash
(ya saya tahu ada cara yang lebih baik) untuk mendapatkan prompt root. Lalu, saya bisa cd
masuk ke direktori untuk melihat-lihat.
Apakah ada cara yang lebih baik untuk melakukan ini?
bash
sudo
cd-command
strugee
sumber
sumber
cd
root (kecuali Anda sebenarnya berada di shell root)?cd
.sudo ls
.Jawaban:
Tidak, tidak ada cara untuk
cd
ke direktori yang hanya memungkinkan root tanpa menjadi root. Seharusnya tidak terlalu banyak direktori yang memiliki batasan ini. Sebagian besar waktu itu adalah akses ke file yang diberikan yang terbatas seperti/etc/shadow
file atau file log tertentu di bawahnya/var/log
.Anda dapat menggunakannya
sudo ls <dir>
untuk melihatnyabash
. Juga saat menggunakansudo
untuk menjadi root, Anda biasanya ingin mengatur pengguna (su
perintah)bash
, jadi gunakan perintah ini sebagai gantinya:Anda juga dapat melakukan hal yang sama dengan
-i
sakelar sudo :kutipan dari halaman manual tentang
sudo -i
Untuk file yang tidak dapat Anda akses, Anda dapat menggunakan salah satu dari
sudo
perintah ini :sumber
sudo su -
bukansudo -i
? Keduanya memberi Anda semua hak pengguna super meskipun yang Anda butuhkan hanyalah kemampuan CAP_DAC_READ_SEARCH.sudo
adalah melalui lingkungan Solaris dan versisudo
yang ada di sana tidak termasuk saklar ini. Melihat melalui sudo changelog sepertinya opsi itu ditambahkan pada tahun 2004. Kira saya berkencan dengan diri saya sendiri tetapi Anda bertanya 8-). Saya akan mengubah jawaban untuk memasukkan keduanya, terima kasih!sudo -Hi
karena ia menetapkan direktori home juga (itu tidak menetapkan home secara default pada distro saya, defaultnya bisa bervariasi). Jika tidak, Anda mungkin berakhir dengan root file yang dimiliki di rumah Anda, jika itu menciptakan file baru di sana.Tidak, tidak ada. Anda perlu menjalankan shell sebagai root.
sumber
cd
kecuali Anda menjalankan shell atau proses yang sebanding.Benar, kamu tidak bisa. Berikut ini solusinya:
sumber