Mengapa saya tidak dapat mengakses direktori ini setelah itu saya menggunakan perintah chown?

2

Saya tidak begitu ke Linux dan saya memiliki masalah berikut.

Saya telah menginstal lingkungan LAMP dari sistem Linux Ubuntu yang didedikasikan untuk pengembangan (ini ada di PC saya dan itu bukan server produksi).

Jadi saya mencoba untuk mengatur / var / www sebagai ruang kerja Aptana (IDE yang saya gunakan untuk PHP berkembang) tetapi saya tidak dapat melakukannya karena saya tidak memiliki izin untuk menulis di direktori ini (saya pikir itu adalah pengguna login saya yang tidak memiliki izin ini).

Jadi saya selesai:

sudo chown -R andrea:www-data /var/www/
sudo chmod -R g+s /var/www/

Begitu:

  1. Pertama-tama saya menetapkan pengguna saya (bernama andrea ) sebagai pemilik direktori / var / www / (jadi saya artinya dapat menulis ke direktori ini) dan menetapkan grup data-www .

  2. Lalu saya mengatur direktori ini dengan g + s membuat semua file baru yang dibuat di direktori tersebut mengatur grup mereka ke grup direktori.

Masalahnya adalah bahwa ketika sekarang saya mencoba mengakses direktori / var / www / ini saya mendapatkan pesan kesalahan yang ditolak izinnya , sesuatu seperti ini:

andrea@andrea-virtual-machine:/var$ cd www/
andrea@andrea-virtual-machine:/var/www$ ls
ls: impossibile aprire la directory .: Permesso negato

Teks dalam bahasa Italia dan berarti: mustahil untuk membuka direktori: akses ditolak

Mengapa? Apa yang saya lewatkan? Bagaimana saya bisa mengatasi masalah ini?

EDIT-1: Ini adalah output dari perintah sudo ls -al / var / www :

andrea@andrea-virtual-machine:/var/www$ sudo ls -al /var/www
[sudo] password for andrea: 
totale 16
d-wx--s--x  4 andrea www-data 4096 apr 27 15:19 .
drwxr-xr-x 14 root   root     4096 apr 27 11:53 ..
drwxr-sr-x  2 andrea www-data 4096 apr 27 12:08 html
drwxrwsr-x  3 andrea www-data 4096 apr 27 15:20 .metadata
AndreaNobili
sumber
2
silakan kirim keluaransudo ls -al /var/www
Frank Thomas
@FrankThomas Saya telah mengedit posting asli saya dengan meletakkan informasi yang diperlukan di akhir
AndreaNobili
tambahkan izin baca
Francisco Tapia

Jawaban:

3

Jika Anda telah mengeksekusi tanpa izin baca pada direktori, Anda dapat memasukkannya dalam path, tetapi Anda tidak dapat melihat isinya, jadi jika Anda berada di /var/wwwdalamnya Anda dapat misalnya melihat isi htmlsubdirektori dengan ls html, meskipun Anda tidak dapat melihat htmldengan sederhana ls. Anda perlu menjalankan:

sudo chmod uga+r /var/www

Mungkin saja Anda mungkin tidak perlu sudo: Anda dapat mencobanya terlebih dahulu.

AFH
sumber
Eksekusi efektif. Tanpanya OP tidak dapat melakukan hal-hal seperti cd /var/www/html(memberikan pemikiran / var dan / war / www, yang perlu memiliki 'x' untuk itu.). Itu tidak ada hubungannya dengan (r) eading konten direktori.
Hennes
Saya telah melakukan apa yang Anda katakan dan tampaknya berhasil ... tetapi mengapa? Apa sebenarnya perintah ini? dan mengapa saya harus menggunakannya? Tnx
AndreaNobili
@ Hennes - Ini tentu tidak berfungsi pada binari dan skrip. Saya pikir saya juga menemukan bahwa itu gagal pada direktori dengan eksekusi dan tidak membaca, tetapi saya hanya mengujinya dan Anda cukup benar.
AFH
@AndreaNobili - Saya telah mengklarifikasi jawaban saya setelah membaca komentar dan jawaban Hennes.
AFH
Benar. Itu berperilaku berbeda pada file dan folder.
Hennes
2

Ini bukan perbedaan Ubuntu, ini adalah cara kerja izin Linux. Jalankan (x) izin untuk mengakses direktori, Baca (r) izin adalah daftar isinya.

Dari artikel ini di Wikipedia , saya sarankan Anda untuk membaca semua:

Ketika diatur untuk direktori, izin ini [mengeksekusi] memberikan kemampuan untuk mengakses konten file dan informasi meta jika namanya diketahui, tetapi tidak mencantumkan file di dalam direktori, kecuali jika read juga diatur.

juga

Ketika diatur untuk direktori, izin ini [baca] memberikan kemampuan untuk membaca nama-nama file dalam direktori, tetapi tidak untuk mencari tahu informasi lebih lanjut tentang mereka seperti konten, jenis file, ukuran, kepemilikan, izin.

ColOfAbRiX
sumber
1
andrea@andrea-virtual-machine:/var/www$ sudo ls -al /var/www
d-wx--s--x  4 andrea www-data 4096 apr 27 15:19 .

Untuk pengguna andrea:
(w) Hak tulis
(x) diizinkan untuk cd ke folder.
Tidak ada (r) yang ditetapkan pada folder saat ini, jadi Anda tidak diizinkan untuk membuat daftar isinya. Inilah sebabnya mengapa ia akan gagal.

Hak yang sama ditetapkan pada grup dan pada lainnya (no r baik)

Hennes
sumber