FTP パーミッションエラー。CentOS 6 × Apache

CentOSaccount group

2種類

 状態:-  閲覧数:1,014  投稿日:2014-04-26  更新日:2019-08-16
FTPで、パーミッションエラー(permission denied)と表示された場合、内容は大きく2通りに分かれる
A.ディレクトリあるいはファイルの「所有者もしくは管理者」でなければ対応できないケース
B.rwxを適切に変更すれば対応できるケース


エラーメッセージ例


A.ディレクトリあるいはファイル所有者もしくは管理者でなければ対応できないケース
コマンド:	chmod 666 "test.php"
エラー: set attrs for /var/www/★★/test.php: permission denied


B.rwxを適切に変更すれば対応できるケース
コマンド:	mv "crop.php" "crop.php999"
エラー: mv /var/www/★★/crop.php /var/www/★★/crop.php999: permission denied
コマンド: rm "/var/www/★★/crop.php"
エラー: rm /var/www/★★/crop.php: permission denied


パーミッションエラーの種類

 閲覧数:382 投稿日:2014-04-28 更新日:2014-04-28 

2段階


パーミッションエラーには2段階ある
A.「ディレクトリまたはファイル所有者」が適切ではないケース
B.rwxが適切ではないケース


A.対応


「ディレクトリまたはファイル所有者」が適切ではないケース
・適切に設定すれば良い
・具体的には、【 chown 】でファイルやディレクトリの所有者を変更する

変更コマンドを使用して「ディレクトリまたはファイル所有者」を変更できるのは、スーパーユーザか管理者だけ
・所有グループに属しているユーザは、所有者を変更出来ない
・スーパーユーザになって、所有者変更しなければいけない



B.対応


rwxが適切ではないケース
・適切に設定すれば良い

A.「ディレクトリまたはファイル所有者」が適切ではないケース

 閲覧数:538 投稿日:2014-04-28 更新日:2014-04-28 

スーパユーザ


パーミッションエラーの起因が、chmodコマンドだった場合
・【 chown 】でファイルやディレクトリの所有者を変更するため、スーパーユーザになる


2種類のケース


どこでchownする?
・α.コマンド
・β.PHPファイル


β.PHPファイル


・PHPファイルでchownを実行しても権限やグループを変えることができない
・そこで、sudoでapacheユーザ(Apache実行ユーザ)に特定のコマンドだけを許すよう設定を変更する
・そのためには、apacheユーザにsudo権限を付与しなければいけない
・その他の方法としてapacheユーザにsudo権限を付与せず、Apache実行ユーザ自体を変更する手段もあり

・「sudo cat /etc/sudoers」で内容確認できるが、実際に編集する際はvisudo コマンドを使用

apacheユーザにパスワードなしで「mkdir」と「chown」の実行を許可する例
・NOPASSWD:のあとにコマンドを指定することで、特定のコマンドだけパスワードなしでsudo実行できるように制限をすることが可能
apache ALL=(ALL) NOPASSWD: /bin/mkdir, /bin/chown
・他のコマンドも許可したければ、続けて記述していけばOK
・「Defaults requiretty」はコメントアウト
・有効だと tty にログインしているユーザからしか、sudo コマンドを実行できなくなる
・例えば、requiretty を有効にした状態では apache から sudo を実行することができず、/var/log/secure に sorry, you must have a tty to run sudo のようなログが記録される
PHPプログラム中でapacheユーザでchownする方法

B.rwxが適切ではないケース

 閲覧数:379 投稿日:2014-04-28 更新日:2014-04-28 

対応例


FTPパーミッションエラー
・rwxを適切に変更すれば対応できる
$ sudo chmod 757 /var/www/☆☆/numerical-specification-trimming



グループ

/etc/groupでは、「そのグループをプライマリグループとするユーザ名」を確認することは出来ない



週間人気ページランキング / 9-14 → 9-20
順位 ページタイトル抜粋 アクセス数
1 PHPのmb_send_mail関数でメール送信できない | メール処理システム 29
2 Nginx設定。エラーログレベル | Nginx(Webサーバ) 21
3 Python 3.5 アンインストール / yum remove | Python(プログラミング言語) 11
4 FFmpeg 2.8.15 を yum インストール | ソフトウェアスイート 10
5 PHP実行ユーザ設定 / CentOS6 / Apache | PHP(プログラミング言語) 9
6 PHP Version 7.1.2 php-mecabエクステンション対応 / PHP 7.0.14 からのアップグレード  | MeCab(形態素解析) 8
6 ソースからビルドしたPython 2.7.3 アンインストール失敗 | Python(プログラミング言語) 8
7 touch コマンド / viコマンド。新規ファイル作成時の違い | Linuxコマンド 7
7 さくらVPS0 7
8 9回目-13.MySQL5.7.21設定 | CentOS 7 2週間無料のお試し期間 9回目(さくらVPS) 6
8 「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」対応 6
9 PHPファイルでchmodエラー | PHP(プログラミング言語) 5
9 設定 2019/1/22 / 一般ユーザがmailコマンドでメール送信 / 管理者がmailコマンドでメール送信 5
10 Postfix | メール処理システム 4
10 CentOSでcpコマンド動作確認するためには、Control + T ではなく、 -v オプションを使用 | cp(Linuxコマンド) 4
10 499 (Request has been forbidden by antivirus) | HTTP(通信プロトコル) 4
10 tar | Linuxコマンド 4
10 Python 3.6 インストール / make altinstall | Python(プログラミング言語) 4
10 「CentOS6」から「CentOS7」への移行 | CentOS 7 (CentOS) 4
10 echo と cat の違い 4
2021/9/21 1:01 更新