ขอปรึกษาการเขียนคำสั่ง shell ผ่าน php ทำยังไงหรอครับ

เนื่องจากว่า

ศึกษาเรื่อง sudo ด้วยครับ

เอาฟังชั้น shell_exec() ไปครับ ศึกษาดูเพิ่มเติมที่นี่ http://php.net/manual/en/function.shell-exec.php

ยืนยันอีกทีครับ
ลองค้นใน กระทู้เก่าๆได้ครับ

หลังจากที่ได้เขียนสคริปแล้ว ต้อง CHMOD หรือตั้งค่า Permission ให้สามารถ Execute ได้ด้วยนะครับ แล้วอีกอย่างคือ UID ของไฟล์นั้น จะต้อง มีสิทธิ์ที่จะ Execute คำสั่งที่เราเขียนลงไปด้วยครับ เช่นบางคำสั่งที่สามารถทำได้แต่ Root แต่ UID เป็นของ User อื่นๆ ก็ไม่สามารถรันได้ ตรงนี้มีหลายๆท่านพลาดบ่อยๆนะครับ

ยังไงก็เป็นกำลังใจช่วยให้เขียน Control Panel ให้สำเร็จนะครับ สู้ต่อไปครับ

[quote author=HostYim.com link=topic=26438.msg251091#msg251091 date=1268317830]
หลังจากที่ได้เขียนสคริปแล้ว ต้อง CHMOD หรือตั้งค่า Permission ให้สามารถ Execute ได้ด้วยนะครับ แล้วอีกอย่างคือ UID ของไฟล์นั้น จะต้อง มีสิทธิ์ที่จะ Execute คำสั่งที่เราเขียนลงไปด้วยครับ เช่นบางคำสั่งที่สามารถทำได้แต่ Root แต่ UID เป็นของ User อื่นๆ ก็ไม่สามารถรันได้ ตรงนี้มีหลายๆท่านพลาดบ่อยๆนะครับ

ยังไงก็เป็นกำลังใจช่วยให้เขียน Control Panel ให้สำเร็จนะครับ สู้ต่อไปครับ

[quote author=สายลมแสงแดด link=topic=26438.msg251093#msg251093 date=1268318129]

[quote author=HostYim.com link=topic=26438.msg251091#msg251091 date=1268317830]
หลังจากที่ได้เขียนสคริปแล้ว ต้อง CHMOD หรือตั้งค่า Permission ให้สามารถ Execute ได้ด้วยนะครับ แล้วอีกอย่างคือ UID ของไฟล์นั้น จะต้อง มีสิทธิ์ที่จะ Execute คำสั่งที่เราเขียนลงไปด้วยครับ เช่นบางคำสั่งที่สามารถทำได้แต่ Root แต่ UID เป็นของ User อื่นๆ ก็ไม่สามารถรันได้ ตรงนี้มีหลายๆท่านพลาดบ่อยๆนะครับ

ยังไงก็เป็นกำลังใจช่วยให้เขียน Control Panel ให้สำเร็จนะครับ สู้ต่อไปครับ

อย่าหาว่าดูถูกนะครับ
ขนาดติดตั้ง vhcs ยังไม่ผ่าน แล้วจะเขียน cp ใช้เอง ไม่รอดหรอกครับ แค่เริ่มก็ติดเรื่อง permission แล้ว กว่าจะเสร็จแก่พอดี

ติดตั้ง vhcs ให้ผ่านก่อนดีกว่าครับ แล้วค่อยเอา vhcs มาปรับแก้ หรือศึกษาหลักการทำงานของมันให้เข้าใจ แล้วค่อยมาเขียนของเราใช้งานเองน่าจะมีโอกาสสำเร็จมากกว่าครับ

ขอบคุณทุกคนมากๆๆครับ

ขอบคุณสำหรับคำชี้แนะครับ

ระว้งเรื่อง security นะครับ จะเอา php มารัน command ให้เช็ค security ดีๆล่ะกันครับ ไม่งั้นเครื่องอาจจะโดนยึดโดย Hacker ได้อย่างง่ายๆเลย

แล้วควรใช้ ภาษา อะไรเขียนดีครับ

ภาษาที่ถนัดและแม่นที่สุด รวมถึงเข้าใจหลักการการจำกัดสิทธิ์ใน linux ให้มากที่สุด

ที่สำคัญ ทุกคำสั่งต้องผ่านตัวกรองก่อนสั่งรันเสมอ ไม่ให้แทรกคำสั่งมั่วๆ ลงไปได้

php อย่าไปเขียนฟังก์ชั่นพวกนั้นเลย แนะนำว่าใช้ crontab เอาดีกว่า ใช้ shell script นิดหน่อยน่าจะดีกว่า
เช่น php รับคำสั่งจากหน้าเว็บให้ add user ก็ใส่ลงไฟล์คิวเอาไว้
จากนั้น crantab ก็ทำงาน ตามคำสั่งในไฟล์คิว

PHP + Message Queue

ผมว่าน้องเค้ามีความคิดที่ดีแล้วครับ และควรส่งเสริม ไม่ใช่ตัดกำลังใจ ด้วยคำพูดเช่นว่า

  • อันนั้นยังไม่เป็นเลย ยังอยากจะทำอันโน้นที่ยากกว่าอีก
  • อย่าเสียเวลาเลย ซื้อเค้าดีกว่า
    ฯลฯ

เพราะคนไทย มักจะคิดกันอย่างนี้ ติกันอย่างนี้ไงครับ ประเทศมันถึงไม่เจริญ แทนที่จะช่วยกันส่งเสริม (มือไม่พายเอาเท้าราน้ำกัน)
ถ้าคนเค้าอยากทำ เค้าไม่รู้มาถามก็แนะนำกันไป ไม่อยากแนะนำก็อยู่เงียบๆ ดีกว่าติแบบตัดทอนกำลังใจกันแบบนี้

เห็นด้วยครับที่พยายามคิดเองทำเอง เอาใจช่วยให้ทำให้สำเร็จ และก็อย่าท้อ ฝรั่งมันไม่ได้เก่งกว่าคนไทยแต่ฝรั่งมันมีโอกาสและกำลังใจมากกว่าคนไทยเท่านั้นเอง

เอางี้ล่ะกันครับ ถนัดยังไง ใช้อะไรได้ก็ทำๆไปก่อนครับ เอาให้มันใช้งานพอได้ก่อน ส่วนเรื่อง Security และเรื่องจะเอาโปรแกรมไปใช้งานจริง มันต้องทดสอบและแก้ไขกันอีกเยอะ เอาให้มันใช้ได้แล้วค่อยตามแก้ตามปิดช่องโหว่ทีหลังยังทัน(แต่อย่าเพิ่งเอาไปใช้กะงานจริงนะครับ) ถ้ามัวแต่เอาดีๆใหญ่ๆแต่ต้นกลัวว่าจะทำไม่ได้ ทำไม่เสร็จ และไม่มีกำลังใจทำต่อครับ(ถ้าเจอตรงที่มันยากๆ)

ขอบคุณ สำหรับทุกความคิดเห็นครับผม

ตอนนี้ กำลัง หาวิธี ให้ php ใช้ สิทธิ์ ในการ แก้ไข file อยู่ครับ

อันตรายมากนะครับ ถ้าเขียน script ดีก็ดีไป ถ้าไม่ดี อาจถูก hack ได้ง่ายๆ แต่ก็ขอเป็นกำลังใจให้นะครับ ความพยายามอยู่ที่ไหน ความสำเร็จอยู่ที่นั่น :slight_smile:

หากจะเขียนจริงๆต้องใช้ภาษา C ในการเขียนพวกโปรแกรม call low function ให้ php อีกต่อหนึ่ง
หรือไม่ก็เขียน perl ก็ได้ครับ

Unix/Linux ใช้ภาษา C ในการสร้างโปรแกรมต่างๆหมดแหละครับ แม้แต่ apache, mysql ก็เขียนขึ้นจาก gcc นั้นแหละ
แต่การส่ง parameter มาให้ php ผมก็ไม่เคยทำนะครับ

หากเขียนเป็น runtime exec ด้วย C เหมือนว่าเคยเห็นผ่านๆตา

เคยใช้ตัวนี้สักสิบปีที่แล้ว
http://www.courier-mta.org/sqwebmail/screenshots.html
เคยเห็นเป็น source code C และ compile มีใช้งานให้ perl เรียกใช้
ลองไปงัดๆแงะๆดูครับ

แม้แต่ DirectAdmin ตัว daemon มันก็เขียนด้วย C แล้วเขียนไวยกรณ์อ่าน template จากไฟล์
directadmin ก็เป็นโปรแกรม httpd ตัวเล็กๆตัวหนึ่งแยกออกมาต่างหากไม่เกี่ยวกับ apache เลย
จัดเก็บ data แยกจาก mysql ส่วนหนึ่ง

หลักๆเค้าก็เขียนตัว Engine ด้วยโปรแกรมภาษาซีกันทั้งนั้นครับ
แต่เขียนยังไงไม่รู้ครับ ลงหม้อหมดแล้ว ได้แค่ printf “Hello World
” แค่นี้แหละ lol

plesk ตัวเว็บใช้ php เขียนนะครับ

ส่วนหลังบ้านบางส่วนก็ื phpื เหมือนกัน