บทความนี้จะเป็นการสอนวิธีการติดตั้ง Mod_ruid2 สำหรับ apache server  ในการป้องกันการแก้ไขไฟล์จาก user อื่นๆ ที่อยู่ในเครื่อง พูดง่ายๆ ก็คือป้องกัน hacker  ที่จะมาโจมตีเว็บไซต์ หรือ vps server ของคุณครับ ขอบคุณบทความดีๆ จาก [email protected] ที่เขียนบทความดีๆ ให้อ่านครับ นอกเหนือจากนี้ ยังสามารถทำให้  wordpress มีความปลอดภัยมากยิ่งขึ้นและสามารถติดตั้ง plugin theme โดยที่ไม่ต้องตั้งค่า ftp แต่อย่างใด
วิธีการ ทีละบรรทัดนะครับ ใจเย็นๆ

#Download and Complie
yum -y install libcap-devel
cd /root
wget -O mod_ruid2-0.9.8.tar.bz2 "http://downloads.sourceforge.net/project/mod-ruid/mod_ruid2/mod_ruid2-0.9.8.tar.bz2?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmod-ruid%2Ffiles%2F&ts=1395735189&use_mirror=cznic"
tar xjf mod_ruid2-0.9.8.tar.bz2
cd mod_ruid2-0.9.8
apxs -a -i -l cap -c mod_ruid2.c
cd /usr/local/directadmin/data/templates/
cp virtual_host2* custom/
chown -R diradmin:diradmin custom/
echo "action=rewrite&value=httpd">>/usr/local/directadmin/data/task.queue
/usr/local/directadmin/dataskq d800

ทีนี้ เราลองเช็คดูครับว่า httpd โหลดมอดูลเข้าไปแล้วหรือยัง ด้วยคำสั่ง

grep 'mod_ruid2'/etc/httpd/conf/httpd.conf

ถ้าใช้ได้ จะเจอประมาณนี้เป้น output ครับ

LoadModule ruid2_module /usr/lib/apache/mod_ruid2.so

แล้วรัน

chown -R webapps:webapps /var/www/html 

เพื่อให้ เมลกระรอก,roundcube และ phpmyadmin ใช้งานได้
และแก้ไข httpd config นิดหน่อยครับ

เปิดไฟล์ /etc/httpd/httpd.conf แล้วเพิ่มตัวหนาลงไปในคอนฟิคส่วนนี้ครับ

(ถ้าไม่เจอ จะอยู่ใน /etc/httpd/conf/extra/httpd-directories.conf)

<Directory “/var/www/html”>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
<IfModule mod_suphp.c>
suPHP_Engine On
suPHP_UserGroup webapps webapps
</IfModule>
RUidGid webapps webapps
</Directory>

แล้ว RESTART HTTPD หนึ่งที เป็นอันเสร็จพิธี ทีนี้ลองสร้าง user ขึ้นมาเทสครับ ลงพวก CMS อะไรก็ได้ที่ require 777 chmod มันจะไม่ require อีกต่อไปแล้ว

ทีนี้ในระบบเก่าคุณอาจจะมี user ที่มีไฟล์เป้น owner apache อยู่ มันอาจจะมีปัญหา ให้แก้ด้วยสคริปตามบรรทัดด้านล่างได้เลยครับ
สคริปต์จะเข้าไปเช็ค permission และแก้ไขทั้งหมดให้เป็น permission ของ user ไม่ world-readable อีกต่อไป
**** ก่อนรันคุณต้องมั่นใจว่าทำตัวหนาด้านบนผ่านแล้วนะครับ ไม่งั้นละก็ คุณรับโทรศัพท์สนุกแน่ครับ ****

cd /usr/local/directadmin/scripts &&./set_permissions.sh user_homes
find /home/*/domains/*/public_html -type d -print0 | xargs -0 chmod 755
find /home/*/domains/*/public_html -type f -print0 | xargs -0 chmod 644
find /home/*/domains/*/public_html -type f -name '*.cgi*'-exec chmod 755{} \;
find /home/*/domains/*/public_html -type f -name '*.pl*'-exec chmod 755{} \;
find /home/*/domains/*/public_html -type f -name '*.pm*'-exec chmod 755{} \;
cd /usr/local/directadmin/data/users &&for i in`ls`;do{ chown -R $i:$i /home/$i/domains/*/public_html;}; done;
 
Hasznosnak találta ezt a választ? 0 A felhasználók hasznosnak találták ezt (0 Szavazat)

Legnépszerűbb cikkek

Linux Server (CentOS) : ถ่ายโอนไฟล์ระหว่าง Windows กับลีนุกซ์ ด้วย pscp

ในหลายๆ ครั้ง เรามีไฟล์อยู่บน Windows ต้องการถ่ายโอนไปยังลีนุกซ์ หรือในทำนองกลับกัน...

Linux Server (CentOS) : ล็อกอินก่อนส่งเมล์ ด้วยการคอนฟิก SMTP AUTH

 เพื่อป้องกันไม่ให้ผู้ไม่มีสิทธิ์หรือผู้ไม่ปรารถนาดีทั้งหลาย...

Linux Server (CentOS) : เข้ารหัสการส่งอีเมล์ด้วยการคอนฟิก TLS

หลังจากที่ คอนฟิก postfix เบื้องต้น บน CentOS 6 ในบทความนี้เราจะเพิ่มความปลอดภัยในการส่งเมล์...

Linux Server (CentOS) : ติดตั้งฐานข้อมูล MySQL

ในบทความนี้จะสอนวิธีการติดตั้งไฟล์ rpm ฐานข้อมูล MySQL บน CentOS 6.2 โดยจะอธิบายทีละขั้นตอน...

Linux Server (CentOS) : ติดตั้งโปรแกรมภาษาเว็บ PHP บน Apache

หลังจาก ติดตั้งเว็บเซิร์ฟเวอร์ ​Apache ในบทความนี้จะสอนวิธีการติดตั้งไฟล์ rpm เพื่อจะติดตั้ง php...