Mengapa saya tidak bisa melakukan cd ke direktori?

14

Saya menjalankan Ubuntu 10.04.2 LTS. Kenapa saya tidak bisa cdmasuk ke /var/wwwdirektori?

david@ubuntu:/var$ pwd
/var

david@ubuntu:/var$ ls -l
drwxrwxr-- 13 root root  4096 2011-02-26 21:53 www

david@ubuntu:/var$ cd www
-bash: cd: www: Permission denied

david@ubuntu:/var$ sudo cd www
sudo: cd: command not found
davidjhp
sumber
2
cdadalah shell built-in jadi sudotidak bisa digunakan.
Dijeda sampai pemberitahuan lebih lanjut.
Dan bahkan jika itu bisa digunakan, itu tidak ada gunanya. Pada umumnya tidak ada cara untuk membuat proses lain mengubah direktori kerjanya, jadi apa pun yang cddapat dieksekusi dapat lakukan, itu tidak dapat mengubah proses shell 'cwd.
David Schwartz

Jawaban:

13

Anda perlu menjalankan izin untuk masuk ke direktori.

sudo chmod o+x /var/www
Cakemox
sumber
3
Sedikit klarifikasi: Pada contoh di atas baik root (pengguna) dan root (grup) memiliki bit set eksekusi. Jadi anggota root grup dapat melakukan cd ke www. Pengguna david tidak dapat melakukan cd karena ia tidak termasuk dalam anggota grup root. Anda dapat memeriksanya dengan melihat konten / etc / group
adamo
1

Ada beberapa alasan untuk melarang '' orang lain '' memasuki direktori, bukan? Jadi saya akan menyarankan untuk mendapatkan akses root untuk masuk ke direktori itu, melakukan beberapa hal, dan meninggalkannya, menjatuhkan sudo shell.

sudo -i 
cd /var/www
# do your thing
cd -
exit
Pengguna tidak diketahui
sumber
1

Hanya sedikit info lebih lanjut, akan lebih bijaksana untuk membuat pengguna dan grup web untuk sistem Anda dan tidak memiliki layanan yang berjalan sebagai root. Kemudian Anda juga dapat menambahkan pengguna ke grup itu jika diperlukan dan tidak memberikan hak istimewa root.

Mike
sumber