Kendi dizinime cd yazamıyor musunuz?


10

Bir EC2 örneğinde, Apache'nin günlük konumunu varsayılandan farklı bir dizine değiştirdim. Bu, günlükleri (önyükleme olmayan, yalnızca veri) EBS üzerinde tutabilmem içindir.

Ancak, cdloglar dizinine giremiyorum. Kullanıcıma ait ve herkes için okuma izinleri var. catGünlükleri de yapamam (sudo ile çalışıyor ve Apache'nin gayet iyi günlüğe kaydedildiğini görebiliyorum).

$ ls -lh
total 4.0K
drw-rw-rw- 2 ubuntu ubuntu 4.0K 2011-05-15 14:52 apache
$ ls -lh apache/
ls: cannot access apache/error.log: Permission denied
ls: cannot access apache/access.log: Permission denied
total 0
-????????? ? ? ? ?                ? access.log
-????????? ? ? ? ?                ? error.log
$ cd apache
-bash: cd: apache: Permission denied
$ sudo ls -lh apache/
total 2.4M
-rw-r--r-- 1 ubuntu ubuntu 2.4M 2011-05-15 15:04 access.log
-rw-r--r-- 1 ubuntu ubuntu  27K 2011-05-15 15:00 error.log

Bu benim için bir anlam ifade etmiyor. Yardım?

Düzenleme: dosya sistemi ext4'tür.

Yanıtlar:


13

Buna geçmek istiyorsanız, dizinlerde yürütme bitine ihtiyacınız vardır. (Dosya sistemi türü önemli değil.)

chmod u+x ./apache

7

http://www.albany.edu/faculty/gms/homepage101/unix_permissions.html diyor

TABLO 1. UNIX REHBERİ İzinleri

İZİNLERİN KİMLERE İZİN VERİLİR?
KULLANICI Okuma (r) Hesap sahibi, dizindeki dosyaları listeleyebilir.
       Yazma (w) Hesap sahibi, 
                        dizin.
       Bu dizindeki dosyalara adla (Web gibi) 
                        sayfa dosyaları).

GROUP Okuma (r) Atanan gruptaki herkes dosyaları 
                        Rehber.
       Yazma (w) Gruptaki herkes, 
                        dizin.
       Yürüt (x) Gruptaki herkes (cd) 
                        dizin ve bu dizindeki dosyalara ada göre erişim 
                        (Web sayfası dosyaları gibi).

DİĞER Okuma (r) Herkes dizindeki dosyaları listeleyebilir.
       Yazma (w) Herkes dizinde dosya oluşturabilir veya silebilir.
       Yürüt (x) Herkes dizini değiştirebilir (cd) ve erişebilir 
                        bu dizindeki dosyaları ada göre 
                        (Web sayfası dosyaları gibi).

Wikipedia makalesi okunmaya değer olup diyor

İzinlerin bir dosyaya değil bir dizine ayarlanmasının etkisi "en sık yanlış anlaşılan dosya izni sorunlarından biridir" (Hatch 2003).


Yani executebir dizine cd için izinleri olması gerekir ? @RedGrittyBrick
AJP

Evet, bir dizinde “geçiş” yapabilmek için, yani içeriğiyle herhangi bir şey yapmak için yürütme iznine sahip olmanız gerekir. Yürütme izniniz yoksa, dizini yine de görebilirsiniz ve görebilirsiniz stat, ancak bunu yapamaz lsveya içeriğine erişemezsiniz.
Blacklight Parlıyor
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.