重複の可能性:
書き込み権限のないファイルに標準出力をリダイレクトします。
このチュートリアルで提供されている指示に従ってdrupalをインストールしようとしています。 http://how-to.linuxcareer.com/how-to-install-drupal-7-on-ubuntu-linux 一段階で詰まった。
$ cd /etc/apache2/sites-available
$ sudo sed 's/www/www\/drupal/g' default > drupal
bash: drupal: Permission denied
権限は/var/www/drupal
777に設定されています。
答え1
sudo
このチュートリアルではルートシェルを使用せず、必要です。を使用してルートシェルを取得できますsudo -i
。
を好む場合、sudo
リダイレクトはsudo
コマンドではなくシェルによって処理されます。したがって、/etc/apache2/sites-available
以前のように起動出力からファイルを生成することはできません。sudo
マニュアルによると、次のサブシェルを使用する必要があります。
$ cd /etc/apache2/sites-available
$ sudo sh -c "sed 's/www/www\/drupal/g' default > drupal"
答え2
明らかに、権限は/etc/apache2/sites-available
出力を作成する777ではありません。リダイレクトは個別に処理され、書き込みsudo
権限がありません。さて、そこには何もありません/var/www/drupal
。そこに書くのですか?その場合は、su -c "sed 's/www/www\/drupal/g' default > /var/www/drupal"
またはを使用できますsed 's/www/www\/drupal/g' default | sudo tee drupal
。
答え3
まず、あなたはここにいません/var/www/drupal/
。drupal
にファイルを生成しようとしています/etc/apache2/sites-available/
。次の場所にファイルを作成したい場合/var/www/drupal
:
sed 's/www/www\/drupal/g' default >/var/www/drupal/drupal
それ以外の場合:
sed 's/www/www\/drupal/g' default | sudo tee drupal