欢迎分享,转载请注明来源:内存溢出
(以下内容属于转载.)pure-ftp默认采用Linux的root用户。采用virtual users(虚拟帐户) 则能够更好的控制访问权项。 建立一个ftp用户的文件夹,也就是ftp共享文件夹。 #mkdir /usr/local/ftpdir 建立一个ftp用户与组: #groupadd ftpgroup #useradd -g ftpgroup -d /usr/local/nginx/html -s /bin/bash ftpftp 进入安装执行目录 #cd /usr/local/pureftp/bin 建立第一个虚拟用户: #pure-pw useradd widebright -u ftpftp -d /usr/local/nginx/html/ -f /usr/local/pureftp/pure-ftpd.passwd 运行之后会提示你输入一个 widebright用户的密码。 说明: widebright 就是要创建FTP登陆账户 ,ftpftp 是关联的linux用户, -d指定起始目录,并锁定于该目录。如果不锁定,则用-D 如果需要不同的权限FTP不安全,万不得已情况下,才可使用。vsftp安全性相对较好可采用sftp代替FTPLinux另外常用的FTP:proftpvsftppureftp下面以VSFTP为例:安装方式一:源码包安装useradd -s /bin/false -d /var/ftp ftpvirtualcd ......makemake installcp vsftpd.conf /etc/usr/local/sbin/vsftpd &#启动安装方式二:rpm安装,推荐rpm -ivh vsftpd-2.0.1-5.i386.rpm或者 yum install vsftpd/etc/init.d/vsftpd start两种方式安装完成后,配置方法都一样,下面开始讲配置。首先讲主配置文件常见配置vi /etc/vsftpd/vsftpd.confanonymous_enable=NO #禁止匿名登录local_enable=NO #禁止本地用户登录 write_enable=YES #对本地用户的写权限local_umask=022 #本地用户文件生成掩码dirmessage_enable=YES #显示隐藏文件xferlog_enable=YES #启用上传和下载日志connect_from_port_20=YES #服务器将启用FTP数据端口的连接请求xferlog_std_format=YES #服务器将使用标准的ftpd xferlog日志格式pam_service_name=vsftpd #设置PAM认证服务的配置文件名称userlist_enable=YES #设置文件中指定的用户是否可以访问vsftpd服务器listen=YES #FTP服务器将处于独立启动模式 tcp_wrappers=YES #使用tcp_wrappers作为主机访问控制方式 chroot_local_user=YES #将FTP本地用户禁锢在宿主目录中 chroot_list_enable=YES #将用户禁锢在宿主目录中listen_address=192.168.0.2 #侦听地址pasv_enable=YES #是否允使用被动模式,默认是允许的。pasv_min_port=10000 #指定使用被动模式时打开端口的最小值pasv_max_port=10004 #指定使用被动模式时打开端口的最大值。max_clients=100 #设置FTP服务器所允许的最大客户端连接数,值为0时表示不限制 max_per_ip=5 #同一IP地址允许的最大客户端连接数,值为0时表示不限制,即线程 local_max_rate=500000 #设置本地用户的最大传输速率,单位为bytes/sec,值为0时表示不限制 anon_max_rate=200000 #设置匿名用户的最大传输速率,单位为bytes/sec,值为0表示不限制 use_localtime=YES #在vsftp之中的时间默认值是显式GMT时间,因此我们会发现上面的时间与我们时寄存取的时间差八小时。改了这一项就好了。listen_port=10021 改端口one_process_model=NO yes可增加性能,增加负载,便降低安全,建议NOnopriv_user=nobody 默认以nobody运行vsftp对外服务,建议使用stand alone方式启动,性能好。仅内部人员,建议用super daemon启动,修改如下:listen=NO……略vsftp默认使用GMT时间,建议修改如下:use_localtime=YES/etc/vsftpd.ftpusers #保存不允许进行FTP登录的本地用户帐号,提高系统的安全性/etc/vsftpd.user_list #禁止vsftpd.user_list中的用户userlist_enable=YESuserlist_deny=YES #仅允许vsftpd.user_list中的用户userlist_enable=YESuserlist_deny=NO 日志:vsftpd_log_file=/var/log/vsftpd.log下面开始讲vsftp四种“用户认证”的方式一、匿名用户 ftp anonymous/var/ftp 默认主目录在/etc/vsftpd/vsftpd.conf中:anonymous_enable=YESanon_upload_enable=YESanon_other_write_enable=YES #可删除chmod -R 777 /var/ftp/pub/修改/var/ftp/pub的SELinux权限执行以下命令,修改/var/ftp/pub这目录的类型:chcon -R -t ftpd_anon_rw_t /var/ftp/pub/anon_root=/var/www/html/ftp #改匿名用户的宿主目录二、本地用户默认支持,使用各自的宿主目录。不安全local_root=/opt #新增这一项,改成其他路径三、虚拟用户 PAM文件方式 推荐建立虚拟用户口令库文件# cat logins.txt mikepwabcdjohnpw1234生成vsftpd的认证文件db_load -T -t hash -f logins /etc/vsftpd/vsftpd_login.dbchmod 600 /etc/vsftpd/vsftpd_login.db 新创建虚拟用户所需的PAM配置文件cat /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 新创建虚拟用户的系统用户所要访问的目录并设置相应权限# useradd -s /bin/false -d /home/ftpsite ftpvirtual# chmod 700 /home/ftpsite#设置vsftpd.conf配置文件,支持虚拟用户guest_enable=YESguest_username=ftpvirtualpam_service_name=vsftpd.vu user_config_dir=/etc/vsftpd/vsftpd_user_conf #添加用户配置文件目录设置/etc/vsftpd/vsftpd_user_conf/mike (同名),这里没有的设置默认按vsftpd.conf的设置执行anon_world_readable_only=NO #可以浏览FTP目录和下载文件anon_upload_enable=YES #用户可以上传文件,等同于 write_enable=yes 允许上传anon_mkdir_write_enable=YES #具有建立和删除目录的权利 anon_other_write_enable=YES #具有文件改名和删除文件的权限 local_root=/data/userspace #设置虚拟用户登录后的主目录anon_max_rate=1024000 #以Bytes/s为单位,这里限8Mbit,范围大概在80%到120%之间四、虚拟用户 mysql认证方式 推荐1. mysql安装见mysql笔记2.1 openssl-0.9.8e 源程序预编译时在日志中可能出现md5.h "Present But Cannot Be Compiled的错误,卸载下面某些包可能解决问题。cyrus-sals-sql cyrus-sasl-ntlm cyrus-sasl-gssapi cyrus-sasl-devel openldap-devel然后移除系统可能自带的:mv /usr/bin/openssl /usr/bin/openssl.OFFmv /usr/include/openssl /usr/include/openssl.OFFln -s /usr/local/ssl/bin/openssl /usr/bin/opensslln -s /usr/local/ssl/include/openssl /usr/include/openssl配置库文件搜索路径#echo "/usr/local/ssl/lib" >>/etc/ld.so.conf#ldconfig -v2.2 或者安装openssl-0.9.8e的rpm包3. pam_mysql-0.7RC1.tar.gz#./configure --with-mysql=/usr/local/mysql --with-openssl=/usr/local/ssl如果mysql是rpm安装的,则不带--with-mysql参数,如果openssl是rpm安装的,参数为--with-opensslmakemake install注意pam_mysql.so路径,可能在/usr/lib/security/pam_mysql.so或/lib/security/pam_mysql.sovi /etc/pam.d/vsftp.mysql #新建,仅两行auth required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2account required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=24.0 准备数据库、表和数据mysql>create database vsftpmysql>grant select on vsftp.* to vsftpd@localhost identified by '123456'mysql>grant select on vsftp.* to vsftpd@127.0.0.1 identified by '123456'mysql>use vsftpmysql>create table users (->id int AUTO_INCREMENT NOT NULL,->name char(20) binary NOT NULL,->passwd char(48) binary NOT NULL,->primary key(id)->)mysql>insert into users(name,passwd) values('hlc',password('hlc'))mysql>insert into users(name,passwd) values('holly',password('holly'))5.0 修改主配置文件vi /etc/vsftpd/vsftpd.confguest_enable=YESguest_username=vsftplisten=YESpam_service_name=vsftpd.mysql以上完成了vsftp的配置,下面是补充:dirmessage_enable=YES #设置欢迎语 在每个目录下建立.message,写入欢迎语即可。db_load支持包(前面三个即可):db4db4-develdb4-utilsdb4-javadb4-tclLinux建议关闭selinux或征对FTP不做任何安全setsebool -P -ftpd_disable_trans onsetsebool -P -allow_ftpd_full_access onservie vsftpd restart或者需要重启服务器底下列出FTP访问中所出现数字代码的含意。110 重新启动标记应答。 120 服务在多久时间内ready。 125 数据链路端口开启,准备传送。 150 文件状态正常,开启数据端口。 200 命令执行成功。 202 命令执行失败。 211 系统状态或是系统求助响应。 212 目录的状态。 213 文件的状态。 214 求助的讯息。 215 名称系统类型。 220 新的联机服务ready。 221 服务的控制端口关闭,可以注销。 225 数据链接开启,但无传输动作。 226 关闭数据端口,请求的文件 *** 作成功。 227 进入passive mode。 230 用户登录。 250 请求的文件 *** 作完成。 257 显示目前的路径名称。 331 用户名称正确,需要密码。 332 登入时需要帐户信息。 350 请求的 *** 作需要进一部的命令。 421 无法提供服务,关闭控制连结。 425 无法开启数据链路。 426 关闭联机,终止传输。 450 请求的 *** 作未执行。 451 命令终止:有本地的错误。 452 未执行命令:磁盘空间不足。 500 格式错误,无法识别命令。 501 参数语法错误。 502 命令执行失败。 503 命令顺序错误。 504 命令所接的参数不正确。 530 未登入。 532 储存文件需要账户登入。 550 未执行请求的 *** 作。 551 请求的命令终止,类型未知。 552 请求的文件终止,储存位溢出。 553 未执行请求的的命令,名称不正确。
赞
(0)
打赏
微信扫一扫
支付宝扫一扫
搜狗输入法颜文字的设置使用教程
上一篇
2023-05-18
C#如何在listview中逐行添加数据
下一篇
2023-05-18
评论列表(0条)