web-dev-qa-db-ja.com

「操作が許可されていません」という実行時エラーでchmodを介して権限を変更する

chmod()を使用して実行時に権限を変更すると、次のメッセージが表示されます。

警告:chmod()[function.chmod]:/home/loud/public_html/readalbum.phpでの操作は許可されていません

このエラーを削除してchmod関数を機能させるにはどうすればよいですか?

16
Deepak
$ Sudo chmod ...

ファイルの所有者またはスーパーユーザー、つまりユーザーrootである必要があります。ディレクトリは所有しているがファイルは所有していない場合は、ファイルをコピーし、元のファイルをrmしてから、元に戻すと、chownできるようになります。

一時的にrootになる簡単な方法は、Sudo経由でコマンドを実行することです。 ($ man 8 Sudo

19
DigitalRoss

Chmodを実行するには、変更しようとしているファイルの所有者、またはrootユーザーである必要があります。

3

これはトリッキーな質問です。

ファイルのアクセス許可に関する一連の問題があります。コマンドラインでこれを行うことができる場合

$ Sudo chown myaccount /path/to/file

次に、標準の権限の問題があります。ファイルの所有者であり、ディレクトリを変更する権限があることを確認してください。

権限を取得できない場合は、おそらくFAT-32ファイルシステムをマウントしています。もし、あんたが ls -lファイル、およびそれがrootおよび「plugdev」グループのメンバーによって所有されていることが判明した場合は、その問題が確実です。 FAT-32権限は、マウント時に/ etc/fstabファイルの行を使用して設定されます。次のように、すべてのファイルのuid/gidを設定できます。

UUID=C14C-CE25  /big            vfat    utf8,umask=007,uid=1000,gid=1000 0       1

また、FAT-32はシンボリックリンクをとらないことに注意してください。

すべてを http://www.charlesmerriam.com/blog/2009/12/operation-not-permitted-and-the-fat-32-system/

1
Charles Merriam

あなた、またはおそらくシステム管理者は、rootとしてログインし、chownコマンドを実行する必要があります。 http://www.computerhope.com/unix/uchown.htm

このコマンドにより、ファイルの所有者になります。

または、このファイルを所有するグループのメンバーになることができ、chmodを使用できます。

ただし、システム管理者に相談してください。

0
James Black