私はphp mysqlの初心者です。 hello.phpスクリプトを作成しました。これを/ var/wwwディレクトリにコピーしようとしています(後でWebブラウザーで開きたい)。同じ問題は、私がルートであるにもかかわらず、/ var/wwwにファイルを保存/書き込みできないことです。 this の質問で手順を実装しようとしましたが、3行目を処理すると次のエラーが表示されます
find /var/www/ -type f -exec chmod g+w '{}' ';'
chmod: changing permissions of `/var/www/index.html': Operation not permitted
シンボリックリンクもオプションです。ファイルを/ var/www /ディレクトリに直接書き込み/コピーできるようにしたいと思います。
何が間違っているのかについての提案はありますか?
* unix権限の問題で、たとえば次のように入力することにより、ルートアクセス権を取得します。
Sudo su
[then type your password]
そしてあなたがしなければならないことをしようとする
開発環境にいますか?なぜしないのですか
chown -R user.group /var/www
そのため、ユーザーと書くことができます。
次のコマンドを実行します
Sudo setfacl -R -m u:<user_name>:rwx /var/www
ファイルまたはディレクトリをアップロード、ダウンロード、削除できるように、htmlディレクトリの権限を変更します
/var/www
にhello.phpという名前のファイルがあり、そのファイルに既にアクセス許可がありますかシステムがファイルを置き換えることができないのでしょうか?
ただし、ルートアクセスはシステム上のすべてのユーザーに優先する必要があります。
www
フォルダーにアクセス許可を適用しようとしましたか?
これを実行できる場合は、次を試してください。
Sudo chmod -R 777 /var/www
その後:
Sudo cp hello.php /var/www
www
フォルダー全体にアクセス許可を設定しても問題ないことが100%わかっている場合にのみ、これを行うことをお勧めします。ほとんどのライブ/共有ホスティングサーバーは、www
フォルダーが/ varフォルダーにないように設定されているため(その代わりに、ホームフォルダーにあります)ユーザー)。
ただし、Sudoプレフィックスを使用して何かを行う場合は非常に注意してください。間違っていると、システムに重大な損傷を与える可能性があります。
今日、同様の問題に遭遇しました。ここに私の修正がリストされていないので、共有すると思いました。
ルートはファイルを消去できませんでした。
私は研究をしました。不変ビットと呼ばれるものがあることがわかりました。
# lsattr /path/file
----i-------- /path/file
#
このビットが構成されていると、rootでも変更/削除できなくなります。
これを削除するには:
# chattr -i /path/file
その後、ファイルをrmできました。
逆に、消えないようにしたいものがあるかどうかを知ることは、巧妙なトリックです。
:)
まず、これはphpとは関係ありません。これは、Unixのアクセス許可の問題です。スーパーユーザー(Sudo/su)としてログインし、パスワードを入力してから、そのコマンドを試してください。
$ su
(type password )
\# your command
$ Sudo command
$ (type password)
使用するオペレーティングシステムを実際に指定した場合にも役立ちます。
Sudo cp hello.php /var/www/
どのような出力が得られますか?
Sudo
の代わりにsu
と書くだけです。
次に、PHPファイルをvar/www/ directory
。
次に、ブラウザに移動して、ローカルHost/test.php
または.php
ファイル名は。
上記のいずれも機能しない場合は、vfatファイルシステムを扱っている可能性があります。 「df」を使用して確認します。
http://www.charlesmerriam.com/blog/2009/12/operation-not-permitted-and-the-fat-32-system/ を参照してください。
まず、rootとしてログインし、/ etcディレクトリに移動して、以下に示すいくつかのコマンドを実行する必要があります。
[root@localhost~]# cd /etc
[root@localhost /etc]# vi sudoers
そして最後にこの行を入力してください
kundan ALL=NOPASSWD: ALL
ここで、kundanはユーザー名であり、保存します。次に、ファイルを転送して、実行するコマンドのプレフィックスとしてSudo
を追加してみます。
Sudo cp hello.txt /home/rahul/program/
ここで、rahulは同じサーバーの2番目のユーザーです。