SUSE LINUX Enterprise & openSUSE Community
มกราคม 18, 2019, 04:08:11 AM *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
ข่าว:
 
   หน้าแรก   ช่วยเหลือ ค้นหา เข้าสู่ระบบ สมัครสมาชิก  

[Why we need your support] SUSE and openSUSE are trademarks of Attachmate Group, Inc. - WE ARE NOT IN ANY WAY ASSOCIATED WITH SUSE AND ATTACHMATE GROUP. SUSEThailand.com is a SUSE Linux user and community found in Thailand but not limited to other country suse linux user to join in. Currently active contents (How to's, Scripts, Tips, Tricks, Tutorials, Linux Command Line, and Troubleshooting) this suse linux how to's and expert support are SUSE Linux.
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน
หัวข้อ: ติดตั้ง FTP Server (pure-ftpd) Authentication Users with LDAP Directory  (อ่าน 2086 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« เมื่อ: มิถุนายน 02, 2012, 12:59:57 AM »


ติดตั้ง FTP Server (pure-ftpd) Authentication Users with LDAP Directory

เมื่อติดตั้ง FTP Server บน SUSE Enterprise Server 11 SP2 จะมีแพกเกจให้เลือกติดตั้งเพื่อรันเป็นเซอร์วิส FTP Server อยู่ด้วยกัน 2 แพกเกจนั้นคือ vsftpd กับ pure-ftpd โดยค่าเริ่มต้นจะเป็น vsftpd

pure-ftpd - A Lightweight, Fast, and Secure FTP Server สนับสนุน PAM, CHROOT home directory, Virtual domains, Anti-warez system, Bandwidth throtting, FXP, Bounded ports สำหรับ passive ดาวน์โหลด และอัพโหลด

Vsftpd - FTP server daemon "vs" มาจากคำว่า Very Secure ได้รับความนิยมและเชื่อถือได้ และมีความปลอดภัยสูง (Very Secure) ตามชื่อโปรแกรม

ทั้งสองแพกเกจค่อนข้างคอนฟิกง่ายทั้งคู่


1. ติดตั้ง FTP Server (pure-ftpd server)


คลิกที่ YaST



คลิกเมนู FTP Server



คลิกเลือก ftp daemon เป็น pure-ftpd



เลือกสตาร์ตอนบูต "When booting"



แท็บ General



แท็บ Performance



แท็บ Authentication



แท็บ Expert Settings




2. คอนฟิก pure-ftpd Server

ไฟล์คอนฟิกจะอยู่ที่ /etc/pure-ftp/pure-ftpd.conf

หลังจากติดตั้งเสร็จ default user คือ ftp และ home directory จะอยู่ที่ /srv/ftp


3. คอนฟิก Anonymous FTP (ไม่ต้องพิสูจน์ตัวตน)

- ดีฟอลต์คอนฟิกหลังจากติดตั้งเสร็จ

โค๊ด:
grep -v ^# /etc/pure-ftpd/pure-ftpd.conf | grep -v ^$

โค๊ด:
ChrootEveryone YES
BrokenClientsCompatibility no
MaxClientsNumber 10
Daemonize YES
MaxClientsPerIP 3
VerboseLog NO
AllowDotFiles yes
DisplayDotFiles yes
AnonymousOnly YES
NoAnonymous NO
SyslogFacility ftp
DontResolve yes
MaxIdleTime 15
PAMAuthentication yes
LimitRecursion 2000 8
AnonymousCanCreateDirs NO
MaxLoad 4
PassivePortRange 1024:30100
AntiWarez YES
Umask 177:077
MinUID 40
AllowUserFXP no
AllowAnonymousFXP no
ProhibitDotFilesWrite yes
ProhibitDotFilesRead no
AutoRename yes
AnonymousCantUpload YES
MaxDiskUsage 99
NoRename yes
CustomerProof yes
TLS 0
[/cod]

[code]
vi /etc/pure-ftpd/pure-ftpd.conf

เพิ่มออบชันด้านล่างนี้

ChrootEveryon   YES         
#ใช้ CHROOT ผู้ใช้จะใช้ไดเรกทอรีตัวเองเท่านั้น "/home/users" (ดีฟอลต์คอนฟิก)

AnonymousOnly YES            
#ไม่ต้องพิสูจน์ตัวตน (เป็นค่าเริ่มต้นมาแล้ว)

AnonymousCantUpload    YES   
#ดาวน์โหลดได้เท่านั้น ไม่สามารถอัพโหลดไฟล์ขึ้นเซิร์ฟเวอร์ได้ (ดีฟอลต์คอนฟิก)

ผู้ใช้ anonymous จะมีข้อจำกัดคือไม่สามารถ browse ไปยังไดเรกทอรีอื่นๆ บนเซิร์ฟเวอร์

- รีสตาร์เซอร์วิสแล้วทดสอบ

โค๊ด:
rcpure-ftpd restart

- ทดสอบด้วย command line

ftp 127.0.0.1
Connected to 127.0.0.1.
220-Welcome to Pure-FTPd.
220-You are user number 1 of 10 allowed.
220-Only anonymous FTP is allowed here
220 You will be disconnected after 15 minutes of inactivity.
Name (127.0.0.1:root): ftp
230 Anonymous user logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
229 Extended Passive mode OK (|||9407|)
150 Accepted data connection
drwxr-xr-x    2 0          0                4096 May  5  2010 .
drwxr-xr-x    2 0          0                4096 May  5  2010 ..
226-Options: -a -l
226 2 matches total
ftp> exit
221-Goodbye. You uploaded 0 and downloaded 0 kbytes.
221 Logout.

- anonymous users จะไม่สามารถสร้างไดเรกทอรีได้ (ดีฟอลต์คอนฟิก)

ftp> mkdir test
550 Sorry, anonymous users are not allowed to create directories


NOTE: สามารถคอนฟิกออบชันจาก YaST > FTP Server ได้เลย


4. คอนฟิก FTP สำหรับ Authorized Users

เปิดให้งานการพิสูจน์ตัวตนสำหรับอัพโหลดและดาวน์โหลดไฟล์ โดยจะใช้ username/password จาก local "passwd" ไฟล์ (PAM)
เพิ่มออบชันด้านล่างนี้

ChrootEveryone      YES   
#ใช้ CHROOT ผู้ใช้จะใช้ไดเรกทอรีตัวเองเท่านั้น "/home/users" (ดีฟอลต์คอนฟิก)

NoAnonymous      YES   
#ปิดใช้ anonymous users

- ทดสอบ

ftp 127.0.0.1
Connected to 127.0.0.1.
220-Welcome to Pure-FTPd.
220-You are user number 1 of 10 allowed.
220 You will be disconnected after 15 minutes of inactivity.
Name (127.0.0.1:root): sontaya
331 User sontaya OK. Password required
Password:
230-User sontaya has group access to:  users      video      dialout
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir test
257 "test" : The directory was successfully created
ftp> pwd
257 "/" is your current location
ftp> ls
229 Extended Passive mode OK (|||18316|)
150 Accepted data connection
drwxr-xr-x    6 sontaya    users            4096 Jun  2 00:16 .
drwxr-xr-x    6 sontaya    users            4096 Jun  2 00:16 ..
-rw-------    1 sontaya    users               0 Mar  2 15:32 .bash_history
-rw-r--r--    1 sontaya    users            1177 Mar  2 15:32 .bashrc
-rw-r--r--    1 sontaya    users            1637 Mar  2 15:32 .emacs
drwxr-xr-x    2 sontaya    users            4096 Mar  2 15:32 .fonts
-rw-r--r--    1 sontaya    users             861 Mar  2 15:32 .inputrc
drwxr-xr-x    2 sontaya    users            4096 Mar  2 15:32 .mozilla
-rw-r--r--    1 sontaya    users            6043 Mar  2 15:32 .muttrc
-rw-r--r--    1 sontaya    users            1028 Mar  2 15:32 .profile
-rw-r--r--    1 sontaya    users             849 Mar  2 15:32 .vimrc
-rw-r--r--    1 sontaya    users            1940 Mar  2 15:32 .xim.template
-rwxr-xr-x    1 sontaya    users            1446 Mar  2 15:32 .xinitrc.template
drwxr-xr-x    2 sontaya    users            4096 Mar  2 15:32 bin
drwx------    2 sontaya    users            4096 Jun  2 00:16 test
226-Options: -a -l
226 15 matches total
ftp> exit
221-Goodbye. You uploaded 0 and downloaded 0 kbytes.
221 Logout.

- ทดสอบเปลี่ยนแปลไดเรกทอรี

ftp> cd /home
550 Can't change directory to /home: No such file or directory


NOTE: สามารถคอนฟิกออบชันจาก YaST > FTP Server ได้เลย


5. คอนฟิก FTP ให้พิสูจน์ตัวตนจาก LDAP directory

- สร้างผู้ใช้

ที่ YaST Control Center > Users and Groups Management





- คอนฟิก PAM ไฟล์ให้สนับสนุน LDAP access

โค๊ด:
vi /etc/pam.d/pure-ftpd

#%PAM-1.0
auth       sufficient   pam_ldap.so  <--เพิ่มบรรทัดนี้
auth       required     pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      common-auth
account    include      common-account
password   include      common-password
session    required     pam_loginuid.so
session    include      common-session

- เปิดใช้งานออบชันสร้างไดเรกทอรีอัตโนมัติตอนผู้ใช้ล็อกอิน

โค๊ด:
vi /etc/pure-ftpd/pure-ftpd.conf
...
CreateHomeDir               yes
...

จากนั้นให้รีสตาร์ pure-ftpd

โค๊ด:
rcpure-ftpd restart

- ทดสอบ ftp

ftp 127.0.0.1
Connected to 127.0.0.1.
220-Welcome to Pure-FTPd.
220-You are user number 1 of 10 allowed.
220 You will be disconnected after 15 minutes of inactivity.
Name (127.0.0.1:root): ldapuser1
331 User ldapuser1 OK. Password required
Password:
230-User ldapuser1 has group access to:  users
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/" is your current location
ftp> mkdir test
257 "test" : The directory was successfully created
ftp> ls
229 Extended Passive mode OK (|||60486|)
150 Accepted data connection
drwx------    3 ldapuser1  users            4096 Jun  2 00:30 .
drwx------    3 ldapuser1  users            4096 Jun  2 00:30 ..
drwx------    2 ldapuser1  users            4096 Jun  2 00:30 test
226-Options: -a -l
226 3 matches total
ftp> exit
221-Goodbye. You uploaded 0 and downloaded 0 kbytes.
221 Logout.


6. pure-ftpd Runlevel

สั่งให้สตาร์เซอร์วิสตอนบูตเครื่อง

โค๊ด:
insserv pure-ftpd

เป็นอันเสร็จครั
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป:  

(@)2007 SUSE Linux user community found in Thailand. This site is not an official openSUSE and SUSE website, and is not in any way affiliated with or endorsed by SUSE Linux GmbH or Novell. openSUSE and SUSE are trademarks of Novell, Inc. in the United States and other countries.
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
หน้านี้ถูกสร้างขึ้นภายในเวลา 0.049 วินาที กับ 21 คำสั่ง (Pretty URLs adds 0.013s, 2q)