RHEL 5搭建FTP的完美組合
FTP服務器是在互聯(lián)網(wǎng)上提供存儲空間的計算機,它們依照FTP協(xié)議提供服務。RHEL 5是一個穩(wěn)定的計算機系統(tǒng),所以RHEL 5搭建FTP是相當重要的。RHEL 5搭建FTP是一個嚴謹?shù)倪^程,對一些很細小的地方有很嚴格的要求,下面就來介紹一些RHEL 5搭建FTP的細節(jié)問題。
vsftp允許三種方式登陸:
◆匿名登陸(使用ftp或anonymous,密碼為空或是電子郵件地址)
◆本地用戶登陸(在vsftp服務器存在的系統(tǒng)用戶,但特殊的用戶如root除外)
◆虛擬用戶(不能進行系統(tǒng)登陸,但能用于ftp登陸的用戶)。
[root@Linserv ~]# rpm -ivh /mnt/Server/vsftpd-2.0.5-10.el5.i386.rpm
warning: /mnt/Server/vsftpd-2.0.5-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:vsftpd ########################################### [100%]
[root@Linserv /]# vi /etc/vsftpd/ftpusers
# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
[root@Linserv /]# vi /etc/vsftpd/user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
ftp
anonymous
pop3
smtp
exchange
[root@Linserv /]# vi login.txt
pop3
Naruto
smtp
Naruto
exchange
123
[root@Linserv /]# rpm -ivh /mnt/Server/db4-utils-4.3.29-9.fc6.i386.rpm
warning: /mnt/Server/db4-utils-4.3.29-9.fc6.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:db4-utils ########################################### [100%]
[root@Linserv /]# db_load -t hash -T -f /login.txt /etc/vsftpd/login.db
[root@Linserv /]# ll /etc/vsftpd/login.db-rw-r--r-- 1 root root 12288 Nov 14 08:34 /etc/vsftpd/login.db
[root@Linserv /]# chmod 600 /etc/vsftpd/login.db
[root@Linserv /]# ll /etc/vsftpd/login.db-rw------- 1 root root 12288 Nov 14 08:34 /etc/vsftpd/login.db
[root@Linserv /]# vi /etc/pam.d/vsftpd.yang
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/login
root@Linserv /]# useradd -d /home/ftpsite virtual
[root@Linserv /]# chmod 700 /home/ftpsite/
[root@Linserv /]# ll -d /home/ftpsite/
drwx------ 2 virtual virtual 4096 Nov 14 08:42 /home/ftpsite/
[root@Linserv /]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd.yang
userlist_enable=YES
userlist_deny=no
tcp_wrappers=YES
guest_enable=yes
guest_username=virtual
chroot_local_user=yes
hide_ids=yes
max_clients=100
max_per_ip=5
anon_max_rate=200000
user_config_dir=/etc/vsftpd/user_config
[root@Linserv /]# ls /etc/vsftpd/user_config/anonymous exchange ftp pop3 smtp
[root@Linserv /]# cat /etc/vsftpd/user_config/pop3
anon_world_readable_only=no
anon_upload_enable=yes
[root@Linserv /]# service vsftpd start
Starting vsftpd for vsftpd:[ OK ]
[root@Linserv /]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
rpm:x:37:37::/var/lib/rpm:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
pcap:x:77:77::/var/arpwatch:/sbin/nologin
a:x:500:500::/home/a:/bin/bash
b:x:501:501::/home/b:/bin/bash
virtual:x:502:502::/home/ftpsite:/bin/bash
◆注:RHEL 5搭建FTP過程中,可在vsftpd.conf配置文件中添加user_list enable=yes和user_list deny=no,第一項表示使用user_list文件驗證用戶身份,該文件路徑為/etc/vsftpd/user_list;第二項表示只有user_list文件中的用戶將允許ftp登陸,其他的所有用戶將無條件被拒絕,接著就可以將虛擬用戶添加進該文件。同時在/etc/vsftpd還有一個文件/ftpuser,該文件中的用戶將無條件拒絕ftp登陸,里面的用戶主要是一些系統(tǒng)用戶,如root,nobody,bin,adm等)
◆注:在RHEL 5搭建FTP中用戶登陸后將在virtual系統(tǒng)的主目錄。即/home/ftpsite,同時要在vsftp的主配置文件添加一項將本地用戶禁錮在自己的主目錄中,以提高安全性,具體為:chroot_local_user=yes ;同時可以添加一項隱藏用戶ID號,具體為:hide_ids=yes ;還可以在主配置文件中設置同時有多少個客戶端能連上服務器,具體為:max_clients=100 ;同時可以設置客戶端的速率和線程數(shù)具體為:
◆max_per_ip=5 (表示同一個IP的客戶機與服務器建立的連接數(shù)不能超過5個)
◆local_max_rate=500000 (表示本地用戶的最大傳輸速率為500Kb/s)
◆anon_max_rate=200000 (表示匿名用戶的最大傳輸速率為200Kb/s)
表示最多有100個客戶端能連上服務器; 改變主配置文件后需要重啟服務。
虛擬用戶登陸后將不能進行任何操作,因為它只有系統(tǒng)的最低權限,接下來我們就要對每個虛擬用戶設置具體的權限了,在這之前需要在主配置文件中添加一項設置虛擬用戶的配置文件,具體為:user_config_dir=/etc/vsftpd_user(此為虛擬用戶配置文件的存放位置,可根據(jù)具體情況修改位置)然后要創(chuàng)建該目錄:mkdir /etc/vsftpd_user ;接下來就要在該目錄下創(chuàng)建針對每個虛擬用戶的同名配置文件,如本例中的clst01,然后對clst01進行具體的設置ftp權限,具體的權限設置有:
◆anon_world_readable_only=no(表示用戶可以瀏覽ftp目錄和下載文件)
◆anon_upload_enable=yes (表示用戶可以上傳文件)
◆anon_mkdir_wirte_enable=yes(表示用戶具有創(chuàng)建和刪除目錄的權限)
◆anon_other_write_enable=yes(表示用戶具有文件改名和刪除文件的權限)
針對每個用戶的實際需要進行調整,保證服務器的安全!
在RHEL 5操作系統(tǒng)平臺可以選擇使用wu-ftpd,porftpd,vsftpd等多個FTP服務器軟件,這些軟件都有各自的特點。vsftpd名稱中的vs是very secure的縮寫,即“非常安全”的ftp服務器,同時vsftpd的速度是wu-ftpd的兩倍,vsftp在單機上支持4000個以上的用戶同時連接,RHEL 5搭建FTP穩(wěn)定的系統(tǒng)加上安全的服務器可以說是完美的組合。
【編輯推薦】