bash スクリプトを使用してリモート マシンに lighttpd サーバーをインストールしています。インストール後、サーバーのポートを構成する必要があります。システムは、ファイル /etc/lighttpd/lighttpd.conf を変更する権限がないことを示しています。
sudo echo "server.bind=2000" >> /etc/lighttpd/lighttpd.conf
これをどのように変更しますか?
bash スクリプトを使用してリモート マシンに lighttpd サーバーをインストールしています。インストール後、サーバーのポートを構成する必要があります。システムは、ファイル /etc/lighttpd/lighttpd.conf を変更する権限がないことを示しています。
sudo echo "server.bind=2000" >> /etc/lighttpd/lighttpd.conf
これをどのように変更しますか?
あなたがしているのはecho
、ルートとして実行し、その出力を通常のユーザーとして構成ファイルに追加しようとしています。
あなたが欲しいのはsudo sh -c 'echo "server.bind=2000" >> /etc/lighttpd/lighttpd.conf'
を使用してファイルのアクセス許可を変更してみてくださいchmod
$ sudo chmod a+x /etc/lighttpd/lighttpd.conf
問題は、>> の右側のビットが sudo で実行されないことです。sudo -i を使用して root シェルを起動し、コマンドを実行するか、前述のようにエディターを使用します。
ファイルを変更する権限がない場合は/etc/lighttpd/lighttpd.conf
、 のマニュアル ページを確認してくださいlighthttpd
。別の構成ファイルで開始できる場合は、どこかに構成ファイルを作成して開始lighthttpd
します。