Selasa, 06 September 2011

Menginstall ProFtpd pada Slackware




Seperti biasa, pertama-tama kita install terlebih dahulu ports proFTPD dengan menggunakan perintah make install clean. Akan tetapi, setelah proses instalasi selesai, saya menemukan adanya konflik antara proFTPD dengan OpenSSL yang telah saya install sebelumnya. Untuk itu kita coba dengan menginstall ulang proFTPD ini, namun setelah melakukan make deinstall, kita lakukan make config terlebih dahulu. Disini kita bisa memilih supaya proFTPD kita tidak usah memiliki modul SSL, caranya uncheck pilihan mod_ssl.
Nah barulah kita make install clean lagi ports ini, sekarang ga konflik lagi deh..
Seperti yang kita lihat di akhir bagian proses instalasi, ada 2 file executable yang bisa dijalankan, salah satunya adalah /usr/local/etc/rc.d/proftpd.sh yang akan kita gunakan untuk menjalankan proFTPD. Caranya ketikkan saja
/usr/local/etc/rc.d/proftpd.sh start
selain itu ada juga pilihan stop dan restart yang berguna apabila kita melakukan perubahan pada file konfigurasi proFTPD.
File yang mengatur konfigurasi proFTPD adalah /usr/local/etc/proftpd.conf
Saya sendiri tidak banyak mengubah file ini, kecuali bagian anonymous ftp nya, karena memang saya ingin mengaktifkan fitur ini. Inilah contoh file proftpd.conf saya pada bagian anonymous settings:
<Anonymous ~ftp>
User ftp
Group ftp
### We want clients to be able to login with “anonymous” as well as “ftp”
UserAlias anonymous ftp
### Limit the maximum number of anonymous logins
MaxClients 10
### We want ‘welcome.msg’ displayed at login, and ‘.message’ displayed
### in each newly chdired directory.
DisplayLogin welcome.msg
DisplayFirstChdir .message
### Limit WRITE everywhere in the anonymous chroot
# <Limit WRITE>
# DenyAll
# </Limit>
</Anonymous>
Biasakan untuk selalu merestart proftpd setelah mengubah file proftpd.conf, supaya perubahan yang kita lakukan berdampak (ga ada bahasa yg lbh bgus?)
Tentu saja belum selesai sampai disini untuk membuat anonymous ftp, kita harus menambahkan terlebih dahulu user ftp yang termasuk dalam group ftp seperti yang dinyatakan pada konfigurasi kita diatas. Caranya gunakan saja perintah adduser.
Berikut ini contoh tampilan menu adduser :
# adduser
Username: ftp
Full name: FTP User
Uid (Leave empty for default):
Login group [ftp]:
Login group is joe. Invite joe into other groups? []:
Login class [default]:
Shell (sh csh tcsh bash nologin) [csh]:nologin
Home directory [/home/ftp]:/var/ftp
Lock out the account after creation? [no]:
Username : ftp
Password : <disabled>
Full Name : FTP User
Uid : 1002
Class :
Groups : ftp
Home : /var/ftp
Shell : /usr/sbin/nologin
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (ftp) to the user database.
Add another user? (yes/no): no
Goodbye!
Nah, kita sudah memiliki user ftp sekarang, tetapi ketika saya mencoba untuk login ke ftp server saya, muncul pesan error berikut :
530 : Login Incorrect
Setelah diselidiki lebih lanjut, ternyata kesalahan ada pada bagian shell pada user ftp. Bisa kita lihat pada file /etc/shells bahwa shell /usr/sbin/nologin tidak terdapat didalamnya!
Oleh karena itu editlah file /etc/shells hingga seperti ini :
# $FreeBSD: src/etc/shells,v 1.5 2000/04/27 21:58:46 ache Exp $
#
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/sh
/bin/csh
/bin/tcsh
/sbin/nologin
/usr/sbin/nologin
Nah, barulah setelah saya coba lagi, anonymous login bisa dilakukan ke ftp server saya ^__^
Supaya anonymous user bisa melakukan upload, download, write directory dan sebagainya, buatlah sebuah folder yang menjadi milik anonymous user (user ftp) pada direktori /var/ftp. Misalnya kita buat mkdir /var/ftp/pub. kemudian kita ganti kepemilikannya dengan perintah :
chown ftp:ftp /var/ftp/pub
Lalu setting permission untuk directory ini supaya bisa di read,write,execute dengan bebas oleh siapa saja. Caranya gunakan perintah :
chmod ugo+rwx /var/ftp/pub
Nah, beres deh seluruh settingan untuk anonymous user menggunakan proFTPD di FreeBSD saya ^__^
Sekarang saya ingin membuat private directory untuk user tertentu, dimana hanya user tersebut yang bisa masuk dan memodifikasi isi dari directory tersebut.
Caranya tinggal tambahkan saja 1 user lagi, dengan menggunakan adduser, contohnya :
# adduser
Username: ftpadmin
Full name: Admin FTp
Uid (Leave empty for default):
Login group [ftpadmin]:
Login group is joe. Invite joe into other groups? []:
Login class [default]:
Shell (sh csh tcsh bash nologin) [sh]:
Home directory [/home/joe]:/var/ftp
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [yes]:
Lock out the account after creation? [no]:
Username : ftpadmin
Password : ******
Full Name :
Uid : 1002
Class :
Groups : ftpadmin
Home : /var/ftp
Shell : /bin/sh
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (ftpadmin) to the user database.
Add another user? (yes/no): no
Goodbye!
Kemudian kita buat sebuah directory dengan perintah :
mkdir /var/ftp/private
Kemudian ganti kepemilikannya :
chown ftpadmin:ftpadmin /var/ftp/private
Kemudian atur permission nya :
chmod o-rwx
Selesai sudah, directory tersebut hanya bisa dimasuki oleh user ftpadmin saja, atau oleh user lain yang juga berada pada group ftpadmin.

sumber : http://bramz4ever.wordpress.com

Tidak ada komentar:

Posting Komentar