Salam....
Tempo hari saya menanyakan cara untuk menjalankan daemon smb lewat web dengan
php...kemudian muncul mas idban secandri yang memberikan tanggapan agar
memanfaatkan virtual host yang ada di apache.....
Berikut saran dari mas idban :
----
...di apache khan ada fasilitas virtual daemon naa ituaja dimanfaatin,
kamu bikin virtualhost dng port khusus misalnya port 1234 disana set user
yang menjalankan sebagai root dan groupnya root jugak ( coba buka2 lagi degh
manual apachenya ) di virtualhost tadi ( yang portnya 1234 ) scripts yang
dijalankan via web tidak lagi sbg nobody tp root karena kamu sudah set
divirtualhostnya untuk virtual host tsb user via web beraksi lewat hak root..
----
Saya mencoba mengikuti saran diatas sambil belajar ;) maka dari itu mohon
diberitahu kalau salah :
Berikut seting virtual host di httpd.conf saya :
...
NameVirtualHost 192.168.1.1
...
<VirtualHost 192.168.1.1>
DocumentRoot "/swatindo"
ServerName buaya
</VirtualHost>
Saya mengasumsikan saran mas idban adalah mengeset "User dan Group root"
inside virtual host..... secara umum menurut manualnya untuk mengeset user
dan password membutuhkan dukungan suexec wrapper....maka saya kompile lagi
apachenya dengan opsi :
./configure --enable-module=most --enable-shared=max
--enable-suexec
--suexec-caller=root #username yang akan menjalankan program CGI nantinya...
--suexec-docroot=/swatindo # direktori kerja saya..
--suexec-uidmin=0 # user ID root
--suexec-gidmin=0 # group ID root
--suexec-safepath="/bin:/sbin:/usr/bin:/usr/sbin:/etc/rc.d/init.d"
Ternyata untuk kalau "User dan Group di set root" di dalam virtual host akan
menyebabkan error, setelah saya test dengan apachectl configtest berikut
erornya :
Error : Apache has not been designed to serve pages while
running as root. There are known race conditions that
will allow any local user to read any file on the system.
If you still desire to serve pages as root then
add -DBIG_SECURITY_HOLE to the EXTRA_CFLAGS line in your
src/Configuration file and rebuild the server. It is
strongly suggested that you instead modify the User
directive in your httpd.conf file to list a non-root
user.
Saya sudah mencoba mengikuti saran diatas...kemudian dikompile ternyata masih
keluar error diatas..
Kemudian saya hilangkan seting User dan Group root, dan mencoba menjalankan
script php
dengan isi : system("/etc/rc.d/init.d/smb restart"),
Sebelumnya saya pastikan smbd tidak jalan dan saya sudah tambahkan chmod +s
untuk :
- script php
- daemon smb dan nmb di /usr/sbin/
- script /etc/rc.d/init.d/smb
Saya cek dengan ps -aux | grep mbd :
root 5383 0.0 1.6 2552 1076 ? S 10:57 0:00 smbd -D
root 5393 0.0 1.6 2096 1084 ? S 10:57 0:00 nmbd -D
Berarti daemon tersebut sudah dijalankan oleh root kan....??
Masalahnya sekarang adalah tidak bisa mematikan daemon tersebut....
Berikut hasil di browser ...
Shutting down SMB services: [FAILED]
Shutting down NMB services: [ OK ]
Starting SMB services: [PASSED]
Starting NMB services: [ OK ]
dan hasil cek dengan ps -aux | grep mbd :
root 5383 0.0 1.6 2552 1076 ? S 10:57 0:00 smbd -D
root 5443 0.0 1.6 2096 1084 ? S 11:04 0:00 nmbd -D
Apa yang harus saya lakukan agar daemon smb itu dapat saya matikan lewat web
??
Apakah setingan virtual hostnya ada yang salah ? atau scrip phpnya yang harus
di modifikasi ??
Terima kasih...
dede
--
Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3