web-dev-qa-db-ja.com

ファイルを編集して「/ var / www」に追加する最も簡単な方法は何ですか?

Webサーバーをインストールすると、ユーザーがグラフィックインターフェイスを使用してローカルのWebサーバー/ var/wwwにファイルとディレクトリをコピーできるように設定する簡単な方法があります。

Ubuntuで自分に管理者権限を与えましたが、コピーはまだ許可されていません。

145
k_graham

/ var/wwwをグループで書き込み可能にし、ユーザーをグループに追加すると、そのユーザーはSudoを使用する必要がなくなります。これを試して:

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

その後、ユーザーは手間をかけずに/ var/www /ファイルを編集できるはずです。

最初の行はユーザーをwww-dataグループに追加し、2番目の行は所有権が乱れたファイルを消去し、3番目の行はwww-dataグループのメンバーであるすべてのユーザーがすべてのファイルを読み書きできるようにします/ var/www。

<username>としてログインしている場合、グループメンバーシップを有効にするには、ログアウトしてから再度ログインする必要があります。

221
Azendale

chown、つまりchそのフォルダのownerを変更できます。これにより、フォルダーのユーザーとグループを変更し、ユーザーがフォルダーにファイルを追加/削除できるようになります。それを行うには、yourusernameを自分の名前に置き換えて実行します:

Sudo chown yourusername.users /var/www

それで終わりです


ただし、ホームフォルダーに仮想ホストを作成する方が、はるかに簡単です。

基本的に、任意のフォルダーをApache提供フォルダーとして使用できます。どのようにシンプルかを示すために、ユーザー名がsernameであり、提供するフォルダーが/ home/username/wwwであると仮定しましょう。

/ etc/Apache2/sistes-availableに次のファイル(たとえばmywebprojects)を作成して、ユーザー名とフォルダーパスを置き換えます(基本的には、#CHANGE HEREで単にコピーして貼り付けて置き換えます)。

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    # 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>

wwwフォルダーを作成し、単純なHello Worldを追加し、デフォルトのWebサイト(/var/www)を無効にし、Webサイトmywebprojectsを有効にして、Apacheを再起動します。

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

そしてそれは、今では/var/wwwに行く必要はなく、単にwww(または他のギブネーム)にファイルを追加するだけで、すでにそこにあります:)。

25

方法1:

  • 押す ALT+F2 gksudo nautilusと入力して、「実行」をクリックします。

    alt text

  • これは、ルートのprevilegesでnautilusを開きます。
  • Goto Filesystemvarwwwで追加/コピー/ファイルを貼り付けます。

方法2:

  • インストール nautilus-gksu Install nautilus-gksu
  • ターミナルにタイプnautilus -qをインストールした後、右クリックメニューを更新します。
  • これで、nautilusの右クリックメニューに[管理者として開く]エントリが表示されます。
  • ルート権限でファイルを開く必要がある場合は、そのファイル/フォルダーを右クリックし、「管理者として開く」を選択するだけです。
  • ルート権限でそのファイル/フォルダーを開きます。

    alt text

9
karthick87

ACLを使用すると、Sudo usermod -a -G developers $usernameのように簡単になります。

ただし、開始するには少し手間がかかります。これは少なくともUbuntu 10.10向けです。最初に/ etc/fstabのaclオプションでファイルシステムをマウントします。

Sudo vim /etc/fstab

UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/ext4 defaults、acl 0 1

Sudo mount -o remount,acl /

次に、この目的のためにユーザーが所属するグループを作成します。

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

ユーザーはログアウトしてから再度ログインして、開発者グループのメンバーになる必要があります。

もちろん、/ var/wwwディレクトリに必要なコンテンツがある場合は、これを実行しないでください。ただし、開始するためのセットアップを説明するためだけです。

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

次に、構成ファイルの「/ var/www」への参照を「/ var/www/public」に置き換えて、リロードします。

Sudo vim /etc/Apache2/sites-enabled/000-default
Sudo /etc/init.d/Apache2 reload

ファイルを作成したユーザー以外のすべてからの削除と名前変更を制限する場合:

Sudo chmod +t /var/www/public

このように、Apacheドキュメントルートの外部に存在するフレームワークのディレクトリを作成したい場合や、サーバーで書き込み可能なディレクトリを作成したい場合は、それでも簡単です。

Apache書き込み可能ログディレクトリ:

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

Apacheで読み取り可能なライブラリディレクトリ:

Sudo mkdir /var/www/lib
Sudo chgrp www-data /var/www/logs
Sudo chmod 0750 /var/www/logs
6
user8290

/var/www folderはルートが所有しています。このフォルダ内のファイルを変更するには、所有権を自分のユーザー名に変更する必要があります。このために、次のコマンドを試すことができます。

Sudo -i //ルートコンソールに変更する

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

これで、フォルダ/var/www/html willの所有権がユーザーscottに割り当てられます。これで、scottはこのフォルダー内のファイルをコピー/移動できます。

0
Anoop

最も簡単な方法は、以下の手順に従うことです:

  1. 押す Alt + Ctrl + T 端末が開いてSudo -sと入力し、パスワードでログインします。
  2. これで、rootとしてログインしています。
  3. ここでnautilusと入力すると、rootとしてホームフォルダーが開きます。これで、ファイルを簡単に編集して、好きなことを行うことができます。

お役に立てれば。 :)

0