Şimdiye kadar izinlerle mücadele ediyorum ve başka bir soru yayınladım, ancak sorunu düzeltmek için herhangi bir yol bulmadan, sorunun ne olduğunu belirledim.
Kurulumum:
- LAMP yığını ile Ubuntu Masaüstü
- 5 "kullanıcılar" Ubuntu sunucusunda oluşturduğum
sudo useradd -r -s /bin/false USERNAME
ve yerel ağ paylaşılan klasörlerine, yani ağımdaki bilgisayarların Samba kullanılarak paylaşılan / var / www klasörüne bağlanması için kullanılan kullanıcıları oluşturdum. - DÜZENLEME: Amaç yerel ağımdaki tüm bilgisayarların aynı web sitesinde, yerel olarak çalışabileceği bir "ana localhost" tür oluşturmaktır (statik bir IP adresi bu yüzden sunucu başka bir yerden erişilemez) .
Benim sorunum:
Şu anda /var/www/html
ağın herhangi bir bilgisayarını kullanarak yeni bir klasör oluşturduğumda (ör: / var / www / html / testsite1 klasörü oluşturma), bu klasöre otomatik olarak boris:www-data
(ubuntu masaüstü kurulumumdaki ana yönetici kullanıcı olan "boris" ve ls -l
yeni oluşturulan klasörde çalışırken gerçekten boris: www-data ) gösterir. Bu durum mevcut kurulumumda sorunlara neden olur (çoğunlukla LifeInTheGrid tarafından wordpress için Duplicator Plugin kullanılarak). Ancak, her iki benim /var/www
ve benim /var/www/html
aittirwww-data:www-data
Bu nedenle, nasıl yapabileceğimi bilmek istiyorum:
Sahipliği www-data olarak değiştirin: / var / www ve / var / www / html altındaki tüm dosyaların VE dizinlerinin www-verileri
Ağımın kullanıcılarından herhangi biriyle oluşturacağım dosya veya klasörlerin otomatik olarak www-data: www-data'ya ait olduğundan emin olun (Bu, Duplicator eklentisinin ben yaptığım gibi php komut dosyaları tarafından otomatik olarak oluşturulan dosyaları içerir Yanlış değil).
Bunu yapmanın bir yolu var mı?
Not: Linux ve komut satırlarıyla ilgili şeylere sahip süper bir acemiyim, ancak hızlı bir şekilde yetişiyorum.
Not 2: umask zaten 0002 olarak ayarlanmış
DÜZENLE:
Bunu denedim:
sudo chown -R www-data:www-data /var/www/
Ve sonra bunu yaparak setuid ve setgid bitlerini ayarlayın:
sudo chmod u+s /var/www/html
sudo chmod g+s /var/www/html
Daha sonra oturumu kapattı, apache'yi yeniden başlattı ve sunucuma ağ IP'si (statik değil yerel IP) üzerinden bağlı bir Mac kullanarak yeni bir klasör oluşturmaya çalıştı.
Koştum
ls -l on /var/www/html
Çıktı hala:
drwxr-sr-x 2 boris www-data testsite1
Not:
Daha önce apache yapılandırmamı zaten kontrol ettim ve envvars, zaten şu şekilde ayarlanmış:
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
EDIT: geriye doğru denedim, örneğin her şeyi boris: www-data ait olacak şekilde ayarlamak ve benim envvars apache config benim boris: www-data ayarlayın. İŞE YARADI!
İşte yaptığım şey:
Envvars olarak değiştirildi
export APACHE_RUN_USER=boris
export APACHE_RUN_GROUP=www-data
Koştu
sudo chown -R boris:www-data /var/www/
Yeniden başlatıldı Apachem, yeni bir klasör oluşturdu, dosyalarımı ekledi, eklentiyi çalıştırdı, şimdi iyi olduğunu söylüyor !!!