首页 > 系统相关 >linux安装ftp服务器

linux安装ftp服务器

时间:2023-05-12 19:23:01浏览次数:37  
标签:ftp vuser service vsftpd etc linux 服务器 YES

ftp的安装一般用yum直接在线安装;
yum install -y vsftpd

不行就update
yum update
1.
查看ftp状态
systemctl status vsftpd.service
# 启动ftp
systemctl start vsftpd.service
# 查看下ftp的默认端口21,发现能正常启动
 ss -anp | grep 21
# 因为还没配置好,先关闭ftp 
systemctl start vsftpd.service
2.
ftp的配置文件/etc/vsftpd/vsftpd.conf
ftp安装好后,配置文件在/etc/vsftpd/vsftpd.conf,利用vim ,修改配置文件。
#打开配置文件
vim /etc/vsftpd/vsftpd.conf
 
#显示行号
:set nu
 
#修改配置 12 行 不允许匿名访问(不登录默认访问某目录/var/ftp),要用户名和密码
anonymous_enable=NO
 
 
#修改配置83行  允许ascii文件上传
ascii_upload_enable=YES
 
#修改配置84行 允许ascii文件下载
ascii_download_enable=YES
 
#修改配置87行 
ftpd_banner=Welcome to blah FTP service.
 
#修改配置101,102,104行 将用户限制在为其配置的主目录
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
 
#添加下列内容到vsftpd.conf末尾
use_localtime=YES
 
# 监听端口
listen_port=21
 
idle_session_timeout=300
 
# 设置启用虚拟用户功能
guest_enable=YES
 
# 制定宿主用户名(我们后续需要为我们的系统增加该用户)
guest_username=ftpuser
 
# 制定虚拟用户配置文件放置文件夹(需要我们自己建立)
user_config_dir=/etc/vsftpd/vuser_conf
 
# 允许写
allow_writeable_chroot=YES
 
data_connection_timeout=1
virtual_use_local_privs=YES
pasv_min_port=40000
pasv_max_port=40010
accept_timeout=5
connect_timeout=1
 
# wq!保存

 

3 ftp的账号、组、目录配置

 

# 新建一个ftpuser组
groupadd ftpuser
 
# 新建一个ftpuser账号,并且该账号不需要登录服务器,设定家目录在 /home/vsftpd
useradd -g ftpuser -M -d /home/vsftpd -s /sbin/nologin ftpuser
 
# 设置用户 ftpuser 的密码
passwd ftpuser
 
# 把 /home/vsftpd 的所有权给ftpuser.root
chown -R ftpuser:ftpuser  /home/vsftpd
 
# 在家目录下先创建两个文件夹,作为后续ftp账号的默认目录
mkdir -p  /home/vsftpd/ftp-user1 /home/vsftpd/ftp-user2
 
# 设置目录权限为755
chmod 755 -R /home/vsftpd
 

 

4 ftp的登录用户和密码设置

 

# 进入/etc/vsftpd/目录
cd /etc/vsftpd/
 
# 创建用户密码信息文件
vim vuser_passwd
 
#编辑如下内容,创建虚拟账户信息,奇数行为用户名,偶数行为密码
ftp-user1
123456
ftp-user2
123456
# wq!保存退出
 
# 生成虚拟用户数据文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db
 
# 将该目录的权限改成600
chmod 600 /etc/vsftpd/vuser_passwd.db

 

5 编辑pam认证文件

 

# 查看系统位数
getconf LONG_BIT
 
# 备份pam认证文件
mv  /etc/pam.d/vsftpd  /etc/pam.d/vsftpd.bak
 
# 新建pam认证文件
vim /etc/pam.d/vsftpd
 
# 根据自己的操作系统选2行,不要全部都填写哟
# 注:db=/etc/vsftpd/vuser_passwd 中的vuser_passwd 是你生成的虚拟用户的db文件,这里不要加扩展名。
 
# 系统为32位:
 
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd account
 
required pam_userdb.so db=/etc/vsftpd/vuser_passwd
 
 
 
# 系统为64位:
 
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
 
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
 
# wq!保存内容
 

 

6 创建虚拟用户配置目录

 

#创建上述配置文件中配置的虚拟用户文件夹,一定要对应章节3.2配置文件的user_config_dir=/etc/vsftpd/vuser_conf
mkdir -p /etc/vsftpd/vuser_conf
 
#切换进入 /etc/vsftpd/vuser_conf
cd  /etc/vsftpd/vuser_conf
 
#创建虚拟用户配置文件,文件名称要与虚拟用户名称相同,这里我们配置两个虚拟用户就创建两个配置文件
 
touch ftp-user1 ftp-user2
 
#编辑ftp-user1
vim ftp-user1
 
#写入以下内容
local_root=/home/vsftpd/ftp-user1
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
#wq! 保存退出
 
 
#编辑ftp-user2
vim ftp-user2
 
#写入以下内容
local_root=/home/vsftpd/ftp-use2
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
# wq! 保存退出

 

7 创建chroot_list

 

# 进入目录/etc/vsftpd
cd /etc/vsftpd
 
#创建使当前配置的虚拟用户允许访问的文件列表
vim chroot_list
 
#写入虚拟用户名
ftp-user1
ftp-user2
 
# wq! 保存退出

 

8 防火墙,SELinux等配置

 

  简单粗暴型,如果允许的话,直接关闭防火墙和SELinux,

 

#打开SELINUX配置文件
vim /etc/selinux/config
#修改配置参数
#注释  
SELINUX=enforcing
#增加  
SELINUX=disabled
#wq!保存完,需要重启!
 
systemctl stop firewalld.service

 

也可以针对性的关闭防火墙和SELinux对ftp的限制。

 

#  SELINUX不对vsftp不做任何限制
setsebool -P ftpd_full_access on
 
# 防火墙设置 IPtables 的设置方式:
vi /etc/sysconfig/iptables
#编辑iptables文件,添加如下内容,开启21端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 40000:40010 -j ACCEPT
 
 
 
#firewall 的设置方式,以下指令
firewall-cmd --zone=public --add-service=ftp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=40000-40010/tcp --permanent 
 

 

.9 查看ftp状态、重启、停止、设置开机启动

 

#启动
systemctl start vsftpd.service
 
#重启
systemctl restart vsftpd.service
 
 
#停止
systemctl stop vsftpd.service
 
#查看状态
systemctl status vsftpd.service
 
#设置开机启动
systemctl enable vsftpd.service
 

 

10 测试ftp连接

 

# 查看ftp的状态,必须要是 active (running)
[root@node1 home]# systemctl status vsftpd.service
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
   Active: active (running) since 日 2022-03-27 22:26:43 CST; 1h 13min ago
  Process: 10312 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
 Main PID: 10313 (vsftpd)
    Tasks: 3
   CGroup: /system.slice/vsftpd.service
           ├─10313 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
           ├─10387 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
           └─10389 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
 
# 查看ftp的进程和端口,发现正在以PID=10313的进程,port=21在运行着
[root@node1 home]# netstat -anp | grep ftp
tcp6       0      0 :::21                   :::*                    LISTEN      10313/vsftpd
tcp6       0      0 192.168.78.130:21       192.168.78.1:62662      ESTABLISHED 10387/vsftpd
unix  2      [ ]         DGRAM                    111814   10313/vsftpd
unix  3      [ ]         STREAM     CONNECTED     111966   10389/vsftpd
unix  3      [ ]         STREAM     CONNECTED     111965   10387/vsftpd
 

 

先在windows的命令行telnet下端口,指令为telnet 192.168.0.109 21,网络通的话会跳转返回220 Welcome to blah FTP service.。

 

 先在window命令行测试下是否能正常访问ftp,输入指令ftp 192.168.0.109,然后输入章节3.4 ftp的登录用户和密码设置中的用户名ftp-user1和密码XXXX,直到弹出230 Login successful才算登录成功。

 

遇到的问题:
ftp上传问题    553  create  要注意把对应文件夹权限改为777

tenlent  既不是内部也不是外部命令  就看下win下程序应用,启动telent进行打开

 

标签:ftp,vuser,service,vsftpd,etc,linux,服务器,YES
From: https://www.cnblogs.com/wangbiaohistory/p/17396107.html

相关文章

  • linux 系统安全和应用
    目录一、系统安全原因:1.系统数据想要保护,否则会造成数据丢失2.系统安全是产品上线的必要要求3.系统安全可以保护系统,避免受到攻击4.系统安全可以保护数据隐私,避免形象受损 二、账号安全1.锁定锁定文件chattr+i文件(可以多个......
  • linux 中 awk命令如何输出双引号和单引号
     001、双引号[root@PC1test]#lsa.txt[root@PC1test]#cata.txt12345[root@PC1test]#awk'{print$0,"\""}'a.txt##输出双引号1"2"3"4"5" 002、单引号[root@PC1test]#lsa.txt[root@PC1tes......
  • linux 中 创建环境变量若干方法
     001、直接修改PATH环境变量[root@PC1plink]#ls##软件目录LICENSEplinkplink_linux_x86_64_20230116.zipprettifytoy.maptoy.ped[root@PC1plink]#pwd##路径/home/software/plink[root@PC1plink]#echo"exportP......
  • Linux 服务器下Mysql自动备份 30天滚动存储 每天凌晨2点准时备份
    一、创建备份目录执行命令:在指定路径下创建备份目录cd/mnt/filemkdirdata_backup二、编写shell脚本放在/mnt/file/data_backup里创建.shshell脚本:touchbkmysql.sh打开脚本文件:vim bkmysql.sh脚本文件内容如下所示:login_user表示数据库用户名......
  • Linux系列---【赋权限的常用命令】
    一、新建用户groupaddafpgroupuseradd-gafpgroupafpecho"afp:woshimima@1234"|chpasswd二、新建目录mkdir-p/opt/app/middlesmkdir-p/opt/app/softwaremkdir-p/opt/data/mkdir-p/opt/log/mkdir-p/opt/backup/三、创建表空间CREATETABLESPACESDMD......
  • 如何在虚拟机Linux系统下(Ubuntu)安装apache2?如何更改Apache2的默认欢迎界面(无障碍)
    一、apache2的安装:1、在图形界面下,先ctrl+alt+T打开终端2、登陆root账号:输入su输入之前设置的密码待$符号变成#时候,即获得root权限3、安装apache2:输入apt-getinstallapache24、启动apache2:输入serviceapache2start5、打开虚拟机的浏览器,输入网址localhost(或者是12......
  • 服务器上安装Power BI Data Gateway
    安装时注意事项  服务器开通好网络策略,例如一些相关的目标地址和IP加到服务器防火墙里,服务器可以联网后,还需要做浏览器相关设置,如下:   1)浏览器Tools->Internetoptions->security->customlevel->Scripting->Enableactivescripting&enablescriptingofJavaapple......
  • Windows跟Linux的不同处理
    1.时区1.1北京时间Windows:TimeZoneInfo.FindSystemTimeZoneById("ChinaStandardTime");Linux:TimeZoneInfotzBeijing=TimeZoneInfo.FindSystemTimeZoneById("Asia/Shanghai");1.2美东时间Window: TimeZoneInfo.FindSystemTimeZoneByI......
  • Linux下搭建FTP
    安装vsftpdyuminstall-yvsftpd开机自启动systemctlenablevsftpd.servicesystemctlstartvsftpd.servicenetstat-antup|grepftp配置vsftpdvsftpd(verysecureFTPdaemon)是一款在Linux发行版中最受推崇的FTP服务器。vsftpd支持匿名访问和本地用户模式两种......
  • 解决Tomcat服务器开启时DOS窗口的乱码问题(控制台乱码)
    从tomcat的目录中找:conf->logging.properties,用记事本打开,找到如下信息: 将UTF-8改为GBK(WIndows的命令窗口采用GBK的编码方式)......