生活服务
linux 配置使用ftp & 使用账号密码登陆失败
2024-12-26 20:00  浏览:76

 1.查看linux是否安装ftp

若返回ftp的版本信息,则标志着已经安装过ftp,可以根据需求判断是否卸载,卸载命令

rpm -e vsftp

  2. 安装ftp

yum install -y vsftpd

 3.配置ftp配置文件(ftp默认安装在/etc/vsftpd文件夹)

ftp主要有3个主要配置文件,分别是

/etc/vsftpd/vsftpd.conf  ftp核心配置文件

/etc/vsftpd/ftpusers      用于指定哪些用户不能访问FTP 服务器。及ftp黑名单

/etc/vsftpd/user_list     指定允许使用vsftpd 的用户列表文件。及ftp白名单

vsftpd.conf核心配置文件的配置参数如下:

anonymous_enable=NO  #允许匿名用户访问为了安全选择关闭
local_enable=YES   # 允许本地用户登录
write_enable=YES   # 是否允许写入
local_umask=022  # 本地用户上传文件的umask
dirmessage_enable=YES #为YES则进入目录时显示此目录下由message_file选项指定的文本文件(,默认为.message)的内容
xferlog_enable=YES #开启日志

xferlog_std_format=YES #标准格式
connect_from_port_20=YES
xferlog_file=/var/log/xferlog   #ftp日志目录

idle_session_timeout=6000 #设置客户端连接时间

data_connection_timeout=1200 #设置数据连接时间 针对上传,下载
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list #设置为YES则下面的控制有效
chroot_list_enable=YES #若为NO,则记录在chroot_list_file所指定的文件(默认是/etc/vsftpd.chroot_list)中的用户将被chroot在登录后所在目录中,无法离开.如果为YES,则所记录的用户将不被chroot.这里YES.
chroot_local_user=YES
userlist_deny=NO #若设置为YES则记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户将无法login,并且将检察下面的userlist_deny选项
userlist_enable=YES #若为NO,则仅接受记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户的login请求.若为YES则不接受这些用户的请求.
userlist_file=/etc/vsftpd/user_list #白名单
chroot_list_enable=YES
local_root=/var/ftp/pub #根目录
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

示例配置如下

1.登录和对匿名用户的设置

write_enable=YES               //是否对登录用户开启写权限。属全局性设置。默认NO
local_enable=YES               //是否允许本地用户登录FTP服务器。默认为NO
anonymous_enable=YES          //设置是否允许匿名用户登录FTP服务器。默认为YES
ftp_username=ftp                //定义匿名用户的账户名称,默认值为ftp。
no_anon_password=YES             //匿名用户登录时是否询问口令。设置为YES,则不询问。默
认NO
anon_world_readable_only=YES   //匿名用户是否允许下载可阅读的文档,默认为YES。
   anon_upload_enable=YES      //是否允许匿名用户上传文件。只有在write_enable设置为
YES时,该配置项才有效。而且匿名用户对相应的目录必须有写权限。默认为NO。
anon_mkdir_write_enable=YES //是否允许匿名用户创建目录。只有在write_enable设置为    YES时有效。且匿名用户对上层目录有写入的权限。默认为NO。
anon_other_write_enable=NO    //若设置为YES,则匿名用户会被允许拥有多于
上传和建立目录的权限,还会拥有删除和更名权限。默认值为NO

2.设置用户登录后所在的目录
local_root=/var/ftp             
// 设置本地用户登录后所在的目录。默认配置文件中没有设置该项,此时用户登录FTP服务器后,所在的目录为该用户的主目录,对于root用户,则为/root目录。
anon_root=/var/ftp            
//设置匿名用户登录后所在的目录。若未指定,则默认为/var/ftp目录。

3.控制用户是否允许切换到上级目录

 在默认配置下,用户可以使用“cd..”命名切换到上级目录。比如,若用户登录后所在的目录为/var/ftp,则在“ftp>”命令行 下,执行“cd..”命令后,用户将切换到其上级目录/var,若继续执行该命令,则可进入Linux系统的根目录,从而可以对整个Linux的文件系统 进行操作。

若设置了write_enable=YES,则用户还可对根目录下的文件进行改写操作,会给系统带来极大的安全隐患,因此,必须防止用户切换到Linux的根目录,相关的配置项如下
chroot_list_enable=YES                    
// 设置是否启用chroot_list_file配置项指定的用户列表文件。设置为YES则除了列在j/etc/vsftpd/chroot_list文件中的的帐号外,所有登录的用户都可以进入ftp根目录之外的目录。默认NO
chroot_list_file=/etc/vsftpd/chroot_list         
// 用于指定用户列表文件,该文件用于控制哪些用户可以切换到FTP站点根目录的上级目录。
chroot_local_user=YES                    
// 用于指定用户列表文件中的用户,是否允许切换到上级目录。默认NO
注意:要对本地用户查看效果,需先设置local_root=/var/ftp

具体情况有以下几种
1)当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到上级目录;未在文件中列出的用户,不能切换到站点根目录的上级目录。
2)当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd/chroot_list文件中列出的用户,不能切换到站点根目录的上级目录;未在文件中列出的用户,可以切换到上级目录。
3)当chroot_list_enable=NO,chroot_local_user=YES时,所有用户均不能切换到上级目录。
4)当chroot_list_enable=NO,chroot_local_user=NO时,所有用户均可以切换到上级目录。
5)当用户不允许切换到上级目录时,登录后FTP站点的根目录“/”是该FTP账户的主目录,即文件的系统的/var/ftp目录。

4.设置访问控制
(1)设置允许或不允许访问的主机(见TBP14
tcp_wrappers=YES用来设置vsftpd服务器是否与tcp wrapper相结合,进行主机的访问控制。默认设置为YES,vsftpd服务器会检查/etc/hosts.allow和/etc /hosts.deny中的设置,以决定请求连接的主机是否允许访问该FTP服务器。这两个文件可以起到简易的防火墙功能。
比如,若要仅允许192.168.168.1~192.168.168.254的用户,可以访问连接vsftpd服务器,则可在/etc/hosts.allow文件中添加以下内容
vsftpd:192.168.168.0/255.255.255.0 :allow
all:all:deny

(2)设置允许或不允许访问的用户
对用户的访问控制由/etc/vsftpd/user_list和/etc/vsftpd/ftpusers文件来控制实现。相关配置命令如下
userlist_enable=YES     
// 决定/etc/vsftpd/user_list文件是否启用生效。YES则生效,NO不生效。
userlist_deny=YES       
// 决定/etc/vsftpd/user_list文件中的用户是允许访问还是不允许访问。若设置为YES,则/etc/vsftpd/user_list 文件中的用户将不允许访问FTP服务器;若设置为NO,则只有vsftpd.user_list文件中的用户,才能访问FTP服务器。

5.设置访问速度
anon_max_rate=0       
//设置匿名用户所能使用的最大传输速度,单位为b/s。若设置为0,则不受速度限制,此为默认值。
local_max_rate=0       
// 设置本地用户所能使用的最大传输速度。默认为0,不受限制。

6.与连接相关的设置
listen=YES        
//设置vsftpd服务器是否以standalone模式运行。以standalone模式运行是一种较好的方式,此时listen必须设置为YES, 此为默认值,建议不要更改。很多与服务器运行相关的配置命令,需要此运行模式才有效。若设置为NO,则vsftpd不是以独立的服务运行,要受 xinetd服务的管理控制,功能上会受限制。

max_clients=0
//设置vsftpd允许的最大连接数,默认为0,表示不受限制。若设置为150时,则同时允许有150个连接,超出的将拒绝建立连接。只有在以standalone模式运行时才有效。

max_per_ip=0
// 设置每个IP地址允许与FTP服务器同时建立连接的数目。默认为0,不受限制。通常可对此配置进行设置,防止同一个用户建立太多的连接。只有在以standalone模式运行时才有效。

listen_address=IP地址        
//设置在指定的IP地址上侦听用户的FTP请求。若不设置,则对服务器所绑定的所有IP地址进行侦听。只有在以standalone模式运行时才有效。 对于只绑定了一个IP地址的服务器,不需要配置该项,默认情况下,配置文件中没有该配置项。若服务器同时绑定了多个IP地址,则应通过该配置项,指定在哪 个IP地址上提供FTP服务,即指定FTP服务器所使用的IP地址。
注意:设置此值前后,可以通过netstat -tnl对比端口的监听情况

accept_timeout=60            
//设置建立被动(PASV)数据连接的超时时间,单位为秒,默认值为60。
connect_timeout=60    
// PORT方式下建立数据连接的超时时间,单位为秒。
data_connection_timeout=300   
//设置建立FTP数据连接的超时时间,默认为300秒。

idle_session_timeout=600      
//设置多长时间不对FTP服务器进行任何操作,则断开该FTP连接,单位为秒,默认为600秒。即设置发呆的逾时时间,在这个时间内,若没有数据传送或指令的输入,则会强行断开连接。
pam_service_name=vsftpd     
//设置在PAM所使用的名称,默认值为vsftpd。

setproctitle_enable=NO|YES   
//设置每个与FTP服务器的连接,是否以不同的进程表现出来,默认值为NO,此时只有一个名为vsftpd的进程。若设置为YES,则每个连接都会有一个vsftpd进程,使用“ps -ef|grep ftp”命令可查看到详细的FTP连接信息。安全起见,建议关闭。

7.设置传输模式
FTP在传输数据时,可使用二进制(Binary)方式,也可使用ASCII模式来上传或下载数据。
ascii_download_enable=YES //设置是否启用ASCII模式下载数据。默认为NO。
ascii_upload_enable=YES    //设置是否启用ASCII模式上传数据。默认为NO。
4.创建用户权限

新增用户

useradd -d /ftp -s /sbin/nologin 用户名

设置密码

passwd 密码

添加权限

    添加权限(创建文件夹以及文件的权限)
     chown -R 用户名 /home/crm/ftproot
     chmod 755 -R /home/crm/ftproot
     
    “/home/crm/ftproot” 为ftp根目录
    cat /etc/vsftpd/vsftpd/comf
    ** local_root=/home/crm/ftproot

5.访问

ftp://ip

service vsftpd restart重启vsftpd服务
service vsftpd stop停止vsftpd服务
service vsftpd start启动vsftpd服务

chkconfig --list |grep vsftpd 查询Vsftpd在运行模式下是否开机启动

输入正确的用户名和密码依然提示500 OOPS: cannot change directory: 无法登陆.
服务器使用是centos搭建的vsftp,使用环境是从win10文件地址中登入服务器,在输入用户名密码框无法进去

 

当然也可以 还有一劳永逸的办法就是直接将seLinux关闭(执行后须重启服务器

 

于是在CMD下登录查看错误信息.

随后远程登录linux服务器上,使用getsebool -a| grep ftp 可以查看bool值相关设置信息

这里只需要更改ftp_home_dir 一项即可
命令如下:setsebool -P ftp_home_dir 1
再次使用getsebool -a查看发现 ftp_home_dir 显示为ON

这样就可以了

getsebool

    以上就是本篇文章【linux 配置使用ftp & 使用账号密码登陆失败】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/tnews/1811.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 http://ww.kub2b.com/mobile/ , 查看更多   
最新文章
腾讯围棋(野狐)手机版最新版中国象棋手机版「腾讯围棋(野狐)手机版最新版」
中国象棋竞技版最新版是有着很多经典的象棋残谱的经典益智游戏,在这里解锁自己感兴趣的棋谱,不管是是和电脑竞技还是真人pk,都
小米手机掉水里了应该怎么处理手机掉水里怎么处理「小米手机掉水里了应该怎么处理」
在日常生活中,我们难免会遇到一些突发情况,比如小米手机不慎掉入水中。面对这种情况,如果处理不当,可能会导致手机严重损坏。
有钱人“买爆”上海豪宅,有楼盘卖出200亿!去年多个“10万+”豪宅“日光”
本文来源:时代财经 作者:陈泽旋图源:图虫创意有钱人仍在楼市发挥他们的“钞能力”。近日,来自上海的中高端改善型项目海玥黄
华为WatchGT3可以遥控拍照吗?华为WatchGT3遥控拍照介绍华为手机驱动「华为WatchGT3可以遥控拍照吗?华为WatchGT3遥控拍照介绍」
近日有些朋友询问能否用华为Watch GT 3远程控制拍摄照片?以下是相关说明。(注:以上为简化版文本)华为WatchGT3支持遥控拍照,
谱写中印尼命运共同体新篇章
王鲁彤 中国和印度尼西亚是隔海相望的好邻居、命运与共的好伙伴,两国友谊源远流长。古代海上丝绸之路曾将双方紧密联系在一起,
东京股市继续上涨
  新华社东京4月18日电(记者钱铮)受医药和生物相关股普遍上涨拉动,日本东京股市18日继续上涨。日经225种股票平均价格指数收
如何有效格式化手机以清理存储空间和提升性能手机格式化是什么意思「如何有效格式化手机以清理存储空间和提升性能」
  在现代社会,手机已经成为我们生活中不可或缺的一部分。随着时间的推移,手机中的数据会逐渐增多,可能会导致设备运行缓慢,
如何快速关闭手机勿扰模式?详细步骤解析!手机勿扰模式在哪里「如何快速关闭手机勿扰模式?详细步骤解析!」
如何在Android手机上关闭勿扰模式 通过快捷设置关闭:用户可从屏幕顶部向下滑动以打开通知面板,接着找到“勿扰模式”图标(通常
microsd卡是什么卡手机sd卡是什么「microsd卡是什么卡」
  microsd卡是什么卡,很多人都有这样的疑问吧?下面就让我来为大家介绍一下吧!microsd卡是什么卡?  其实,MicroSD卡是一种
名茶汇聚的安徽,何以大而不强?
01为何名茶多,但名企少、名牌也少?说起安徽茶叶,大家第一印象是名优茶多,但这并不意味着龙头企业、知名品牌也多。中国十大名