linux系统下的ftp服务器搭建步骤
操作方法
- 01
ftp匿名用户登录目录是/var/ftp ftp实名用户登录目录为它的宿主目录 实验1 [root@localhost ~]#system-config-packages (进入系统程序安装界面) 勾选“ftp server”,进行安装。 [root@localhost ~]#service vsftpd start 启动 匿名用户登录ftp 结论:登录成功!!实名用户登录ftp cd /etc 下载 passwd 结论不安全解决方案:[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf chroot_local_user=YES (加入这行)[root@localhost ~]# service vsftpd restart ----------------------------------------------------------------------------------试验2只允许匿名登录,不允许实名[root@localhost ~]#vi /etc/vsftpd/vsftpd.conf anonymous_enable=YES (修改) local_enable=NO (修改)[root@localhost ~]# service vsftpd restart-----------------------------------------------------------------------------------试验3不允许匿名用户登录[root@localhost ~]#vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO local_enable=YES[root@localhost ~]# service vsftpd restart-----------------------------------------------------------------------------------试验4访问限制A 黑名单1[root@localhost ~]# vi /etc/vsftpd.ftpusersn添加a 用户,则a用户无法访问此FTP[root@localhost ~]# service vsftpd restartB 黑名单2 1000个用户,999个不能访问,只有一个可以访问怎么办?[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf userlist_enable=YES userlist_deny=NO userlist_file=/etc/vsftpd.user_list[root@localhost ~]# vi /etc/vsftpd.user_list (文件中用户能访问,其他用户不可访问(包括ftp匿名用户))将允许的用户名添加上[root@localhost ~]# service vsftpd restart------------------------------------------------------------------------------------试验5限制客户数[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf max_clients=2 0为不限制[root@localhost ~]# service vsftpd restart-------------------------------------------------------------------------------------试验6速率限制----ftp网站收费如何解决方法1:交钱不交钱例:用户a、b、 c[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf local_max_rate=1000000 anon_max_rate=10 方法2:交多少钱给多少速度例:用户a[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf user_config_dir=/etc/vsftpd[root@localhost ~]# vi /etc/vsftpd/a local_max_rate=1000000[root@localhost ~]# service vsftpd restart----------------------------------------------------------------------------------------试验7 匿名上传权限[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf anon_other_write_enable=YES (文件改名、删除) anon_upload_enable=YES (文件上传)[root@localhost ~]#chmod –R 777 /var/ftp/pub若将ftp根目录/var/ftp改成777权限,那匿名用户将无法登陆。-----------------------------------------------------------------------------------------试验8 更改默认共享目录为/misc/abc local_root=/misc/abc anon_root=/misc/abc[root@localhost ~]# service vsftpd restart-----------------------------------------------------------------------------------------试验 9 ftp虚拟用户建立方法一、[root@localhost ~]# useradd -g ftp -s /sbin/nologin d ( 用户名为d)[root@localhost ~]# passwd d方法二、用PAM进行认证建立用户god man ghost 使他们都能访问ftp,下载资料。 y/s[root@localhost ~]#useradd test[root@localhost ~]# vi logins.txtgodgodmanmanghostghost[root@localhost~]#db_load –T –t hash –f logins.txt /etc/vsftpd/vsftpd_login.db注意如果没有找到db_load命令就需要安装如下包:db4-4.3.29-9.fc6.i386.rpm 第二张光盘db4-devel-4.3.29-9.fc6.i386.rpm 第三张光盘db4-utils-4.3.29-9.fc6.i386.rpm 第三张光盘db4-java-4.3.29-9.fc6.i386.rpm 第四张光盘db4-tcl-4.3.29-9.fc6.i386.rpm 第四张光盘[root@localhost ~]# vi /etc/pam.d/vsftpd.vuauth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_loginaccount required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf pam_service_name=vsftpd.vu (默认为pam_service_name=vsftpd) guest_enable=YES guest_username=test anon_world_readable_only=NO (浏览和下载权限)[root@localhost ~]# service vsftpd restart默认这些虚拟用户的登录的目录为映射用户test的目录,使用虚拟用户后,实名用户就无法登陆了,但是匿名还是可以的,如果要去掉虚拟用户采用实名用户的话记得将配置文件/etc/vsftpd/vsftpd.conf 中的pam_service_name=vsftpd.vu 改成默认的pam_service_name=vsftpd ------------------------------------------------------------------------------------------------试验 10 user_config_dir=/etc/vsftpd 管理虚拟用户god 有浏览目录 上传 下载 改名和删除 权限man 有浏览目录 上传 下载 权限ghost 有浏览目录 下载 权限 [root@localhost ~]# vi /etc/vsftpd/vsftpd.conf [root@localhost ~]# vi /etc/vsftpd/god anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES [root@localhost ~]# vi /etc/vsftpd/man anon_world_readable_only=NO anon_upload_enabledd=YES anon_mkdir_write_enable=YES [root@localhost ~]# vi /etc/vsftpd/ghost anon_world_readable_only=NO [root@localhost ~]# service vsftpd restart Linux FTP服务器的搭建 第一rhel-server-5.4-i386-dvd.iso root@ntian ~]# mount /dev/cdrom /media/cdrom mount: block device /dev/cdrom is write-protected, mounting read-only [root@ntian ~]# rpm -ivh /media/cdrom/RedHat/RPMS/vsftpd-2.0.1-5.i386.rpm warning: /media/cdrom/RedHat/RPMS/vsftpd-2.0.1-5.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e Preparing... ########################################### [100%] 1:vsftpd ########################################### [100%] [root@ntian ~]# umount /media/cdrom 第二 [root@ntian ~]# useradd -d /var/ftp/liu -s /sbin/nologin liu [root@ntian ~]# passwd liu Changing password for user liu. New UNIX password: BAD PASSWORD: it's WAY too short Retype new UNIX password: passwd: all authentication tokens updated successfully. [root@ntian ~]# useradd -d /var/ftp/chen -s /sbin/nologin chen [root@ntian ~]# passwd chen Changing password for user chen. New UNIX password: BAD PASSWORD: it is too short Retype new UNIX password: passwd: all authentication tokens updated successfully. [root@ntian ~]# useradd -d /var/ftp/xu -s /sbin/nologin xu [root@ntian ~]# passwd xu Changing password for user xu. New UNIX password: BAD PASSWORD: it's WAY too short Retype new UNIX password: passwd: all authentication tokens updated successfully. 第三 [root@ntian ~]# vi /etc/vsftpd/vsftpd.conf # Example config file /etc/vsftpd/vsftpd.conf # # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable. # Please see vsftpd.conf.5 for all compiled in defaults. # anonymous_enable=YES # local_enable=YES # write_enable=YES # local_umask=022 # #anon_upload_enable=YES # #anon_mkdir_write_enable=YES # dirmessage_enable=YES # # Activate logging of uploads/downloads. xferlog_enable=YES # connect_from_port_20=YES # #chown_uploads=YES #chown_username=whoever # xferlog_file=/var/log/vsftpd.log # xferlog_std_format=YES # idle_session_timeout=600 # data_connection_timeout=120 # #nopriv_user=ftpsecure # #async_abor_enable=YES # #ascii_upload_enable=YES #ascii_download_enable=YES # ftpd_banner=Welcome to blah FTP service. # #deny_email_enable=YES # (default follows) #banned_email_file=/etc/vsftpd.banned_emails # #chroot_list_enable=YES # (default follows) #chroot_list_file=/etc/vsftpd.chroot_list # #ls_recurse_enable=YES pam_service_name=vsftpd userlist_enable=YES #enable for standalone mode listen=YES tcp_wrappers=YES anon_max_rate=200000 local_max_rate=2000000 max_clients=100 max_per_ip=5 [root@ntian ~]# service vsftpd restart Shutting down vsftpd: [ OK ] Starting vsftpd for vsftpd: [ OK ] 第四验证