“/ var / www” dosyasına dosya eklemenin ve eklemenin en kolay yolu nedir?

138

Web sunucusunu kurduktan sonra, dosya ve dizinleri yerel web sunucusuna / var / www'ye kopyalamak için grafik arayüzünü kullanabilen bir kullanıcı ayarlamanın basit bir yolu var

Kendime Ubuntu’da yönetici ayrıcalıkları verdim, ancak yine de kopyalara izin vermiyor.

    
sordu k_graham 03.01.2011 20:49

7 cevap

207

Kendi grubu tarafından / var / www yazılabilir yapar ve kullanıcıyı gruba eklerseniz, bu kullanıcının sudo kullanması gerekmez. Bunu dene:

sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rwX /var/www

Kullanıcı daha sonra uğraşmadan / var / www / files dosyasını düzenleyebilir.

İlk satır, kullanıcıyı www-data grubuna ekler, ikinci satırda ise berrak mülkiyet sahibi olan tüm dosyalar silinir ve üçüncüsü bunu yapar, böylece www-data grubunun üyesi olan tüm kullanıcılar okuyabilir ve yazabilirler. tüm dosyalar / var / www.

<username> olarak giriş yaptıysanız, çıkış yapmanız ve grup üyeliğinin yürürlüğe girmesi için tekrar giriş yapmanız gerekir.

    
verilen cevap Azendale 01.07.2011 03:14
25

chown , yani ch bu klasörün own angesini yapabilir. Bu, kullanıcının dosya ve klasör grubunu değiştirmenize izin vererek, kullanıcının dosya eklemesine / kaldırmasına izin verir. Bunu yapmak için, yourusername değerini adınızla değiştirin ve çalıştırın:

sudo chown yourusername.users /var/www

Ve bu kadar.

Ancak, ev dizinimde bir sanal sunucu oluşturmayı tercih ettim, çok daha kolay.

Temel olarak herhangi bir klasörü apache sunum klasörü olarak kullanmanıza izin verir. Nasıl basit olduğunu göstermek için, kullanıcı adınızın kullanıcı adı olduğunu ve sunulmak istediğiniz klasörün / home / username / www

olduğunu varsayalım

/ etc / apache2 / sistes'te kullanıcı adını ve klasör yolunu değiştirerek aşağıdaki dosyayı (örneğin mywebprojects ) oluşturun (temelde sadece kopyalayıp yapıştırın ve #CHANGE BURADA değiştirin):

<VirtualHost *:80>
    ServerAdmin [email protected]

    # CHANGE HERE
    DocumentRoot /home/username/www

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    # CHANGE HERE
    <Directory /home/username/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

Şimdi www klasörünü oluşturup, basit bir merhaba dünyası ekleyelim, varsayılan web sitesini ( /var/www ) devre dışı bırakabilir, web sitemizi mywebprojects etkinleştirebilir ve apache’yi yeniden başlatabiliriz.

mkdir ~/www 
echo "<html><h1>Hello World</h1></html>" > ~/www/test.html
sudo a2dissite default #
sudo a2ensite mywebprojects
sudo service apache2 restart

Ve şimdi, /var/www 'sine gitmenize gerek yok, www (veya başka bir isim)' e dosya eklemeniz yeterlidir ve zaten var:).

    
verilen cevap Marcos Roriz Junior 05.01.2011 12:02
6

ACL kullanarak sudo usermod -a -G developers $username kadar basit olabilir.

Başlamak için biraz iş gerekir. En azından Ubuntu 10.10 için. Önce dosya sistemlerini acl seçeneğiyle / etc / fstab olarak yerleştirin.

sudo vim /etc/fstab

UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 varsayılanları, acl 0 1

sudo mount -o remount,acl /

Ardından, kullanıcının bu amaç için ait olabileceği bir grup oluşturun.

sudo groupadd developers
sudo usermod -a -G developers $username

Kullanıcı, geliştiriciler grubunun üyesi olmak için çıkış yapmalı ve tekrar giriş yapmalıdır.

Elbette, / var / www dizinde istediğiniz içeriğe sahipseniz bunu yapmayın. ama sadece başlamak için ayarlamayı göstermek için:

sudo rm -rf /var/www
sudo mkdir -p /var/www/public
sudo chown -R root:developers /var/www/public
sudo chmod 0775 /var/www/public
sudo chmod g+s /var/www/public
sudo setfacl -d -m u::rwx,g::rwx,o::r-x /var/www/public

Sonra referansları bir yapılandırma dosyasındaki "/ var / www / public" ile "/ var / www" olarak değiştirin ve yeniden yükleyin.

sudo vim /etc/apache2/sites-enabled/000-default
sudo /etc/init.d/apache2 reload

Silme işlemini kısıtlamak ve dosyayı oluşturan kullanıcının tümünün dışında yeniden adlandırmak istiyorsak:

sudo chmod +t /var/www/public

Bu şekilde, eğer dışarıda var olan çerçeveler için dizinler oluşturmak istiyorsak Apache belge kökü veya sunucudan yazılabilir dizinler oluşturabilir, yine de kolaydır.

Apache yazılabilir günlükler dizini:

sudo mkdir /var/www/logs
sudo chgrp www-data /var/www/logs
sudo chmod 0770 /var/www/logs

Apache tarafından okunabilir kütüphane dizini:

sudo mkdir /var/www/lib
sudo chgrp www-data /var/www/logs
sudo chmod 0750 /var/www/logs
    
verilen cevap user8290 05.01.2011 03:41
0

Yapmanın en kolay yolu aşağıda verilen adımları takip etmektir: -

  1. Alt + Ctrl + T tuşlarına basın ve terminal açılır ve sudo -s yazıp parola ile giriş yapın.
  2. Artık root olarak giriş yaptınız.
  3. Şimdi nautilus yazın ve sizin için ana klasörü kök olarak açacaktır. Artık dosyaları kolayca düzenleyebilir ve istediğinizi yapabilirsiniz.

Bunun yardımcı olacağını umuyorum. :)

    
verilen cevap Mitayshh 08.04.2013 15:49
0

/var/www folder köküne aittir. Bu klasördeki dosyaları değiştirmek için sahipliğini kendi kullanıcı adınıza değiştirmeniz gerekir. Bunun için aşağıdaki komutları deneyebilirsiniz ..

Kök konsoluna geçmek için sudo -i //

sudo chown -R <username> <path> // for eg. sudo chown -R scott /var/www/html (scott is the username, -R indicates recrusive)

Artık /var/www/html will klasörünün sahipliği scott kullanıcısına atanacaktır. Şimdi scott bu klasördeki dosyaları kopyalayabilir / taşıyabilir.

    
verilen cevap Anoop 16.12.2015 06:31
-1

Sunucu sürümünü kullanıyorsanız, webmin'i deneyin. Harika bir web kullanıcı arayüzü ve dosya yöneticisi var. Ya bu ya da Filezilla

    
verilen cevap John Hallquist 24.08.2012 02:38

Etiketlerdeki diğer soruları oku