centosftp目录
A. 如何在Centos下安装ftp服务器
1、安装ftp
# yum -y install ftp vsftpd
查看安装情况
#rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
2、服务器配置
创建ftp根目录 /ftp/private(这里有个不解的问题,如果创建了一个/root/ftp/private的目录,登录时会提示500 OOPS: cannot change directory:/root/ftp/private之类的错误,目前无法解决,希望有知道的朋友解释一下),如果创建一个公开的目录,需要创建/ftp/open并在/etc/vsftpd/vsftpd.conf增加anon_root=/ftp/open
#mkdir /ftp
#mkdir /ftp/private
创建密码明文文件,创建两个用户John,Jack,密码分别是passwxx,passwyy
#vim /etc/vsftpd/pass.txt
John
passwxx
Jack
passwyy
根据明文创建密码DB文件,userlist.db就是用户密码的数据库
#db_load -T -t hash -f /etc/vsftpd/pass.txt \
> /etc/vsftpd/userlist.db
创建vftpd 系统账户 ftp_user
#useradd -d /root/ftp/private -s /sbin/nologin ftp_user
配置用户数据
# vi/etc/pam.d/vsftpd
//将auth及account的所有配置行行均注释掉,添加如下内容:
authrequiredpam_userdb.so db=/etc/vsftpd/userlist
accountrequiredpam_userdb.so db=/etc/vsftpd/userlist
userlist就是/etc/vsftpd/userlist.db的数据库,不过不用加.db后缀,系统自动添加
在/etc/vsftpd/vsftpd.conf 添加一下内容:
#vim /etc/vsftpd/vsftpd.conf
#anon_root=/ftp/open //如果要增加一个公开的文件目录,将注释去掉virtual_use_local_privs=YES
guest_enable=YES
guest_username=ftp_user
chroot_local_user=YES
allow_writeable_chroot=YES
同时将chroot_list_enable=YES,chroot_list_file=/etc/vsftpd/chroot_list注释去掉并将chroot_list_file=/etc/vsftpd/chroot_list
改为chroot_list_file=/ftp
chroot_list_enable=YES
# (default follows)
chroot_list_file=/ftp
启动vsftpd
#systemctl start vsftpd
设置开机启动
#systemctl enable vsftpd
B. 怎么修改centos ftp匿名登录的路径
如果是默认安装vsftpd的话,以下是一些文件的位置约定:
/usr/sbin/vsftpd ---- VSFTPD的主程序
/etc/rc.d/init.d/vsftpd ---- 启动脚本
/etc/vsftpd/vsftpd.conf ---- 主配置文件
/etc/pam.d/vsftpd ---- PAM认证文件
/etc/vsftpd.ftpusers ---- 禁止使用VSFTPD的用户列表文件
/etc/vsftpd.user_list ---- 禁止或允许使用VSFTPD的用户列表文件
/var/ftp ---- 匿名用户主目录
/var/ftp/pub ---- 匿名用户的下载目录
如果要更改默认下载目录,修改/etc/vsftpd/vsftpd.conf,加入如下三行:
local_root=/
chroot_local_user=YES
anon_root=/
local_root表示使用本地用户登录到ftp时的默认目录
anon_root表示匿名用户登录到ftp时的默认目录
你上面的chroot_list_file是设定锁定登陆用户在其home目录的列表,要在chroot_list_enable=YES情况下才生效。
另外,如luo_rc所述,最好不要设置默认目录为/,使用建议使用mount --bind来挂载需要的目录。
C. centos下如何指定ftp用户访问全盘
修改/etc/vsftpd/vsftpd.conf文件,添加:
chroot_local_user=NO
chroot_list_enable=NO
试一下。
D. CentOS系统下如何配置FTP(一)
启动命令:/etc/rc.d/init.d/vsftpd start
这时候可以使用ftp客户端连接.
vsftpd的权限貌似和系统权限有挂钩.
下面是抄来的配置解释vsftpd的配置
vsftpd.user_list:位于/etc目录下.该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问.
vsftpd.conf:位于/etc/vsftpd目录下.来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置.
(1)CentOS系统用户登录控制
E. CentOs ftp 设置用户访问指定目录
使用root账号登录centos系统
检查是否已安装vsftp
rpm -qa |grep vsftpd #未输出信息,表示未安装vsftp通过yum安装vsftp
yum -y install vsftpdftp启动、重启、停止、状态查询命令
service vsftpd start #启动ftpservice vsftpd stop #停止ftpservice vsftpd restart #重启ftpservice vsftpd status #查询ftp状态设置为开机启动(可设置)
chkconfig vsftpd on设置配置文件
vi /etc/vsftpd/vsftpd.conf修改如下内容:
anonymous_enable=NO #设置不允许匿名账户登录chroot_local_user=YES #所有用户限制在主目录中chroot_list_enable=NO #不启动限制用户名单,直接限制所有用户userlist_enable=NO #当为YES时只有userlist_file文件中指定的用户才能登录allow_writeable_chroot=YES #(在文件尾部新增)防止用户有写入权限时报错local_root=/home/www #(在文件尾部新增)设置用户的根目录重启ftp
service vsftpd restart创建ftp用户
创建用户组
groupadd ftpgroups创建用户
# useradd 添加用户命令 -d /home/www 指定用户根目录 -g ftpgroups 加入用户组 ftptest用户名useradd -d /home/www -g ftpgroups ftptest设置用户密码
passwd ftptest # passwd(命令) ftptest(用户名,根据你实际情况写)设置不允许用于系统登录
usermod -s /sbin/nologin ftptest #ftptest(用户名,根据你实际情况写)设置文件权限
chmod 755 /home/www设置目录拥有者
chown -R ftptest:root /home/www #ftptest:ftp用户名 ; /home/www:文件目录设置防火墙
systemctl status firewalld
查看防火墙状态,如果未启动,直接跳过本步骤开放20、21端口(阿里云服务器还需配置安全组开放防火墙)
firewall-cmd --permanent --zone=public --add-port=20/tcpfirewall-cmd --permanent --zone=public --add-port=20/udpfirewall-cmd --permanent --zone=public --add-port=21/tcpfirewall-cmd --permanent --zone=public --add-port=21/udpfirewall-cmd --reload #重新载入至此ftp服务安装成功,如果出现不能访问或不能写入的情况,就还需要设置SELinux(关闭)
sestatus -v #查看SELinux状态,如果SELinux status参数为enabled即为开启状态setenforce 0 #临时关闭(不用重启机器)
F. centos怎么搭建ftp服务器
方法/步骤
一:安装vsftpd
查看是否已经安装vsftpd
二:基于虚拟用户的配置
所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟用户不能登录CentOS系统。
修改配置文件
配置文件直接贴出来吧
三:使用Berkeley DB进行认证
yum install db4 db4-utils
然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码
接着,生成虚拟用户认证的db文件
编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,再增加以下两句:
最后,创建虚拟用户配置文件
设置FTP根目录权限
最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限
添加防火墙,把ftp的21端口开放 vi /etc/sysconfig/iptables
经过以上步骤我们就完成了ftp服务器的搭建,让我们畅游ftp吧
G. 求助CentOS高手:为/data/www/ 目录 配置ftp
你是不是把ftp根目录指向到新建的ftpwww用户的宿主目录下了?创建新用户后用户宿主目录下是有隐藏的几个配置文件的
H. CentOS系统下如何配置FTP(二)
(2)CentOS系统用户权限控制 write_enable=YES,开启全局上传权限. local_umask=022,本地用户的上传文件的umask设为022(系统默认是077,一般都可以改为022). chown_username=whoever,当启用chown_uploads=YES时,所指定的属主用户账号,此处的whoever自然要用合适的用户账号来代替. chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,则指定该列表(chroot_local_user)的保存路径(默认是/etc/vsftpd.chroot_list). nopriv_user=ftpsecure,指定一个安全用户账号,让FTP服务器用作完全隔离和没有特权的独立用户.这是vsftpd系统推荐选项. async_abor_enable=YES,强烈建议不要启用该选项,否则将可能导致出错! ascii_upload_enable=YES;ascii_download_enable=YES,默认情况下服务器会假装接受ASCⅡ模式请求但实际上是忽略这样的请求,启用上述的两个选项可以让服务器真正实现ASCⅡ模式的传输. 注意:启用ascii_download_enable选项会让恶意远程用户们在ASCⅡ模式下用“SIZE/big/file”这样的指令大量消耗FTP服务器的I/O资源. 这些ASCⅡ模式的设置选项分成上传和下载两个,这样我们就可以允许ASCⅡ模式的上传(可以防止上传脚本等恶意文件而导致崩溃),而不会遭受拒绝服务攻击的危险. (3)CentOS系统用户连接和超时选项 idle_session_timeout=600,可以设定默认的空闲超时时间,用户超过这段时间不动作将被服务器踢出. data_connection_timeout=120,设定默认的数据连接超时时间. dirmessage_enable=YES,允许为目录配置显示信息,显示每个目录下面的message_file文件的内容. xferlog_enable=YES,启用记录上传/下载活动日志功能. xferlog_file=/var/log/vsftpd.log,可以自定义日志文件的保存路径和文件名,默认是/var/log/vsftpd.log.以上,我们就完成了CentOS系统中FTP的配置工作.
I. CentOS系统下如何配置FTP
启动命令:/etc/rc.d/init.d/vsftpd start 这时候可以使用ftp客户端连接。 vsftpd的权限貌似和系统权限有挂钩。 下面是抄来的配置解释vsftpd的配置 ,例如root等。 vsftpd.user_list:位于/etc目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问。 vsftpd.conf:位于/etc/vsftpd目录下。来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。 (1)CentOS系统用户登录控制 local_enable=YES,允许本地用户登录。 banned_email_file=/etc/vsftpd.banned_emails,当启用deny_email_enable功能时,所需的电子邮件黑名单保存路径(默认为/etc/vsftpd.banned_emails)。 (2)CentOS系统用户权限控制 write_enable=YES,开启全局上传权限。 local_umask=022,本地用户的上传文件的umask设为022(系统默认是077,一般都可以改为022)。 chown_username=whoever,当启用chown_uploads=YES时,所指定的属主用户账号,此处的whoever自然要用合适的用户账号来代替。 chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,则指定该列表(chroot_local_user)的保存路径(默认是/etc/vsftpd.chroot_list)。 nopriv_user=ftpsecure,指定一个安全用户账号,让FTP服务器用作完全隔离和没有特权的独立用户。这是vsftpd系统推荐选项。 async_abor_enable=YES,强烈建议不要启用该选项,否则将可能导致出错! ascii_upload_enable=YES;ascii_download_enable=YES,默认情况下服务器会假装接受ASCⅡ模式请求但实际上是忽略这样的请求,启用上述的两个选项可以让服务器真正实现ASCⅡ模式的传输。 注意:启用ascii_download_enable选项会让恶意远程用户们在ASCⅡ模式下用“SIZE/big/file”这样的指令大量消耗FTP服务器的I/O资源。 这些ASCⅡ模式的设置选项分成上传和下载两个,这样我们就可以允许ASCⅡ模式的上传(可以防止上传脚本等恶意文件而导致崩溃),而不会遭受拒绝服务攻击的危险。 (3)CentOS系统用户连接和超时选项 idle_session_timeout=600,可以设定默认的空闲超时时间,用户超过这段时间不动作将被服务器踢出。 data_connection_timeout=120,设定默认的数据连接超时时间。 dirmessage_enable=YES,允许为目录配置显示信息,显示每个目录下面的message_file文件的内容。 xferlog_enable=YES,启用记录上传/下载活动日志功能。 xferlog_file=/var/log/vsftpd.log,可以自定义日志文件的保存路径和文件名,默认是/var/log/vsftpd.log。 以上,我们就完成了CentOS系统中FTP的配置工作。