ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux搭建vsftp

2022-03-21 11:33:33  阅读:172  来源: 互联网

标签:chroot ftpuser server vsftpd vsftp Linux YES root 搭建


操作系统:centos7.9

server:192.168.2.239

client:192.168.2.17

server操作:

卸载原有的vsftpd服务

[root@server ~]# yum remove vsftpd

Loaded plugins: fastestmirror, langpacks

No Match for argument: vsftpd

No Packages marked for removal

 

安装vsftpd和ftp

[root@server ~]# yum -y instll vsftpd

[root@server ~]# yum -y instll ftp

创建一个文件夹用来当作ftp得仓库(并给777权限为了便于创建目录)

[root@server ~]# mkdir /ftpfile

[root@server ~]# chmod 777 /ftpfile

[root@server ~]# ls /

bin  boot  dev  etc  ftpfile  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

创建一个用户,仅对文件夹有上传权限,又没有登陆权限

[root@server ~]# useradd ftpuser

//赋值权限

[root@server ~]# chown ftpuser:ftpuser /ftpfile/

//重置改用户的密码

[root@server ~]# passwd ftpuser 

Changing password for user ftpuser.

New password: 

BAD PASSWORD: The password is a palindrome

Retype new password: 

passwd: all authentication tokens updated successfully.

 

配置文件vsftpd.conf

#进入vsftpd配置文件

vim /etc/vsftpd/vsftpd.conf 

# 禁止匿名用户anonymous登录

anonymous_enable=NO

# 允许本地用户登录

local_enable=YES

# 让登录的用户有写权限(上传,删除)

write_enable=YES

# 默认umask

local_umask=022

# 把传输记录的日志保存到/var/log/vsftpd.log

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=NO

# 允许ASCII模式上传

ascii_upload_enable=YES

# 允许ASCII模式下载

ascii_download_enable=YES

# 使用20号端口传输数据

connect_from_port_20=YES

# 欢迎标语

ftpd_banner=Welcome to use my test ftp server.

接下来的三条配置很重要

# chroot_local_user设置了YES,那么所有的用户默认将被chroot,

# 也就用户目录被限制在了自己的home下,无法向上改变目录。

# chroot_list_enable设置了YES,即让chroot用户列表有效。

# ★超重要:如果chroot_local_user设置了YES,那么chroot_list_file

# 设置的文件里,是不被chroot的用户(可以向上改变目录)

# ★超重要:如果chroot_local_user设置了NO,那么chroot_list_file

# 设置的文件里,是被chroot的用户(无法向上改变目录)

chroot_list_enable=YES

# touch /etc/vsftpd/chroot_list 新建

chroot_list_file=/etc/vsftpd/chroot_list

use_localtime=YES

# 以standalone模式在ipv4上运行

listen=YES

#禁用ipv6

listen_ipv6=NO



pam_service_name=vsftpd

# 重启 vsftpd

systemctl restart vsftpd

本地用户写在vi /etc/vsftpd/chroot_list下,当前创建的用户是ftpuser

 

 

client端操作:

[root@client ~]# yum -y instll vsftpd

[root@client ~]# yum -y instll ftp

 

验证测试:

登录到ftp

[root@client ~]# ftp 192.168.2.239

Connected to 192.168.2.239 (192.168.2.239).

220 Welcome to blah FTP service.

Name (192.168.2.239:root): ftpuser

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>

创建目录验证

ftp> mkdir aa

257 "/ftpfile/aa" created

ftp> ls

227 Entering Passive Mode (192,168,2,239,143,33).

150 Here comes the directory listing.

drwxr-xr-x    2 1005     1005            6 Mar 16 22:21 aa

226 Directory send OK.

 

到server端查看验证是否创建成功目录

[ftpuser@server ~]$ cd /ftpfile/

[ftpuser@server ftpfile]$ ll

 

在server端创建一个文件image.jpg(测试文件的下载)

[ftpuser@server ftpfile]$ touch image.jpg

[ftpuser@server ftpfile]$ ll

 

到client下验证下载到client本地

  

将client下的ccc.jpg文件上传到server上

  

在server端查看

 

常用FTP命令

许多FTP命令与您在Linux shell提示符中键入的命令类似或相同。以下是一些最常见的FTP命令:

help或?     - 列出所有可用的FTP命令。

cd          - 切换远程计算机上的目录。

lcd         - 切换本地计算机上的目录。

ls          - 列出当前远程目录中的文件和目录的名称。

mkdir       - 在当前远程目录中创建一个新目录。

pwd         - 打印远程计算机上的当前工作目录。

delete      - 删除当前远程目录中的文件。

rmdir       - 删除当前远程目录中的目录。

get         - 将一个文件从远程复制到本地计算机。

mget        - 将多个文件从远程复制到本地计算机。

put         - 将一个文件从本地上传到远程计算机。

mput        - 将多个文件从本地上传到远程计算机。

标签:chroot,ftpuser,server,vsftpd,vsftp,Linux,YES,root,搭建
来源: https://blog.csdn.net/dacming/article/details/123630518

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有