Linux 使用 vsftpd 搭建 ftp 服务器
来源:互联网 发布:惠普spectre 13知乎 编辑:程序博客网 时间:2024/05/18 05:59
首先通过命令检查当前服务器是否安装了 vsftpd:
若只有下面一行证明未安装。
如果未安装可以通过在线安装:yum install vsftpd -y 。
安装完成后需要修改配置文件:
[root@iZ94nqhgta3Z /]# vi /etc/vsftpd/vsftpd.conf
关闭匿名登陆
anonymous_enable=NO
允许使用ascii码上传
ascii_upload_enable=YES
允许使用ascii码下载
ascii_download_enable=YES
限定在用户自己的主目录,不能跳出主目录之外目录
chroot_user_local=YES
到此,vsftpd 的配置已经完毕,接下来就是添加ftp账号。
我需要一个ftp账号,只对某个目录有读写权限,例如 /www 文件夹:
第一步,创建 www文件夹。
[root@iZ94nqhgta3Z /]# mkdir /www第二步,创建用户。
[root@iZ94nqhgta3Z /]# adduser -d /www -g ftp -s /sbin/nologin -M ftpuser[root@iZ94nqhgta3Z /]# passwd ftpuserChanging password for user ftpuser.New password:Retype new password:passwd: all authentication tokens updated successfully.[root@iZ94nqhgta3Z /]#在adduser中:
-d 指定登陆后的目录
-g 指定用户组
-s 指定用户登陆入所使用的 shell
-M 不要使用创建用户时自动创建的目录(在不指定 -d 的情况下创建用户程序会自动创建对应的目录)
重启 vsftpd
[root@iZ94nqhgta3Z /]# service vsftpd restartRedirecting to /bin/systemctl restart vsftpd.service
自 centos7 开始,为了简化操作,systemctl命令将service和chkconfig命令结合在一起,这样通过一个命令就能实现两个命令的功能,所以此处重启提示为重定向到systemctl重启,即使用service重启也不影响。
若 ftp 创建完成后,连接上去发觉只能下载,上传时报 503 permission denied 错误,这是因为创建的用户组没有操作权限,你的文件夹所属用户组及用户都是root 或者其它组的,所以需要改变 ftp 指向目录的拥有者:
chown -R ftpuser:ftp /www
-R 处理目录及其子目录的所有文件
ftpuser:ftp [ 用户:用户组 ]
在修改了 chroot_local_user 属性以后,若出现:500 OOPS: vsftpd: refusing to run with writable root inside chroot()
经了解,问题在于启用chroot,必须保证ftp根目录不可写,这样对于ftp根直接为网站根目录的用户不方便,所以建议假如ftp根目录是/www,则将访问权限改写如下:
chmod a-w /www
a All,即指所有用户;
- 取消、减去;
w 写入权限;
- Linux 使用 vsftpd 搭建 ftp 服务器
- Linux(Ubuntu)下使用vsftpd搭建ftp服务器
- linux vsftpd FTP服务器搭建(一)
- linux下 ftp(vsftpd)服务器搭建
- linux下利用vsftpd搭建ftp服务器
- linux centos FTP服务器搭建vsftpd配置
- Ubuntu下使用vsftpd搭建FTP服务器
- ubuntu下使用vsftpd搭建ftp服务器
- raspberry pi使用vsftpd搭建ftp服务器
- 树莓派使用vsftpd搭建ftp服务器
- 树莓派-使用vsftpd搭建ftp服务器
- vsftpd ftp服务器搭建
- FTP服务器搭建(vsftpd )
- 利用vsftpd搭建ftp服务器
- FTP服务器之vsFTPd搭建
- Redhat Enterprise Linux中使用vsftpd搭建指定用户指定目录的ftp服务器的方法
- Linux CentOS 6.5 下 vsftpd ftp服务器搭建
- Linux CentOS 6.5 下配置vsftpd 搭建FTP服务器
- C++ primer 笔记 1~7 章
- java web 开发模式
- HDU 1513 Palindrome
- 从零开始学spring-boot(3)-集成logback日志
- 打印对象和toString方法
- Linux 使用 vsftpd 搭建 ftp 服务器
- tomcat版本和jsp版本servlet版本的关系
- C#中怎么查询dataset中的数据,取其一行数据的每列到textbox中
- Xcode8去除控制台多余打印
- MySQL之SQL语法实例大全:11-20
- 关于堆和栈
- iOS:XML文件的解析(SAX解析)
- 跟我一起学C++之name managling与extern “C”
- printf 应用注意和 mosquitto loop简单说明