centos修改ftp指向目录
❶ 如何对CentOS ftp服务配置
vsftpd作为FTP服务器,在linux系统中是非常常用的。下面我们介绍如何在centos系统上安装vsftp。
什么是vsftpd
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。
vsftpd 的名字代表”very secure FTP daemon”, 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。
安装vsftpd
1、以管理员(root)身份执行以下命令
yum install vsftpd
2、设置开机启动vsftpd ftp服务
chkconfig vsftpd on
3、启动vsftpd服务
service vsftpd start
管理vsftpd相关命令:
停止vsftpd: service vsftpd stop
重启vsftpd: service vsftpd restart
配置防火墙
打开/etc/sysconfig/iptables文件
vi /etc/sysconfig/iptables
在REJECT行之前添加如下代码
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
保存和关闭文件,重启防火墙
service iptables start
配置vsftpd服务器
默认的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本编辑器打开。
vi /etc/vsftpd/vsftpd.conf
添加ftp用户
下面是添加ftpuser用户,设置根目录为/home/wwwroot/ftpuser,禁止此用户登录SSH的权限,并限制其访问其它目录。
1、修改/etc/vsftpd/vsftpd.conf
将底下三行
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
改为
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
3、增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。
useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser
4、设置用户口令
passwd ftpuser
5、编辑文件chroot_list:
vi /etc/vsftpd/chroot_list
内容为ftp用户名,每个用户占一行,如:
peter
john
6、重新启动vsftpd
service vsftpd restart
另外,如果觉得以后管理ftp用户名嫌麻烦,可以使用centos官方发布的脚本管理。地址如下:
http://wiki.centos.org/HowTos/Chroot_Vsftpd_with_non-system_users
出现的错误
1、500 OOPS: cannot change directory
解决方法:
在终端输入命令:
setsebool -P ftpd_disable_trans 1
service vsftpd restart
就OK了!
原因:这是因为服务器开启了selinux,这限制了FTP的登录。
❷ 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的配置工作.
❸ centos linux FTP 怎么改变匿名用户的默认路径 急急急 在线等
修改配置文件/etc/vsftpd/vsftpd.conf中的 “anon root = ” ,把等号后改为 /var/ftp/A 就OK了!
❹ 求助CentOS高手:为/data/www/ 目录 配置ftp
你是不是把ftp根目录指向到新建的ftpwww用户的宿主目录下了?创建新用户后用户宿主目录下是有隐藏的几个配置文件的
❺ CentOS如何配置ftp server
首先安装proftp,# yum install proftp
之后配置
1、配置Ftp允许Root登录
修改/etc/ftpusers,去掉root
2、如果希望实现Root用户Ftp后可以切换到/目录
一般用户只能切换到自己的主目录,修改/etc/proftpd.conf文件,在DefaultRoot
一行前面增加一行
DefaultRoot / root
重新启动proftpd服务即可。
改变匿名登录的不想登录到默认的 /var/ftp目录
就要把/etc/passwd文件中的
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
中的默认目录改变了即可。
3、Ftp具有写入功能请在/etc/proftpd.conf文件中的<Global>段中改为如下:
<Limit STOR>
AllowAll
</Limit>
才可以。
4、Ftp改为PASV模式
在我们红旗dc 5.0中的设置是在proftpd.conf中添加如下两条语句即可。
MasqueradeAddress ip地址
#该参数设置在client发pasv指令时,server返回给client的pasv地址串中应该包含的连接地址,
#该地址通常是防火墙的外部地址(作rdr的地址)
PassivePorts 端口号
设置好之后重启一下ftp服务。
FTP的连接一般是有两个连接的,一个是客户程和服务器传输命令的,另一个是数据传送的连接。FTP服务程序一般会支持两种不同的模式,一种是Port模式,一种是
Passive模式(PasvMode),我先说说这两种不同模式连接方式的分别。
先假设客户端为C,服务端为S.
*Port模式:*
当客户端C向服务端S连接后,使用的是Port模式,那么客户端C会发送一条命令告诉服务端S(客户端C在本地打开了一个端口N在等着你进行数据连接),当服务端S收
到这个Port命令后
就会向客户端打开的那个端口N进行连接,这种数据连接就生成了。
*Pasv模式:*
当客户端C向服务端S连接后,服务端S会发信息给客户端C,这个信息是(服务端S在本地打开了一个端口M,你现在去连接我吧),当客户端C收到这个信息后,就可以向服
务端S的M端口进行连接,连接成功后,数据连接也建立了。
从上面的解释中,两种模式主要的不同是数据连接建立的不同,对于Port模式,是客户端C在本地打开一个端口等服务端S去连接建立数据连接;而Pasv模式就是服务端
S打开一个端口等待客户端C去建立一个数据连接。
关于ftp的pasv模式,有一种情况:
如果是通过iptables转发到内网的一台服务器,默认只能用port模式,此时,可以增加两个iptables模块,以实现pasv模式:
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
放入/etc/rc.local即可。(网关服务器上设置,或在配置了iptables的机器上设置)
当然,通过修改proftpd.conf,指定允许的端口也可以,但这个会有限制,就是pasv port端口是固定的,假设数量是51000-510011,则只能提供给最多11个用户,否则就没有端口可以分配了。但加载模块则没有这个问题。
❻ centos里怎样设置同一个用户登陆不同的ftp站点时,主目录分别为/var/ftp,/var/f
将用户的家目录设置为你指定的目录。
❼ centos下如何指定ftp用户访问全盘
修改/etc/vsftpd/vsftpd.conf文件,添加:
chroot_local_user=NO
chroot_list_enable=NO
试一下。
❽ 怎么设置centos里的ftp用户登陆时的根目录!不是匿名用户,是ftp用户!
你自己设置用户名了就不是匿名用户,它默认是匿名而已
❾ 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 #临时关闭(不用重启机器)