⑴ ftp成功登入后执行linux命令如:ls 报ftp 500错误怎样解决
原因是CentOS系统安装了SELinux,因为默认下是没有开启FTP的支持,所以访问时都被阻止了。
//查看SELinux设置
# getsebool -a|grep ftp
ftpd_disable_trans --> off
或者
ftp_home_dir-->off
//使用setsebool命令开启
# setsebool ftpd_disable_trans 1
或者
# setsebool ftp_home_dir 1
//查看当前状态是否是on的状态
# getsebool -a|grep ftp
ftpd_disable_trans --> on
或者
ftp_home_dir-->on
//setsebool使用-P参数,无需每次开机都输入这个命令
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1
# service vsftpd restart
⑵ linux下ftp命令详解
ftp(file transfer protocol)
功能说明:设置文件系统相关功能。
语法:ftp [-dignv][主机名称或IP地址]
补充说明:FTP是ARPANet的标准文件传输协议,该网络就是现今Internet的前身。
参数: 《Linux就该这么学》
-d 详细显示指令执行过程,便于排错或分析程序执行的情形。
-i 关闭互动模式,不询问任何问题。
-g 关闭本地主机文件名称支持特殊字符的扩充特性。
-n 不使用自动登陆。
-v 显示指令执行过程。
1. 连接ftp服务器
格式:ftp [hostname| ip-address]
a)在linux命令行下输入:
ftp 192.168.1.1
b)服务器询问你用户名和密码,分别输入用户名和相应密码,待认证通过即可。
c)也可以先输入ftp
ftp>
d)然后在输入要连接的IP
ftp>open 192.168.1.1
2. 下载文件
下载文件通常用get和mget这两条命令。
a) get
格式:get [remote-file] [local-file]
将文件从远端主机中传送至本地主机中。
如要获取远程服务器上/usr/your/1.htm,则
ftp> get /usr/your/1.htm 1.htm (回车)
b) mget
格式:mget [remote-files]
从远端主机接收一批文件至本地主机。
如要获取服务器上/usr/your/下的所有文件,则
ftp> cd /usr/your/
ftp> mget *.* (回车)
此时每下载一个文件,都会有提示。如果要除掉提示,则在mget *.* 命令前先执行:prompt off
注意:文件都下载到了linux主机的当前目录下。比如,在/usr/my下运行的ftp命令,则文件都下载到了/usr/my下。
3.上传文件
a) put
格式:put local-file [remote-file]
将本地一个文件传送至远端主机中。
如要把本地的1.htm传送到远端主机/usr/your,并改名为2.htm
ftp> put 1.htm /usr/your/2.htm (回车)
b) mput
格式:mput local-files
将本地主机中一批文件传送至远端主机。
如要把本地当前目录下所有html文件上传到服务器/usr/your/ 下
ftp> cd /usr/your (回车)
ftp> mput *.htm(回车)
⑶ linux系统中怎样配置ftp
Linux下配置VSftp服务器步骤一、检查是否安装了vsftpd, rpm -qa |grep vsftp
Linux下配置VSftp服务器步骤二、新建用户
useradd test -g root -d /mpeg -s /sbin/nologin #该用户仅用来支持FTP服务,因此不必让他登录系统
注:改变用户的shell命令为usermod -s /sbin/nologin coship
Linux下配置VSftp服务器步骤三、设置密码
passwd test # 连续输入两次密码
Linux下配置VSftp服务器步骤四、修改SELinux参数
setsebool ftpd_disable_trans 1
service vsftpd restart
说明:如果不修改,连接时会提示
500 OOPS: cannot change directory:/mpeg
500 OOPS: child died
Linux下配置VSftp服务器步骤五、修改/mpeg权限
chmod 775 /mpeg
Linux下配置VSftp服务器步骤六、设置/etc/vsftpd/vsftpd.conf
将anonymous_enable=NO,这样可以限制匿名用户登录。
local_enable=YES #启用本地用户登录
write_enable=YES #设置可以进行写操作
local_umask=022 #设定上传后文件的权限掩码
userlist_enable=YES #启用用户登录控制
local_root=/mpeg (路径自定义)#定义所有本地用户的根目录。当本地用户登入时,将被更换到此目录下。(注释则访问该用户自己目录)
否则访问其它目录时会提示:550 Failed to change directory.
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list #指出被锁定在自家目录中的用户的列表文件。文件格式为一行一用户。
注意:
当chroot_local_user=NO、chroot_list_enable=YES时,chroot_list中用户为锁定用户,即他们除了自己的目录,不可以访问其他目录。
当chroot_local_user=YES、chroot_list_enable=YES时,chroot_list中用户为非锁定用户,他们可以访问任何其他目录。
Linux下配置VSftp服务器步骤七、设置vsftpd自动启动
chkconfig vsftpd on 或
运行ntsysv将vsftpd选上 或
echo "/usr/local/sbin/vsftpd &" >>/etc/rc.local
Linux下配置VSftp服务器步骤八、如果出现不能访问的现象可以将防火墙和SELinux停用
1、service iptables stop
2、编辑/etc/selinux/config将SELINUX设为disabled,即SELINUX=disabled
或终端里运行system-config-securitylevel-tui
或点击“system"->"administration"->"security level and firewall对防火墙和SELinux进行设置
⑷ linux ftp服务,本机用户验证设置
是因为SElinux配置的关闭了ftp的原因。
使用命令
getsebool ftpd_disable_trans
能够查看当前的状态假如不是on
那么是输入命令
setsebool ftpd_disable_trans 1
当然也能够加入-P参数 以便无需每次开机都输入这个命令
setsebool -P ftpd_disable_trans 1
同理 假如smb服务也碰到相同的问题 ,也能够这么做。
setsebool -P samba_enable_home_dirs=1
selinux的问题也能够使用 管理工具中的 selinux management 来调整相关配置。
如果你在配置过程中使用了如上方法还是没有解决问题,请检查vsftpd的用户运行权限,是以哪个用户或者是组来运行的,把home下面的那个目录加上权限即可,一般把目录的所属组改为ftp用户组就ok了 而且要给读写执行权限!
⑸ Linux服务器宝塔面板怎么连接FTP
先检查这些内容
1.注意内网IP和外网IP
2.检查ftp服务是否启动 (面板首页即可看到)
3.检查防火墙20端口 ftp 21端口及被动端口39000 - 40000是否放行 (如是腾讯云/阿里云等还需检查安全组)
4.是否主动/被动模式都不能连接
5.新建一个用户看是否能连接
6.更换ftp客户端使用flashfxp 如图勾上 再尝试连接
但凡解决了就可以登陆了,如果还是不行,那么试试最后一种方法:
登陆宝塔面板管理系统,找到左侧的“软件管理”--“FTP软件”---点击“设置”
然后点击配置修改:如图所示,查找“ForcePassiveIP”(位置188行左右)
#ForcePassiveIP192.168.0.1
删除前面的“#”将“192.168.0.1”修改为:服务器的IP地址,是服务器不是你客户端的IP地址!
ForcePassiveIP服务器公网ip地址
最后修改完记得重新启动一下FTP软件,打开FTP连接,你会发现奇迹发生了
⑹ 虚拟机linux怎么连接外部ftp
下面是在虚拟机中的linux的ftp的基本配置(redhat AS 4.0为例): 首先要安装linux下的vsftp软件包。 rpm -qagerp 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服务器报错“不用改变目录” 具体语句如下:500 OOPS:cannot change directory:/home/ftpa
在终端执行:
so setsebool -P ftp_home_dir on
⑻ linux下用ftp命令连接到ftp服务器应该如何查看服务器上的目录文件数
1.Linux下启动ftp
ls -l 普通文件就是以 - 开头,文件夹以 d 开头,grep 后面接正则表达式:^- 以 - 开头的匹配。
(8)linux连接ftp500扩展阅读:
1.查看当前目录下的文件数量(不包含子目录中的文件):
ls -l|grep "^-"| wc -l
2. 查看当前目录下的文件数量(包含子目录中的文件):
ls -lR|grep "^-"| wc -l
3.查看当前目录下的文件夹目录个数,(不包含子目录中的目录):
ls -l|grep "^d"| wc -l
4.查询当前路径下的指定前缀名的目录下的所有文件数量 例如:统计所有以“20161124”开头的目录下的全部文件数量:
ls -lR 20161124*/|grep "^-"| wc -l
⑼ linux 系统怎么连接远程的ftp
在 $ 状态下输入:ftp 远程主机的 FTP 服务器的 IP 地址,进入 > 状态后,你就可以进行文件传输了(put、get、mput、mget 等)。
⑽ 如何在linux下开启FTP服务
Linux下ftp服务可以通过搭建vsftpd服务来实现,以CentOS为例,首先查看系统中是否安装了vsftpd,可以通过执行命令rpm -qa |grepvsftpd来查看是否安装相应的包,如果没有安装那么可以执行yum-yinstallvsftpd来安装,安装之后首先创建ftp用户,比如ftp_test,命令如下:
useradd-s/sbin/nologin-d/home/ftp_testftp_test
目录尽量不要选择根目录下,这里是/home/ftp_test,并且ftp_test这个目录不要手动创建,否则权限会有问题,执行命令的时候会自动创建,
现在可以看到上面的路径是一个/,对于ftp用户来说也就是根目录了,只能在这个目录下操作,而无法跳出这个目录
以上就是vsftpd服务的基本搭建过程,实际使用时可以分配多个用户