Yanıtlar:
~/my/web/root/
Web içeriğiniz için varsayımsal dizin için burada açıklandığı gibi, bulduğum en kısıtlayıcı ve en güvenli yol budur :
~/my
, ~/my/web
, ~/my/web/root
):
chmod go-rwx DIR
(içeriğin sahibinden başka hiç kimse içeriğe erişemez)chmod go+x DIR
(_www dahil "kullanıcıların" dizine "girmesine" izin vermek için)sudo chgrp -R _www ~/my/web/root
(tüm web içeriği artık grup _www)chmod -R go-rwx ~/my/web/root
(sahibinden başka hiç kimse web içeriğine erişemez)chmod -R g+rx ~/my/web/root
(tüm web içeriği artık _www tarafından okunabilir / çalıştırılabilir / girilebilir)Diğer tüm çözümler dosyaları diğer yerel kullanıcılara ("personel" grubunun bir parçası ve aynı zamanda açıkça "o" / diğerleri grubunda olan) açık bırakır. Bu kullanıcılar daha sonra, içeriğinizin bir parçasıysa, web yapılandırma dosyalarınızdaki ve komut dosyalarınızdaki DB yapılandırmalarına, kaynak koduna veya diğer hassas ayrıntılara özgürce göz atabilir ve bunlara erişebilir. Bu sizin için bir sorun değilse, o zaman elbette daha basit çözümlerden birini seçin.
chmod -R g+rwx ~/my/web/root
. Herhangi bir itirazınız veya bunu yapmanın daha iyi bir yolu @dkamins?
Terminal'i gerçekten sevmiyorsanız, dkamins yapmanın GUI yolu size şunu söylemektir:
1) Kullanıcı ana dizininize gidin ( ludo benim olabilir) ve Dosya menüsünden denetçide Bilgi Al'ı seçin cmdI:
2) [+] işaretini alt/optiontıklayarak _www grubunu ekleyin ve salt okunur olarak ayarlayın :
3) Kullanıcı Siteler klasörünüzün Bilgi Alma denetçisini gösterin ve 2. adımı yeniden oluşturun, ardından dişli eylemi alt menüsünden Ekteki Öğelere Uygula'yı seçin ... :
Voilà 3 adım ve GUI tek yol ...
ALT + [+]
numarayı bilmek güzel . Teşekkürler.
Bunun eski bir gönderi olduğunu biliyorum, ancak Mountain Lion'a (10.8) yükseltme yapan ve benzer sorunları yaşayan herkes FollowSymLinks
için, {username} .conf dosyanıza (/ etc / apache2 / users / içine) eklemek benim için hile yaptı. Yani dosya şuna benziyor:
<Directory "/Users/username/Sites/">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
2 aylık iş parçacığı, ama geç olması hiç olmamasından iyidir! 10.6'da, web sunucusu belgeleri klasörüm şu şekilde ayarlandı:
owner:root
group:_www
permission:755
_www, Mac OS X altında apache çalıştıran kullanıcıdır. Daha sonra Administrators grubuna tam izinlere izin vermek için bir ACL ekledim. Bu şekilde, yönetici kullanıcımla, kök kimliğimi doğrulamak zorunda kalmadan yine de herhangi bir değişiklik yapabilirim. Ayrıca, web sunucusunun bir klasöre yazmasına izin vermek istediğimde, kök: _www dışındaki herkesi yalnızca okuma / yürütme izinleriyle bırakarak 775'e chmod yapabilirim (uyguladığım ACL'ler hariç)
10.6 sistemimde:
vhosts folder:
owner:root
group:wheel
permissions:755
vhost.conf files:
owner:root
group:wheel
permissions:644
Benim için kullanıcı sahibi yönetici kullanıcı ve grup _www ve dir için 775 ve dosyalar 664 için izinlerle çalışıyor
Catalina Güncelleme / Masaüstü İzinleri
Buna macOS'ta yılda bir kez rastlıyorum. Masaüstümde bir klasör barındırmak için genellikle apache2 kullanıyorum.
desktop
Klasöre erişim sağlamaya çalışıyorsanız, httpd'nin tüm klasörlere erişmesine izin vermek için bunu izlemeniz gerekir: https://apple.stackexchange.com/a/373139/353465
Önce terminali açın ve ardından web sunucusunun dizinine gidin
cd /Library/WebServer/Documents
ve sonra bunu yazın ve yapacağınız şey, izin vermek read
ve write
izin vermek
sudo chmod -R o+w /Library/WebServer/Documents
Bu kesinlikle işe yarayacak!
chmod go+rx DIR
Ls izin hatası atmayı durdurmadan önce / Users / username dizin seviyesinde x bayrağına ek olarak okuma erişimi vermem gerekiyordu . Neden acaba?