当前位置:首页 » 文件传输 » minftp
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

minftp

发布时间: 2022-10-21 13:48:01

⑴ linux虚拟机怎么设置ftp服务器

下面是在虚拟机中的linux的ftp的基本配置(redhat AS 4.0为例):
首先要安装linux下的vsftp软件包。
rpm -qa|gerp vsftpd //查找vsftpd有没有安装
如果没有安装就 vsftpd-2.0.1-5.i386.rpm (在第一张光盘)
在linux中有一个非常重要的一点就是要挂载光驱 mount /media/cdrom
在这里我们就不用源代码安装了。用的是rpm安装
#rpm -ivh vsftpd-2.0.1-5.i386.rpm
这里就安装好了。
service vsftpd start 启动vsftpd服务
如果在不设置任何的情况下,可以以匿名的方式访问该ftp。
注.如果访问不了的时候请大家要把linux的防火墙也要关闭:
iptables -F 清除防火墙
在安装好ftp会产生几个文件:
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/vsftpd.ftpusers 指定哪些用户不能访问FTP服务器
/etc/vsftpd.user_list 文件中指定的用户是否可以访问ftp服务器由vsftpd.conf文件中的userlist_deny的取值来决定。
这几个文件就是整个ftp控制和禁止用户的权限配置。。。
下面我们就来设置一个vsftpd的核心文件
# cd /etc/vsftpd/vsftpd.conf 这就是vsftpd的核心配置文件
anonymous_enable=YES/no 是否允许匿名用户登录
anonymous_enable=yes/no 是否允许匿名上传文件
local_enable= YES/no 是否允许本地用户登录
write_enable= YES/no 是否允许本地用户上传
guest_enable=yes/no 是否允许虚拟用户登录;
local_mask=022 设置本地用户的文件生成掩码为022,默认值为077
dirmessage_enable= YES 设置切换到目录时显示.message隐含文件的内容
xferlog_enable= YES 激活上传和下载日志
connect_from_port_20=YES 启用FTP数据端口连接
pam_service_name=vsftpd 设置PAM认证服务的配置文件名称, 该文件存放在/etc/pam.d目录下
userlist_enable= YES 允许vsftpd.user_list文件中的用户访问服务器
userlist_deny= YES 拒绝vsftpd.user_list文件中的用户访问服务器
listen= YES/no 是否使用独占启动方式(这一项比较重要)
tcp_wrappers= YES/no 是否使用tcp_wrappers作为主机访问控制方式
最主要的就是这些设置了。(这是一般都是默认的不是太懂的不要动)
大家可以设置下面的设置:
ftpd_banner=welcome to ftp service 设置连接服务器后的欢迎信息
idle_session_timeout=60 限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)
data_connection_timeout=120 设置客户机在进行数据传输时,设置空闲的数据中断时间
accept_timeout=60 设置在多长时间后自动建立连接
connect_timeout=60 设置数据连接的最大激活时间,多长时间断开,为别人所使用;
max_clients=200 指明服务器总的客户并发连接数为200
max_per_ip=3 指明每个客户机的最大连接数为3
local_max_rate=50000(50kbytes/sec)
anon_max_rate=30000 设置本地用户和匿名用户的最大传输速率限制
pasv_min_port=端口
pasv-max-prot=端口号 定义最大与最小端口,为0表示任意端口;为客户端连接指明端口;
listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;
listen_port=端口号 设置FTP工作的端口号,默认的为21
chroot_local_user=YES 设置所有的本地用户可以chroot
chroot_local_user=NO 设置指定用户能够chroot
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list(只有/etc/vsftpd.chroot_list中的指定的用户才能执行)
local_root=path 无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;
chroot_local_user=yes/no 是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下;
chroot_list_enable=yes/no 锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path 中指定;
userlist_enable=YES/NO 是否加载用户列表文件;
userlist_deny=YES 表示上面所加载的用户是否允许拒绝登录;
userlist_file=/etc/vsftpd.user_list 列表文件
这些就是高级设置了。大家可以适当的更改。
#vi /etc/hosts.allow
vsftpd:192.168.5.128:DENY 设置该IP地址不可以访问ftp服务(vsftpd在独占启动方式下支持tcp_wrappers主机访问控制方式)
时间限制:
#cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd
#vi /etc/xinetd.d/vsftpd/
修改 disable = no
access_time = hour:min-hour:min (添加配置访问的时间限制(注:与vsftpd.conf中listen=NO相对应)
例: access_time = 8:30-11:30 17:30-21:30 表示只有这两个时间段可以访问ftp

配置文件是 /etc/vsftpd/vsftpd.conf 按如下编辑此文件,编辑文件当然用vi了
1)实现匿名用户的上传下载文件
程序代码:
Anonymous_enable=yes 匿名登陆
Connect_form_port_20=yes 启用FTP数据端口的数据连接
Pam_service_name=vsftpd 验证方式
Listen=yes 独立的VSFTPD服务器

这样你就可以实现匿名登陆ftp了,但还不能上传文件
程序代码:
Anon_upload_enable=yes 开放上传权限
Anon_mkdir_write_enable=yes 可创建目录的同时可以在此目录中上传文件
Write_enable=yes 开放本地用户写的权限
Anon_other_write_enable=yes 匿名帐号可以有删除的权限
加上上面的这段,你就可以实现匿名ftp的上传下载文件了
然后你保存文件,用service vsftpd start来启动vsftp的服务,然后就可以用ftp了
注意:确定你的防火墙 iptables上打开21端口,不然在登陆ftp的时候会提示socket错误,拒绝连接。还有就是当你再次编辑vsftp.conf后用 service vsftpd restart重起的时候总是提示你不能关闭vsftp服务,这时候你用service vsftpd status察看一下他的状态,如果提示你vsftpd被locked 那可能是因为你的vsftpd.conf中配置的有错误,你要重新编辑他,直到能正常重起他为止,一次配置不对,多配置几次就好了
2)实现本地用户上传下载
程序代码:
新建一个用户
adser 用户名 增加一个用户
passwd 用户名 增加用户的密码
然后看/etc/passwd中最后一行就是你刚才添加的用户信息
然后编辑/etc/vsftpd/vsftpd.conf文件,
Local_enable=yes 允许使用本地用户来登陆ftp
在/etc/vsftpd.ftpuser中可以增加想要阻止登陆ftp的用户
限制用户只能在自己的目录中
Chroot_list_enable=yes 文件中的名单可以调用
Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no,在文件中加入用户名

vsftpd.conf的参数
程序代码:
Anonymous_enable=yes 允许匿名登陆
Dirmessage_enable=yes 切换目录时,显示目录下.message的内容
Local_umask=022 FTP上本地的文件权限,默认是077
Connect_form_port_20=yes 启用FTP数据端口的数据连接
Xferlog_enable=yes 激活上传和下传的日志
Xferlog_std_format=yes 使用标准的日志格式
Ftpd_banner=XXXXX 显示欢迎信息
Pam_service_name=vsftpd 验证方式
Listen=yes 独立的VSFTPD服务器
Anon_upload_enable=yes 匿名用户上传权限
Anon_mkdir_write_enable=yes 创建目录的同时可以在此目录中上传文件
Write_enable=yes 本地用户写的权限
Anon_other_write_enable=yes 匿名帐号可以有删除的权限
Anon_world_readable_only=no 匿名用户浏览权限
Ascii_upload_enable=yes 启用上传的ASCII传输方式
Ascii_download_enable=yes 启用下载的ASCII传输方式
Banner_file=/var/vsftpd_banner_file 用户连接后欢迎信息使用的是此文件中的相关信息
Idle_session_timeout=600(秒) 用户会话空闲后10分钟
Data_connection_timeout=120(秒) 将数据连接空闲2分钟断
Accept_timeout=60(秒) 将客户端空闲1分钟后断
Connect_timeout=60(秒) 中断1分钟后又重新连接
Local_max_rate=50000(bite) 本地用户传输率50K
Anon_max_rate=30000(bite) 匿名用户传输率30K
Pasv_min_port=5000 将客户端的数据连接端口改在
Pasv_max_port=6000 5000—6000之间
Max_clients=200 FTP的最大连接数
Max_per_ip=4 每IP的最大连接数
Listen_port=5555 从5555端口进行数据连接
Local_enble=yes 本地帐户能够登陆
Write_enable=no 本地帐户登陆后无权删除和修改文件
Chroot_local_user=yes 本地所有帐户都只能在自家目录
Chroot_list_enable=yes 文件中的名单可以调用
Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no
Userlist_enable=yes 在指定的文件中的用户不可以访问
Userlist_deny=yes
Userlist_file=/etc/vsftpd.user_list
Banner_fail=/路径/文件名 连接失败时显示文件中的内容
Ls_recurse_enable=no
Async_abor_enable=yes
one_process_model=yes
Listen_address=10.2.2.2 将虚拟服务绑定到某端口
Guest_enable=yes 虚拟用户可以登陆
Guest_username=所设的用户名 将虚拟用户映射为本地用户
Chown_uploads=yes 改变上传文件的所有者为root
Chown_username=root
Deny_email_enable=yes 是否允许禁止匿名用户使用某些邮件地址
Banned_email_file=//任意指定的路径/xx/
Pasv_enable=yes 服务器端用被动模式
User_config_dir=/任意指定的路径//任意文件目录指定虚拟用户存放配置文件的路径

⑵ 求,在linux 中,搭建ftp服务器的方法, 谢谢,

FTP不安全,万不得已情况下,才可使用。
vsftp安全性相对较好
可采用sftp代替FTP
Linux另外常用的FTP:
proftp
vsftp
pureftp

下面以VSFTP为例:

安装方式一:源码包安装
useradd -s /bin/false -d /var/ftp ftpvirtual
cd ......
make
make install
cp 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.conf

anonymous_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可增加性能,增加负载,便降低安全,建议NO
nopriv_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=YES
userlist_deny=YES
#仅允许vsftpd.user_list中的用户
userlist_enable=YES
userlist_deny=NO

日志:
vsftpd_log_file=/var/log/vsftpd.log

下面开始讲vsftp四种“用户认证”的方式

一、匿名用户 ftp anonymous
/var/ftp 默认主目录
在/etc/vsftpd/vsftpd.conf中:
anonymous_enable=YES
anon_upload_enable=YES
anon_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
mike
pwabcd
john
pw1234
生成vsftpd的认证文件
db_load -T -t hash -f logins /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db
新创建虚拟用户所需的PAM配置文件
cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account 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=YES
guest_username=ftpvirtual
pam_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.OFF
mv /usr/include/openssl /usr/include/openssl.OFF
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
配置库文件搜索路径
#echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
#ldconfig -v

2.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-openssl
make;make install
注意pam_mysql.so路径,可能在/usr/lib/security/pam_mysql.so或/lib/security/pam_mysql.so

vi /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=2
account required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2

4.0 准备数据库、表和数据
mysql> create database vsftp;
mysql> grant select on vsftp.* to vsftpd@localhost identified by '123456';
mysql> grant select on vsftp.* to [email protected] identified by '123456';
mysql> use vsftp;
mysql> 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.conf
guest_enable=YES
guest_username=vsftp
listen=YES
pam_service_name=vsftpd.mysql

以上完成了vsftp的配置,下面是补充:

dirmessage_enable=YES #设置欢迎语 在每个目录下建立.message,写入欢迎语即可。

db_load支持包(前面三个即可):
db4
db4-devel
db4-utils
db4-java
db4-tcl

Linux建议关闭selinux或征对FTP不做任何安全
setsebool -P -ftpd_disable_trans on
setsebool -P -allow_ftpd_full_access on
servie 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 未执行请求的的命令,名称不正确。

⑶ linux怎么搭建ftp服务器

在创建FTP服务器之有先命令: ps -ef |grep vsftpd
查一下系统有没有安装vsftpd这个服务器,如果没有安装。
然后再执行:yum install vsftpd -y
进行在线安装vsftpd这个服务。
安装成功以后需要把匿名登陆的这个功能关闭了。
使用命令: vim /etc/vsftpd/vsftpd.conf
然后在里成找到:‍
anonymous_enable=NO
然后再查看一下vsftpd这个服务有没有启动。
使用命令: chkconfig --list
如果你一样没有启动。
没有启动使用启动:chkconfig --level 35 vsftpd on
再接下来就是创建用户名。
创建用户名:useradd jingyan
再然后就是创建密码。
命令:passwd jingyan
再输入两次密码就可以了。
最后重启一下服务:service vsftpd start
如果出现启动失败则可以使用:/etc/rc.d/init.d/vsftpd restart
成功链接FTP服务器上。

⑷ linux怎么搭建ftp服务器

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。并且是一个完全免费开放源码的ftp软件方法/步骤1、用在线安装 yum install vsftpd pam* db4*-y使用命令将vsftp配置为系统服务 chkconfig --level 35 vsftpd on2、配置vsftpd服务的宿主 useradd vsftpdadmin -s /sbin/nologin -M 这个vsftpdadmin只是用来替换root的,并不需要登录3、建立ftp虚拟宿主帐户 useradd vsftpuser -s /sbin/nologin -M 这ftpuser只个虚拟帐户的宿主,本身是不用登录的4、配置vsftpd.conf 配置之前要先备份一下原来的 vi /etc/vsftpd/vsftpd.conf anonymous_enable=YES -- anonymous_enable=NO //不允许匿名用户访问,默认是允许。chroot_list_enable=YES -- chroot_list_enable=YES //不允许FTP用户离开自己主目录 增加 #设定虚拟用户个人Vsftp的配置文件存放路径。也就是说,这个被指定的目录里,将存放每个Vsftp虚拟用户个性的配置文件,一个需要注意的地方就是这些配置文件名必须和虚拟用户名相同。 user_config_dir=/etc/vsftpd/vconf/userlocal#这一步非常重要,要记住这一步。一会要根据这个配置新建文件夹 #修改端口号 ftp_data_port=4040 reverse_lookup_enable=NO pasv_enable=yes pasv_min_port=48790 pasv_max_port=48800 listen_port=48796 #端口可以根据你自己实际情况配置,也可以用默认端口。但是为了安全考虑根据自己实际情况配置5、建立虚拟用户文件 mkdir /etc/vsftpd/vconf touch /etc/vsftpd/vonf/vir_user6、建立虚拟用户 vi /etc/vsftpd/vonf/vir_user virtualuser //用户名 12345678 //密码7、生成数据库 db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_user.db8、设置数据库文件访问权限 chmod 600 /etc/vsftpd/vconf/vir_user chmod 600 /etc/vsftpd/vconf/vir_user.db9、修改/etc/pam.d/vsftpd auth sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user account sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user (要想同时使用系统用户和虚拟用户,就需要把required改成sufficient)10根据第四步配置的user_config_dir=/etc/vsftpd/vconf/userlocal 新建userlocal文件夹 mkdir /etc/vsftpd/vconf/userlocal11、根据第六步建立的用户名建立一个文件 例如第六步建立的帐号是virtualuser,则新建一个virtualuser文件 touch /etc/vsftpd/conf/userlocal/virtualuser12、编辑该用户访问的文件路径 vi /etc/vsftpd/conf/userlocal/virtualuser 输入如下 local_root= //需要指定的网站根目录,例如www..com所在文件夹为/www/ anonymous_enable=NO #禁止匿名用户访问 write_enable=YES #开启写权限 local_umask=022 #上传后文件的权限掩码 anon_upload_enable=NO #关闭匿名下载 anon_mkdir_write_enable=NO #关闭匿名创建文件夹 idle_session_timeout=60 #会话自动关闭时间 60是因分钟 data_connection_timeout=120 #数据延迟时间 max_clients=10 #最大连接数 max_per_ip=5 #同一个ip同时允许5个IP联机 local_max_rate=1048576 #实体用户传输速度限制,单位B/s。0代表不限制13、配置就此完成,重启vsftpd服务:service vsftpd restart。查看系统端口状态:netstas -tulnp。如果能看到48796端口正在被vsftpd调用说明启动成功。如有不清楚的可以再继续看看网络经验。

⑸ linux 服务器怎么启动ftp

linux 不支持 systemctl 命令 , 不支持service命令
那么请问你是什么系统呢?如果这些管理命令都没有
建议直接执行二级制文件或者查一下你的发行版本,不同的发行版有不同的管理命令
希望可以帮助你,请采纳,谢谢

⑹ linux配置FTP访问时间限制。

1.脚本处理,大概思路
从6点到0点,直接开启ftp服务(services vsftp stop 或者直接使用脚本启动)
其他时间直接关闭ftp服务,放到计划任务里面.
2.修改配置文件处理
拷贝一份安装目录下的文件
#cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd 修改的时候记得做备份
#vim /etc/xinetd.d/vsftpd/
修改参数 disable = no
这个参数没有的话就添加一行
access_time = hour:min-hour:min (添加配置访问的时间限制(注:与vsftpd.conf中listen=NO相对应)
例: access_time = 18:00-00:00 表示只有这两个时间段可以访问ftp
而后重启vsftp服务测试一下.

⑺ linux配置FTP访问时间限制。

1.脚本处理,大概思路
从6点到0点,直接开启ftp服务(services vsftp stop 或者直接使用脚本启动)
其他时间直接关闭ftp服务,放到计划任务里面.
2.修改配置文件处理
拷贝一份安装目录下的文件
#cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd 修改的时候记得做备份
#vim /etc/xinetd.d/vsftpd/
修改参数 disable = no
这个参数没有的话就添加一行
access_time = hour:min-hour:min (添加配置访问的时间限制(注:与vsftpd.conf中listen=NO相对应)
例: access_time = 18:00-00:00 表示只有这两个时间段可以访问ftp而后重启vsftp服务测试一下. 查阅书籍《Linux就该这么学》.

⑻ ftp服务器的被动模式怎么开启

vsftp设置:pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50010
local_max_rate=200000 proftpd: PassivePorts 10000 10100 linux下ftp很多种,不一样的

⑼ linux怎么配置ftp服务器

一. FTP 说明

linux 系统下常用的FTP 是vsftp, 即Very Security File Transfer Protocol. 还有一个是proftp(Profession ftp)。 我们这里也是简单的说明下vsftp的配置。

vsftp提供3种远程的登录方式:

(1)匿名登录方式

就是不需要用户名,密码。就能登录到服务器电脑里面

(2)本地用户方式

需要帐户名和密码才能登录。而且,这个帐户名和密码,都是在你linux系统里面,已经有的用户。

(3)虚拟用户方式

同样需要用户名和密码才能登录。但是和上面的区别就是,这个用户名和密码,在你linux系统中是没有的(没有该用户帐号)

二. Vsftp的安装配置

2.1 安装

vsftp 的安装包,可以在安装里找到。 用yum 安装过程也很简单。
安装命令:yum install vsftpd

2.2. 相关命令

2.2.1 启动与关闭

[root@singledb ~]# service vsftpd start

Starting vsftpd for vsftpd: [ OK ]

[root@singledb ~]# service vsftpd stop

Shutting down vsftpd: [ OK ]

[root@singledb ~]# service vsftpd restart

Shutting down vsftpd: [FAILED]

Starting vsftpd for vsftpd: [ OK ]

[root@singledb ~]# /etc/init.d/vsftpd start

Starting vsftpd for vsftpd: [FAILED]

[root@singledb ~]# /etc/init.d/vsftpd stop

Shutting down vsftpd: [ OK ]

[root@singledb ~]# /etc/init.d/vsftpd restart

Shutting down vsftpd: [FAILED]

Starting vsftpd for vsftpd: [ OK ]

[root@singledb ~]# /etc/init.d/vsftpd status

vsftpd (pid 3931) is running...

[root@singledb ~]#

2.2.2. 其他命令

--查看vsftpd 启动状态

[root@singledb ~]# chkconfig --list vsftpd

vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off

[root@singledb ~]# chkconfig vsftpd on

[root@singledb ~]# chkconfig --list vsftpd

vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

这里看到,默认情况下从2到5设置为on了。2到5是多用户级别。 这个对应的是linux不同的运行级别。

我们也可以加level 选项来指定:

[root@singledb ~]# chkconfig --level 0 vsftpd on

[root@singledb ~]# chkconfig --list vsftpd

vsftpd 0:on 1:off 2:on 3:on 4:on 5:on 6:off

我们看到0已经设置为on了。

我们可以使用man chkconfig 来查看帮助:

--level levels

Specifies the run levels an operation should pertain to. It is given as a string of numbers from 0 to 7. For example, --level 35 specifies runlevels 3 and 5.

传统的init 定义了7个运行级(run level),每一个级别都代表系统应该补充运行的某些特定服务:

(1)0级是完全关闭系统的级别

(2)1级或者S级代表单用户模式

(3)2-5 级 是多用户级别

(4)6级 是 重新引导的级别

(1)查看防火墙

我一般都是把系统的防火墙关闭了。 因为开了会有很多限制。

[root@singledb ~]# /etc/init.d/iptables status

Table: nat

Chain PREROUTING (policy ACCEPT)

num target prot opt source destination

Chain POSTROUTING (policy ACCEPT)

num target prot opt source destination

1 MASQUERADE all -- 192.168.122.0/24 !192.168.122.0/24

Chain OUTPUT (policy ACCEPT)

num target prot opt source destination

Table: filter

Chain INPUT (policy ACCEPT)

num target prot opt source destination

1 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53

2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53

3 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:67

4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:67

Chain FORWARD (policy ACCEPT)

num target prot opt source destination

1 ACCEPT all -- 0.0.0.0/0 192.168.122.0/24 state RELATED,ESTABLISHED

2 ACCEPT all -- 192.168.122.0/24 0.0.0.0/0

3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

4 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)

num target prot opt source destination

You have new mail in /var/spool/mail/root

--添加开放21号端口:

[root@singledb ~]# /sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT

[root@singledb ~]# /etc/init.d/iptables status

Table: nat

Chain PREROUTING (policy ACCEPT)

num target prot opt source destination

Chain POSTROUTING (policy ACCEPT)

num target prot opt source destination

1 MASQUERADE all -- 192.168.122.0/24 !192.168.122.0/24

Chain OUTPUT (policy ACCEPT)

num target prot opt source destination

Table: filter

Chain INPUT (policy ACCEPT)

num target prot opt source destination

1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21

2 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53

3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53

4 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:67

5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:67

Chain FORWARD (policy ACCEPT)

num target prot opt source destination

1 ACCEPT all -- 0.0.0.0/0 192.168.122.0/24 state RELATED,ESTABLISHED

2 ACCEPT all -- 192.168.122.0/24 0.0.0.0/0

3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

4 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)

num target prot opt source destination

--保存配置

[root@singledb ~]# /etc/rc.d/init.d/iptables save

Saving firewall rules to /etc/sysconfig/iptables: [ OK ]

--重启防火墙:

[root@singledb ~]# service iptables {start|stop|restart}

(2)查看关闭selinux

[root@singledb ~]# sestatus

SELinux status: disabled

我这里在安装操作系统的时候就关闭了selinux,如果没有关闭,可以修改如下文件来关闭:

[root@singledb ~]# cat /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - SELinux is fully disabled.

SELINUX=disabled

# SELINUXTYPE= type of policy in use. Possible values are:

# targeted - Only targeted network daemons are protected.

# strict - Full SELinux protection.

SELINUXTYPE=targeted

[root@singledb ~]#

保存退出并重启系统reboot

三. FTP配置文件

FTP 安装好之后,在/etc/vsftpd/目录下会有如下文件:

[root@singledb ~]# cd /etc/vsftpd/

[root@singledb vsftpd]# ls

ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh

[root@singledb vsftpd]#

vsftpd.conf: 主配置文件

ftpusers: 指定哪些用户不能访问FTP服务器

user_list: 指定的用户是否可以访问ftp服务器由vsftpd.conf文件中的userlist_deny的取值来决定。

[root@singledb vsftpd]# cat 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.

我们过滤掉#的注释后,查看一下vsftpd.conf 文件:

[root@singledb ftp]# cat /etc/vsftpd/vsftpd.conf |grep -v '^#';

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

userlist_enable=yes

tcp_wrappers=YES

至于这些参数的意思,在注释里有详细的说明。

我们可以在vsftpd.conf 文件设置如下参数:

(1)ftpd_banner=welcome to ftp service :设置连接服务器后的欢迎信息

(2)idle_session_timeout=60 :限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)

(3)data_connection_timeout=120 :设置客户机在进行数据传输时,设置空闲的数据中断时间

(4)accept_timeout=60 设置在多长时间后自动建立连接

(5)connect_timeout=60 设置数据连接的最大激活时间,多长时间断开,为别人所使用;

(6)max_clients=200 指明服务器总的客户并发连接数为200

(7)max_per_ip=3 指明每个客户机的最大连接数为3

(8)local_max_rate=50000(50kbytes/sec) 本地用户最大传输速率限制

(9)anon_max_rate=30000匿名用户的最大传输速率限制

(10)pasv_min_port=端口

(11)pasv-max-prot=端口号 定义最大与最小端口,为0表示任意端口;为客户端连接指明端口;

(12)listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;

(13)listen_port=端口号 设置FTP工作的端口号,默认的为21

(14)chroot_local_user=YES 设置所有的本地用户可以chroot

(15)chroot_local_user=NO 设置指定用户能够chroot

(16)chroot_list_enable=YES

(17)chroot_list_file=/etc/vsftpd/chroot_list(只有/etc/vsftpd/chroot_list中的指定的用户才能执行 )

(18)local_root=path 无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;

(19)chroot_local_user=yes/no 是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下;

(20)chroot_list_enable=yes/no 锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path 中指定;

(21)userlist_enable=YES/NO 是否加载用户列表文件;

(22)userlist_deny=YES 表示上面所加载的用户是否允许拒绝登录;

(23)userlist_file=/etc/vsftpd/user_list 列表文件

限制IP 访问FTP:

#vi /etc/hosts.allow

vsftpd:192.168.5.128:DENY 设置该IP地址不可以访问ftp服务

FTP 访问时间限制:

#cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd

#vi /etc/xinetd.d/vsftpd/

修改 disable = no

access_time = hour:min-hour:min (添加配置访问的时间限制(注:与vsftpd.conf中listen=NO相对应)

例: access_time = 8:30-11:30 17:30-21:30 表示只有这两个时间段可以访问ftp

ftp的配置基本上只有这些了。

默认情况下,ftp根目录是/var/ftp。 如果要修改这个目录位置,可以更改/etc/passwd 文件:

[root@singledb ftp]# cat /etc/passwd | grep ftp

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

创建一个用户来访问FTP,并指定该用户的FTP 目录:

[root@singledb u02]# useradd -d /u02/qsftp qs

[root@singledb u02]# passwd qs

Changing password for user qs.

New UNIX password:

BAD PASSWORD: it is WAY too short

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

这里指定的是/u02/qsftp 这个目录,要注意个目录的权限。

更改用户不能telnet,只能ftp:

usermod -s /sbin/nologin username //用户只能ftp,不能telnet

usermod -s /sbin/bash username //用户恢复正常

禁止用户ssh登陆

useradd username -s /bin/false

更改用户主目录:

usermod -d /bbb username //把用户的主目录定为/bbb

然后用qs这个用户就可以访问了。

以上只是一些简单的设置。 在用户权限这块还有很多内容可以研究。 比如特定用户的特定权限。 安全性等。 以后在研究了。

⑽ Linux怎样创建FTP服务器

FTP 是文件传输协议(File Transfer Protocol)的缩写。顾名思义,FTP用于计算机之间通过网络进行文件传输。你可以通过FTP在计算机账户间进行文件传输,也可以在账户和桌面计算机之间传输文件,或者访问在线软件归档。但是,需要注意的是多数的FTP站点的使用率非常高,可能需要多次重连才能连接上。
今天来说一下在RHEL5下使用VSftpd来搭建ftp服务器,在搭建之前首先要考虑自己的工作环境,我搭建ftp干什么,公司的具体要求是什么,然后再根据公司的需求来具体实施。下面是搭建的具体实验步骤:
一、首先确定系统中已经安装了VSftpd软件包,可以使用如下命令来查看并安装:
liwei@linux# rpm -qa|grep vsftpd (如果有的话执行第二条就行了,若没安装,可以使用如下命令来安装)
liwei@linux# mount /dev/cdrom /media //挂载光盘到系统中
liwei@linux# rpm -vih /media/Server/vsftpd-版本号 //安装VSftpd
二、安装好VSftpd软件包后,然后就是给服务器配置一个静态IP地址,当然动态也可以,但一般服务器最好使用静态IP。配置IP地址的方法如下,我以配置192.168.0.1地址为例:
liwei@linux# vi /etc/sysconfig/network-scritps/ifcfg-eth0
在打开的配置文件中修改:

复制代码代码如下:

DEVICE=eth0
BOOTPROTO=static
HAWADDR=00:0C:29:A2:8B:B8
ONBOOT=yes
IPADDR=192.168.0.1
NETMASK=255.255.255.0
GATEWAY=192.168.0.1

三、配置好IP地址后,然后就可以根据你自己的要求来修改vsftpd的配置文件来达到你的目标了,vsftpd的主配置文件为/etc/vsftpd/vsftpd.conf。下面用几个例子来说明一下vsftpd的各个配置选项的作用。
1.匿名用户配置:
在vsftpd.conf配置文件中,默认是允许匿名用户登录FTP服务器的,但不允许上传文件、不允许在服务器上创建目录,我们可以修改以下一些配置项来达到自己的要求:

复制代码代码如下:

anonymous_enable=YES //接受匿名用户
no_anon_password=YES //匿名用户登录时不询问口令
anon_root=目录路径 //匿名用户登录后所在的位置,可以根据自己的实际需求来修改
write_enable=YES //可以上传(全局控制)
file_open_mode=0666 //上传文件的权限,配合umask使用
anon_upload_enable=NO //匿名用户可以上传
anon_mkdir_write_enable=YES //匿名用户可以建立目录
anon_other_write_enable=YES //匿名用户可以重名名、删除等权限
anon_world_readable_only=YES //如果设为YES,匿名用户登入者会被允许下载可阅读的文档
chown_uploads=YES //所有匿名上传的文件的所属用户将会被更改为chown_username
chown_username=user //匿名上传文件所属用户名

除了以上这些匿名用户的选项外我们还可以添加一些设置FTP服务器的公共选项,通过这些选项可以为FTP服务器设置一些不同的欢迎信息。

复制代码代码如下:

ftpd_banner=Welcom to my FTP Server!!! //登录时显示的欢迎信息
dirmessage_enable=YES //允许为目录配置显示信息,显示每个目录下面message_file文件的内容
setproctitle_enable=YES //显示会话状态信息

下面来举个例子来说明一下匿名用户的应用:
为了公司的员工工作方便,公司决定搭建一台FTP服务器,要达到的功能如下:
1.允许公司的任何员工把自己的一些文档传上FTP服务器上保存起来以便下次使用,
2.允许员工自己创建目录
3.员工登录成功后显示欢迎信息
如果要达到以上的要求只需要在vsftpd.conf配置文件中修改以下选项就OK了,如果默认没有一些选项,可以自己手动添加:

复制代码代码如下:

anonymous_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
ftpd_banner=Welcom to my FTP Server!!!

注意:如果只设置了anon_upload_enable=YES,但选项write_enabl未设置(或者设置成了NO),则匿名用户仍然不能上传文件。还有别忘记了修改FTP所处的文件夹的权限。
修改完以上配置文件后,使用命令service vsftpd restart重启一下vsftpd服务然后测试就OK了,其实上面这个例子很不安全,我只是举个例子,如果实际中使用,可以使用下面讲到的另两种方法都可以。
2.本地用户配置:

复制代码代码如下:

local_enable=YES //启用本地用户
local_umask=022 //本地用户上传的文件的权限,可以参考linux权限部分来了解
local_root=目录路径 //本地用户登录FTP服务器后所处的目录
chroot_local_user=YES //限制本地用户的根目录为自己的主目录
chroot_list_enable=YES //如果启动这项功能,则所有列在chroot_list_file之中的使用者都不能更改根目录
chroot_list_file=限制的用户所处的文件路径

在FTP服务器上通常会有很多的本地用户,那么有时候我们希望一些用户可以登录FTP服务器,而有的用户我们不希望他们登录,遇到这种情况该怎么解决呢?可以使用如下选项来实现些功能:

复制代码代码如下:

userlist_enable=YES //启用userlist功能模块
userlist_deny=YES //拒绝userlist文件中列出的用户登录FTP服务器
userlist_file=userlist文件的的路径

以上选项的意思就是我们假如不想让一部分人登录FTP服务器,那么我们可以写一个文件把这些用户加入到这个文件中去,然后把上面这个功能打开然后在userlist_file选项那指向这个文件的所在地,这样这个文件中的用户就不能登录FTP服务器了。相反假如我们userlist_deny设置成NO的话,意思就是userlist_file指向的那个文件里的用户可以登录FTP服务器,其它用户则不能登录FTP服务器。
本地用户的应用比较简单,只要系统中可以登录的用户要登录FTP服务器,直接输入系统的用户名和密码就可以登录了,默认登录后是在自己的家目录里,也就是/home/用户文件夹里。权限的控制就是修改这个目录的权限来控制就OK了。如果想控制某些用户禁止登录,则可以按照上面的userlist功能来进行限制就行了。
除了以上匿名用户和本地用户外的一些参数外还有网络和连接参数及下面会提到的日志功能配置。
四、网络和连接参数配置,
下面是一些常用的网络和连接参数:

复制代码代码如下:

max_clients=1000 //可接受的最大连接数,可以根据自己的实际情况来修改
max_per_ip=5 //每个IP地址的最大连接数,可以根据自己的实际情况来修改
anon_max_rate=51200 //匿名用户的带宽(b/s)
local_max_rate=5120000 //本地用户的带宽(b/s)
idle_session_timeout=600 //空闲连接超时时间
data_connection_timeout=120 //数据传输超时时间
ACCEPT_TIMEOUT=60 //PAVS请求超时时间
connect_timeout=60 //PORT模式连接超时时间
connect_from_port_20=YES //使用标准的20端口来连接FTP
listen_address=地址或网段 //绑定到某个IP或网段,其他IP不能访问该FTP
listen_port=2121 //绑定到某个端口
ftp_data_port=2020 //数据传输端口
pasv_max_port=0 //PASV连接模式时可以使用port范围的上界,0表示任意。
pasv_min_port=0 //PASV连接模式时可以使用port范围的下界,0表示任意。

以上各个选项后都有说明,有需要的可以自己根据自己的情况来添加,这里就不再详述了。其中PORT模式是FTP工作模式中的主动模式,PASV模式是FTP工作模式中的被动模式。
五、日志功能配置
vsftpd可启用日志功能,这样,文件的上传与下载信息将被完整地记录在xferlog_file选项所设置的日志文件中,设置日志功能的选项如下:

复制代码代码如下:

xferlog_enable=YES //开启日志功能
xferlog_file=文件路径 //日志文件的存放位置
xferlog_std_format=YES //使用标准格式记录日志

vsftpd的专用日志模式配置选项:

复制代码代码如下:

al_log_enable=YES //采用vsftpd自己专用的日志记录方式
log_ftp_enable=YES //记录所有的FTP命令日志
vsftpd_log_file=文件路径 //指定vsftpd日志文件的位置

当以上两种日志功能都设置为NO时,还可以使用系统日志来记录FTP的日志,设置选项如下:
syslog_enable=YES //启用后,默认的日志写入到/var/log/messages里
虽然可以使用这种方式来记录FTP日志,但是推荐使用最上面的两种,因为这样查看日志时候比较清楚,容易分析日志。
六、其他常用选项设置

复制代码代码如下:

ascii_upload_enable=YES //用ASCII模式上传,
ascii_download_enable=YES //用ASCII模式下载
dirmessage_enable=YES //设置每个子目录的欢迎信息。
banner_file=文件路径 //设置欢迎信息的文件
ls_recurse_enable=YES //允许用户使用ls -R命令
pam_service_name=vsftpd //定义PAM使用的名称,默认为vsftpd
guest_enable=YES //将所有的非匿名用户都视为guest,即启用虚拟用户
guest_username=virtual //定义guest的使用者名称