Score:0

อนุญาตให้อัปเกรด Wordpress ด้วย SELinux ใน EL8 ด้วย nginx/php-fpm

ธง vn

ฉันกำลังพยายามอนุญาตให้ใช้การอัปเกรด Wordpress (ไม่ใช่การอัปเดตปลั๊กอิน) โดยตรงบนเว็บอินเตอร์เฟส

ฉันมี SELinux ที่ทำงานได้ทุกอย่างยกเว้นคุณสมบัตินี้ เมื่อพยายามระบุสิ่งที่ควรอนุญาต ฉันไม่พบสิ่งที่จำเป็นต้องเปลี่ยนแปลงแทนที่จะติดป้ายกำกับใหม่ทั้งหมด /path/to/wordpress/ไดเรกทอรี ถึง unconfined_u:object_r:httpd_sys_rw_content_t:s0

ต่อไปนี้คือสิ่งที่เกิดขึ้นเมื่อฉันพยายามอัปเกรดผ่านเว็บอินเทอร์เฟซ:

==> /var/log/nginx/kosen.energy.access.log <==
172.21.1.28 - - [22/Jul/2021:14:21:27 -0300] "POST /wp-cron.php?doing_wp_cron=1626974487.4410700798034667968750 HTTP/1.0" 200 0 "https://kosen.energy/wp-cron .php?doing_wp_cron=1626974487.4410700798034667968750" "WordPress/5.7.2; https://kosen.energy"
172.21.1.28 - - [22/Jul/2021:14:21:29 -0300] "GET /wp-admin/update-core.php HTTP/1.0" 200 155053 "https://kosen.energy/wp-admin /update-core.php?action=do-core-upgrade" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML เช่น Gecko) เวอร์ชัน/14.1.1 Safari/605.1.15"

==> /var/log/audit/audit.log <== type=AVC msg=audit(1626974498.501:10696): avc: ปฏิเสธ { เขียน } สำหรับ pid=9658 comm="php-fpm" name="update- core.php" dev="dm-0" ino=101266980 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:httpd_sys_content_t:s0 tclass=file permissive=0

==> /var/log/nginx/error.log <== 2021/07/22 14:21:38 [ข้อผิดพลาด] 9646#0: *38349 ส่ง FastCGI ใน stderr: "ข้อความ PHP: คำเตือน PHP: คัดลอก (/ var/www/html/kosen.energy/wp-admin/includes/update-core.php): ไม่สามารถเปิดสตรีม: การอนุญาตถูกปฏิเสธใน /var/www/html/kosen.energy/wp-admin/includes/class- wp-filesystem-direct.php ที่บรรทัด 309" ขณะอ่านอัปสตรีม ไคลเอ็นต์: 172.21.1.28 เซิร์ฟเวอร์: _ คำขอ: "POST /wp-admin/update-core.php?action=do-core-upgrade HTTP/1.0 ", อัปสตรีม: "fastcgi://unix:/run/php-fpm/www.sock:", โฮสต์: "kosen.energy", ผู้อ้างอิง: "https://kosen.energy/wp-admin/update-core .php"

==> /var/log/nginx/kosen.energy.access.log <==
172.21.1.28 - - [22/Jul/2021:14:21:38 -0300] "POST /wp-admin/update-core.php?action=do-core-upgrade HTTP/1.0" 200 150059 "https:/ /kosen.energy/wp-admin/update-core.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML เช่น Gecko) เวอร์ชัน/14.1.1 Safari/605.1.15"

บน wp-config.conf ฉันมีแล้ว FS_METHOD เช่น โดยตรง:

/** เปิดใช้งานการสนับสนุนที่เหมาะสมสำหรับการอัปเดตโดยไม่ต้องใช้ FTP/FTPS */
กำหนด ('FS_METHOD', 'โดยตรง');

php-fpm กำลังทำงานเป็น จิงซ์ ผู้ใช้:

[root@kosen kosen.energy]# ผู้ใช้ grep /etc/php-fpm.d/www.conf | grep -v \;
ผู้ใช้ = nginx
Listen.acl_users = apache,nginx

ข้อมูลเพิ่มเติม:

[root@kosen kosen.energy]# rpm -qa | egrep "php-fpm|nginx"
nginx-mod-http-xslt-filter-1.14.1-9.0.1.module+el8.0.0+5347+9282027e.x86_64
nginx-mod-http-image-filter-1.14.1-9.0.1.module+el8.0.0+5347+9282027e.x86_64
nginx-mod-http-perl-1.14.1-9.0.1.module+el8.0.0+5347+9282027e.x86_64
nginx-mod-mail-1.14.1-9.0.1.module+el8.0.0+5347+9282027e.x86_64
nginx-1.14.1-9.0.1.module+el8.0.0+5347+9282027e.x86_64
nginx-all-modules-1.14.1-9.0.1.module+el8.0.0+5347+9282027e.noarch
nginx-filesystem-1.14.1-9.0.1.module+el8.0.0+5347+9282027e.noarch
nginx-mod-stream-1.14.1-9.0.1.module+el8.0.0+5347+9282027e.x86_64
php-fpm-7.4.6-4.module+el8.3.0+7685+72d70b58.x86_64

ขอบคุณ.

Score:1
ธง cz

ไฟล์ WordPress ทั้งหมดจะต้องเขียนได้เพื่อใช้ฟังก์ชันอัปเกรดจากหน้าเว็บผู้ดูแลระบบ ฉันไม่ทำเช่นนี้ ฉันใช้ วพ คำสั่งอัปเกรด WordPress โดยตรงบนเซิร์ฟเวอร์

wp อัพเดตคอร์
wp คอร์อัพเดต-db
vn flag
ฉันต้องเพิ่ม wp-cli เพื่อใช้ฟังก์ชันนี้ใช่ไหม คุณมีวิธีแก้ไขใด ๆ เมื่อคุณดูแลเซิร์ฟเวอร์ แต่ผู้ใช้ทั่วไป (ไม่ใช่ sysadmin) เป็นผู้ดูแลหน้า Wordpress หรือไม่ ขอบคุณ!
Michael Hampton avatar
cz flag
ใช่ นี่คือ wp-cli ผู้ใช้สามารถเรียกใช้งานได้เองเมื่อไฟล์เป็นของตนเอง (อย่างที่ควรจะเป็น)
vn flag
ฉันทำเครื่องหมายว่าเป็นคำตอบที่ถูกต้องเพราะนั่นเป็นแนวคิดที่ดีสำหรับปัญหา เกี่ยวกับการอนุญาตผู้ใช้ ณ วันนี้ เราใช้งานภายใต้ nginx:nginx คุณกำลังบอกว่าฉันควรสร้างผู้ใช้และพวกเขาส่งไฟล์ทั้งหมดไปยัง user:nginx หรือไม่ แต่อีกครั้ง ฉันจะต้องให้ความรู้แก่ผู้ใช้ เนื่องจาก ssh ไม่ใช่สิ่งที่พวกเขารู้
Michael Hampton avatar
cz flag
ใช่ nginx ไม่ต้องการสิทธิ์แบบเต็มสำหรับไฟล์ เพียงแค่ต้องสามารถอ่านได้ php-fpm ต้องสามารถเขียนไปยังไดเร็กทอรีอัพโหลดได้ ผู้ใช้ที่เหลือสามารถเป็นเจ้าของได้
vn flag
ฉันจะทำอย่างนั้น ขอบคุณ ไมเคิล!

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา