• ベストアンサー

ファイルが移動できません。

ファイルを移動しようとすると下記のように表示されます。 $ mv hello.php /opt/lampp/htdocs mv: `hello.php' を `/opt/lampp/htdocs/hello.php' に移動できません: 許可がありません 解決方法を教えてください。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

権限的にhello.phpが読めて/opt/lampp/htdocsに書けるユーザでmvすれば移動できるかと。 多くの場合、hello.phpの読み出し許可は問題ないでしょうが、/opt/lampp/htdocs/hello.phpの書き込み許可はないでしょう。 lamppならログインできないユーザ(www,apache,webなど)作ってる場合もあるでしょうから。 cat hello.phpで内容が確認できればhello.phpの読み出し権限は持っています。 ※ ls -l hello.phpでも確認可能。 ls -l /opt/lampp | grep htdocs でhtdocsの所有者・属しているグループ・許可属性を確認して書き込み権限がある状態で移動すれば書き込めます。 htdocsの所有者でloginできる場合には $ pwd /my/home/work $ su - lampp (apacheやwwwなどかな) $ cp /my/home/work/hello.php /opt/lampp/htdocs $ exit $ rm hello.php 上記の様な手順で行なえばmvと同じ様な処理ができそうに感じました。 ※ /opt/lampp/htdocsに書き込めるユーザではhello.phpが消せないかも。 ※ hello.phpがlamppのユーザで読めない場合には事前に許可しておけば(chmod o+r hello.php)できそう。 ※ ディレクトリの許可が問題になって上記でもダメな場合は、hello.phpを一旦/tmpなどに移して行なえばできそう。 /opt/lampp/htdocsを含むファイルシステムが読み出し専用でマウントされている場合だと書き込み可能な状態でマウントしなおす必要がありそうなど他にも考えられる事はあるのだけど。 まずは、状況の調査から行なえば、方法見つかると思います。

to_ci
質問者

お礼

ありがとうございます。

その他の回答 (2)

  • entree
  • ベストアンサー率55% (405/735)
回答No.2

mvするためには、hello.phpが置かれているディレクトリに書き込み権限が必要です。 hello.php自体に書き込み権限があってもNGです。 次に、ディレクトリ/opt/lampp/htdocs/にも書き込み権限が必要です。

to_ci
質問者

お礼

ありがとうございます。

  • localica
  • ベストアンサー率52% (202/385)
回答No.1

許可がないのだから、パーミッションなり所有権なりを適切にする。

to_ci
質問者

お礼

ありがとうございます。

関連するQ&A