Red Hat Enterprise Linux (RHEL) for AWS の PHP と SELinux でこの問題が発生しました。_FILES 配列を使用して POST からファイル (jpg) を取得すると、move_uploaded_file がファイルを標準ディレクトリにあるアップロード ディレクトリに移動するときに必要なuser_tmp_t代わりにSELinux タイプが作成されます。はファイルの SELinux タイプを変更しないため、jpg ファイルは使用できなくなります。この問題を解決するにはどうすればよいですか?httpd_sys_content_1var/www/html/move_uploaded_file
move_uploaded_file($_FILES['file']['tmp_name'], $uploaddir)私が使用しているものです。
php.ini sys_upload_dir と upload_tmp_dir を変更しようとしましたが、問題はまだ存在します。また、tmpファイルを保存するための新しいフォルダーを作成して使用しようとしましたsudo semanage fcontext -a -t httpd_sys_content_t "/phptmp(/.*)?"が、まだ機能しません。
semanage fcontext -a -t httpd_sys_content_t '/var/www/html(/.*)?'既存のファイルの問題は解決しますが、PHPが毎回restorecon -R -v /var/www/html/問題を引き起こしているため、将来的には機能しません。user_tmp_t
SELinux を使用したいのですが、PHP で SELinux プロパティを実際に変更する方法がわからないため、これは非常にイライラします。
これがSELinuxの問題であることはわかっています。そうすれば問題がsetenforce 0「解決」するからです。