使用Linux系统下FTP服务器的SH脚本 (ftp linux sh)

在现代公司的IT部门中,远程传输协议(FTP)是一种常见的数据传输方式。使用FTP,可以通过互联网从一个计算机上传或下载文件到另一个计算机。对于公司这样的大型组织,在大范围内快速传输数据是至关重要的。为了实现这一目标,许多企业建立了FTP服务器来方便他们的工作。然而,管理FTP服务器不仅需要设备和带宽,还需要高效的FTP服务器软件以及正确的脚本管理。在本文中,我们将介绍如何来管理FTP服务器。

让我们了解一下FTP服务器和SH脚本

FTP服务器是一种可以连接到互联网并管理文件传输的服务器。使用FTP服务器,可以上传和下载文件,并允许访问者以匿名或授权的方式进行文件交换。FTP服务器可以具有不同的设置和规则,可以设置访问权限和密码等,以确保服务器的安全。

SH脚本是一组用于自动化Linux命令的指令。SH脚本是一种简单而强大的编程方法,它允许用户使用脚本自动执行多个命令。SH脚本是编写Linux脚本的标准方法。它们可用于自动化Linux服务器上的诸如软件安装、配置文件管理、数据库备份等任务。

使用SH脚本管理FTP服务器

使用SH脚本来管理FTP服务器可以简化维护过程并提高效率。

下面是几个常见的SH脚本,用于管理FTP服务器:

1. 自动上传文件

假设您需要将服务器上的一个文件传输到FTP服务器上。您可以使用以下SH脚本:

#!/bin/bash

ftp -n host

user username password

cd /upload/folder

put “localfile.txt”

bye

EOS

这个SH脚本首先连接FTP服务器上的host主机,使用用户名和密码进行身份验证。然后它会在FTP服务器上移动到要上传文件的文件夹中,上传服务器上的本地文件,并关闭FTP连接。

您只需将上述SH脚本保存为“upload.sh”文件,按照指示更改主机名、用户名、密码以及要上传的本地文件的位置,并运行该文件即可。

2. 自动从FTP服务器下载文件

假设需要从FTP服务器上下载一个文件,保存在本地服务器中。您可以使用以下SH脚本:

#!/bin/bash

ftp -n host

user username password

cd /download/folder

get “ftpfile.txt”

bye

EOS

与上传文件的SH脚本相比,这个SH脚本会将连接移动到FTP服务器上的下载文件夹中,并从服务器上获取您需要下载并保存到服务器上的文件。

只需将上述SH脚本保存为“download.sh”文件,将主机名、用户名、密码和要下载的文件名称替换为实际值,并运行该文件即可。

3. 自动备份数据

假设您需要定期自动备份FTP服务器上的数据。您可以使用以下SH脚本:

#!/bin/bash

backupname=”ftpbackup.tar.gz”

tar cvzf /backup/${backupname} /ftp/folder

ftp -n host

user username password

cd /backup/folder

put ${backupname}

bye

EOS

rm /backup/${backupname}

这个SH脚本首先创建了一个名为“ftpbackup.tar.gz”的备份文件,并将FTP服务器上的文件夹中的所有文件备份到该文件夹中。然后它会将备份文件上传到FTP服务器上,并删除本地备份。

您可以将此SH脚本保存为“backup.sh”文件,并在其中指定备份文件名、FTP主机信息和备份文件夹的位置。

4. 自动删除FTP服务器上的旧数据

可能要定期删除FTP服务器上的旧数据。您可以使用以下SH脚本:

#!/bin/bash

ftp -n host

user user password

cd /folder

ls -1tr | head -n -100 | while read file; do

echo “Deleting ${file}”

delete “$file”

done

close

bye

EOS

此SH脚本会连接到FTP服务器上的指定文件夹,并列出文件夹中的文件。它然后使用“head”命令返回列表中的前100个文件,删除它们。

将脚本内容保存在“deleteold.sh”文件中,更改FTP主机信息以及要从中删除文件的文件夹位置即可。

通过使用SH脚本管理FTP服务器,您可以简化维护过程并提高效率。启用FTP服务器备份和清理机制不仅可以使您的FTP服务器始终保持最新状态,而且可以增强FTP服务器的性能,并使其更加可靠和可用。

请确保在使用SH脚本之前备份所有数据,并确保测试SH脚本以确保其正确性。正确执行SH脚本,将使FTP服务器运作更加高效和可靠,从而提高生产力并保护数据安全。

相关问题拓展阅读:

如何在linux上配置ftp 及创建 ftp用户

请搜索你的LINUX 版本+你要用的FTP版本

网上从来不缺这样的教橡瞎轮程.

不梁信同的神则版本的LINUX 不同的FTP,具体操作过程不同.

在Internet上FTP(File Transfer Protocol,文件传输协议)扮 演着十分重要的角色。我们可以通过FTP与远程机器传输交换文件数 据,下载或上传最新的软件。基本的FTP服务器根据服务的对象神困可以分为两 种,一种是Unix(当然也包括Linux)系统基本的FTP服务器,使用者是服务器上合法的 用户;而另一种是匿名FTP服务器(Anonmous FTP Service),任何人只要使用anonmous或ftp帐号并提供电子邮件地址作为口令就可以使用FTP服务。

对于系统中合法的用户,其登录目录为他们的home目录;如果是匿名用户登录的话,登录后会到/home/ftp这个目录中,该除非我们在该目 录中存放下载文件,否则匿名FTP使用者将不能做任何事情。在本章,我们将详细地介绍FTP服务器的安装、配置以及服务 器的维护。

安装FTP服务器

在Linux的发行套件中都有FTP服务器的软件包wu-ftpd(Washington University FTP server),这是目前更流行的一种免费FTP服务器软件,目前绝大多数的FTP站点都是由wu-ftpd来架设的,而wu-ftp如此流行的原因是因 为它强大的功能,例如:

·可控制不同网域的机器对 FTP服务器的存取权限和访问时段。

·使用者在下载文件时,可自动对文件进 行压缩或解压缩工作。

·可以记录文件上传或下载的过程。

·可以限制更高访问人数,以维持系统的更佳运行效率。

·可显示相关的信息,以便用户了解当前的接收状态。

·可暂时关闭FTP服务器,以便系统维护。

在安装系统时如果选择了wu-ftpd软件包,就会自动安装。但如果我们想要使用最新的FTP软件包的话,可以到全世界各大FTP站点下载。目 前最新的版本是wu-ftpd-2.5.0,得到了wu-ftpd-2.5.0.tar.gz后,请按照我们下面的步骤进行安装。

1.将wu-ftpd-2.5.0.tar.gz复制到临时目录中并解压缩:

# tar zxvf wu-ftpd-2.5.0.tar.gz

进入解压缩产生的目录wu-ftpd-2.5.0中,在开始安装之前请仔细阅读里面的README、INSTALL等文件,以便了解安装需要注 意的事项。

2.执行命令“bulid lnx”,编译wu-ftpd-2.5.0的源程序。

# ./bulid lnx

这条命令将编译Linux系统使用wu-ftpd所需的服务程序,如果一切正常的话,将产生如下几个可执行文件:

ftpd FTP服务程序

ftpshut 关闭FTP服务的程序

ftpcount 显示FTP 服务器目前连接的人数的程序

ftpwho 查看目前使用者

3.执行安装命令“make install”,将编译生成的可执行文件和man pages安装到系统中。

# make install

4. 修改/etc/inetd.conf文件,加入如下一行:

ftp stream tcp nowait root /usr/in/tcpd in.ftpd -l –a

如果系统中以前安装有wu-ftpd的话,这一步可以略去不做,安装安装程序会自动更新/etc/inetd.conf文件有关ftp的记录 项。

5.如果想为FTP用户提供敏碧压缩解压缩的功能,我们还需要将tar、gzip、compress、cpio、sh等可执游拿念行文件复制到/home /ftp/bin目录下。此外,还需要将ls命令复制到/home/ftp/bin中,以便使用者查看目录。

因为我们复制到/home/ftp/bin目录下的程序有可能是动态链接的,所以它们运行时还需要共享函数库,我们要将他们运行时需要用到的共 享库复制到/home/frp/lib目录中。检查这些命令所需要的共享库可以使用“ldd”命令。例如对于“ls”命令,我们使用“ldd /usr/bin/ls”命令就可以得到如下的输出:

# ldd /usr/bin/ls

libc.so.6 = > /lib/libc.so.6 ( 0x)

/lib/ld-linux.so.2 = > /lib/ld-linux.so.2 ( 0x)

这样,我们就需要将/lib/libc.so.6和/lib/ld-linux.so.2复制到/home/ftp/lib目录中。其它命令所 需的共享库您也可以参照上面的方法找出并复制到/home/etc/lib目录中。

接下来复制/etc/passwd和/etc/group文件到/home/ftp/etc,并删除其中任何个人用户和个人用户组的信息。基本 上应该按照下面的例子修改:

#/home/ftp/etc/passwd文件

root:*:0:0:::

bin:*:1:1:::

operator:*:11:0:::

nobody:*:99:99:::

ftp:*:1000:1000:::

# /home/ftp/etc/group文件

root::0:

bin::1:

daemon::2:

sys::3:

adm::4:

ftp::1000:

6.为了确保提供FTP服务不会给我们的系统带来安全隐患,我们还需要采取以 下措施:

# chmod 0555 /home/ftp

# chmod 0111 /home/ftp/bin/*

# chmod 0555 /home/ftp/lib/*

# chmid 0444 /home/ftp/etc/*

配置FTP服务器

在安装好wu-ftpd之后,我们还需要定制FTP服务器,使之实现我们上一节中提到的各种功能。为了使我们的FTP服务器实现这些功能,我们 需要修改ftpusers、ftpaccess、ftpconversions、xferlog、ftpgroups、ftphosts等系统配置文件。 下面我们就来看一看这些文件的功能以及配置它们的方法。

各配置文件的功能

在开始配置FTP服务器的配置文件之前,我们先来简要地介绍一下各个文件的功能。在开包后的wu-ftpd-2.5.0目录中的 doc/examples目录下,我们可以找到以下这些文件的示例。

/etc/ftpaccess 一般情况下,我们最为重视的配置文件应该是“ftpaccess”,因为该文件决定着我们FTP服务器是否能够正常工作。此外,我们还可以在这个系统参数 文件中设置多项有关使用权限记录,以及与信息有关的文件名称及路径。

/etc/ftpusers 决定哪些人不可以执行ftp命令来传输文件,这些帐号通常是root、bin、news以及guest等有特殊用途的帐户。

/etc/ftpconversions 配置该文件可以实现用户在通过FTP传输文件的同时,对文件进行压缩打包等处理。

/etc/ftphosts 决定哪些网络中的主机或某些用户不能访问FTP服务器的文件。

/etc/ftpgroups 该文件不是决定哪些用户组不能够访问FTP服务器,它只有在使用SITE GROUP功能时才有用。

/var/log/xferlog FTP日志文件。该文件将记录使用匿名帐户的用户所上传或下载的过的文件,该文件只是记录FTP信息,我们不需要对它进行配置。

大致了解了各个设置文件的功能以后,我们就来为您介绍这些文件中的内容以及学习如何配置。

配置/etc/ftpaccess文件

我们前面介绍的wu-ftpd的大多数功能都是在ftpaccess文件中设置的。我们无须自己编写该文件,doc/examples /ftpaccess.heavy是一个稍微修改一下就能适用于大多数FTP服务器的例子,所以下面我们将以这个示例文件为例为您介绍ftpaccess 文件的配置。

# wu-ftpd-2.5.0的/etc/ftpaccess示例文件ftpaccess.heavy

#

# 设置用户登录FTP服务器时,允许输错密码的次数。

# loginfails 2表示允许用户输错两次密码,如果两次都输入

# 错误的话,FTP服务器打印“repeated login failures”的信息

# 并退出FTP会话过程。如不设置,则缺省值是5。

#

loginfails 2

#

# class是用来定义用户级别的命令,它的格式为

# class

# FTP服务器上有三种类型的使用者,分别是“real”——表示

# 在该FTP服务器上有合法帐号的用户;“guest”——表示另行

# 定义的某些使用组的使用者;“anonymous”——权限更低的匿名

# 用户。有了这三种使用者以后,在ftpaccess文件中就可以根据不

# 同的使用者设置不同的存取权限。但是,只有三种定义一般是不够

# 的,我们可以根据class的语法定义更多的控制命令。例如:

# class remote real,guest,anonymous *

# 这条class语句定义了remote中有三种不同的使用者,“*”表示网络

# 上所有的计算机,也就是说任何人都可以访问FTP服务器,一般的匿名

# FTP站点都应该有这一项。如果我们希望某台主机或网域中的机器具有

# 特殊的权限,那么我们可以设置如下的class:

# class local real,guest,anonymous localhost

# 这表示本地主机的类别被定义为local,当我们从主机连上FTP服务器上

# 时,就可以用较为特别的权限。

# 下面是ftpaccess.heavy文件指定的两个class,它们的意思是来自*.domain

# 和本地主机被归为local组,而其它的主机则是remote组。

#

class local real,guest,anonymous *.domain 0.0.0.0

class remote real,guest,anonymous *

#

# 我们可以使用limit命令设置某个时间段的FTP用户数量,如果超出了

# 规定的人数,则打印/etc/msgs/msgs.toomany文件并拒绝用户登录。例如:

# limit local 20 Any /etc/msgs/msgs.roomany

# 就是限制local这个组的机器同时间内最多允许20人连接FTP服务器,如果

# 超员,则打印/etc/msgs/msgs.toomany文件,显示当前在线人数太多。ftp的

# 说明文件都可以包含变量,在说明文件中可以使用“变量替换(magic

# sookies)”以指定的字符串代替某个变量:

# %T 本地时间

# %F CWD所在分区的剩余空间

# %C 当前工作目录

# %E 定义在ftpaccess文件中维护者的电子邮件地址

# %R 远端主机名称

# %L 本地主机名称

# %U 登录时所给的用户名称

# %M 该class允许的更大使用者数目

# %N 该class目前的使用者数目

#

# 我们可以利用这些变量编辑一个显示信息非常完善的说明文件。下面的

# 例子是设置当local用户在任何时候不能超过20人,remote用户在周六

# 周日的18:00到6:00不能超过100人,否则将显示/etc/msgs目录下的

# msg.toomany文件的内容。

#

limit local 20 Any /etc/msgs/msg.toomany

limit remote 100 SaSu|Any/etc/msgs/msg.toomany

limit remote 60 Any /etc/msgs/msg.toomany

#

# readme命令的作用是指定用户登录或进行其它操作(如更换目录)时

# FTP服务器提示用户阅读的文件。

#

readme README* login

readme README* cwd=*

#

# messages命令主要是设置一些FTP的显示信息,如下面的“message

# /welcome.msg login”就是代表用户登录时,将显示/home/ftp目录下的

# welcome.msg作为进站画面。我们要提醒您的是FTP服务器都是以

# /home/ftp这个目录作为根目录的,所以要写成/welcome.msg。而

# “message .message cwd=*”则是定义用户在更换目录时将显示在目录

# 下的文件。

#

message /welcome.msg login

message .message cwd=*

#

# 下面定义的允许从local和remote登录的机器在传输文件时,可执行compress

# 压缩文件或使用tar命令将多个文件打包成一个文件。

#

compress yes local remote

tar yes local remote

#

# 是否允许通过SITE GROUP和SITE GPASS命令适用秘密文件

# allow use of private file for SITE GROUP and SITE GPASS?

#

private yes

#

# 设置密码检查的规则。FTP服务器将要求匿名用户使用其电子邮件

# 地址作为密码,可是有人还是会胡乱输入,所以我们可以使用passwd-check

# 来查看用户是否输入一个类似于user@hostname的E- mail地址:none表

# 示不进行密码检查; trivial表示密码必须含有“@”;而使用rfc822时,

# 表示密码必须满足rfc822规定的地址。当密码不合要求时,warn将给予

# 警告,但依然允许他们登录,而enforce则表示警告并使用户退出。

#

# passwd-check

passwd-check rfc822 warn

#

# log commands 记录类型(可以是anonymous、

# guest和real)用户使用的命令。Log transfer

# 记录类型的用户做的(可以为inbound传进服务器、

# outbound传出服务器)方向的文件传输。

#

log commands real

log transfers anonymous,real inbound,outbound

#

# 如果shutdown指定的文件存在,FTP服务器将定期检查文件

# 以查看服务器是否预定关闭。文件的格式为:

#

# 和的意思是在服务器关闭前多长时间新的登录

# 请求和现存的连接将被拒绝和终止。是对拒绝连接的用户的一段信息。

# 如:

#:

# System shutdown at %s

# 表示1999年10月25日00:00关闭FTP服务器,10分钟以前拒绝连接,5分钟

# 以前中断正在连接的FTP服务。外部程序ftpshut可以用来产生文件,

# 例如上面的文件可以通过如下的命令来产生:

# ftpshut 0000

#

shutdown /etc/shutmsg

#

# 设置用户在FTP服务器上可以使用的命令,我们可以看到下面所有的

# 命令后面都是“no”,也就是说guest用户不能使用delete、overwrite、

# rename命令,而anonymous则都不能使用。只有real用户可以使用这些命令。

# all the following default to “yes” for everybody

#

delete no guest,anonymous # delete permission?

overwrite no guest,anonymous # overwrite permission?

rename no guest,anonymous # rename permission?

chmod no anonymous # chmod permission?

umask no anonymous # umask permission?

#

# 设置用户上传文件的目录。下面例子中/var/ftp目录下的/incoming目录可以

# 用来上传文件,上传文件的属主是root,组别是daemon,读取权限是0600,

# dirs表示在/incoming目录中可以创建子目录。

# specify the upload directory information

#

upload /var/ftp * no nobody nogroup 0000 nodirs

upload /var/ftp /bin no

upload /var/ftp /etc no

upload /var/ftp /incoming yes root daemon 0600 dirs

#

# 为/incoming目录设置路径别名为inc:,用户在任何时候只要使用命令

# “cd inc:”就可以到达/incoming目录。

# directory aliases…

#

alias inc: /incoming

# cdpath主要定义在改变目录时使用的搜索路径。如果我们定义:

# cdpath /incoming/test、cdpath /pub、cdpath /,那么用户在任意路径

# 随便cd到一个目录,比如cd test,那么将依次搜寻:

# /incoming/test

# /pub/test

# /test

# 以寻找一个符合test目录的路径。

#

cdpath /incoming

cdpath /pub

cdpath /

#

# path-filter的功能是检查用户上传文件的文件名是否合法,如下面

# 之一条命令就是指定所有的匿名用户上传文件的文件名只能是以

# A-Z、a-z、0-9以及“._-”组成,而不能以一个“.”或是一个“-”开始。

# 如果文件名不合法,将显示/etc/pathmsg给该用户。

#

path-filter anonymous /etc/pathmsg ^*$ ^. ^-

path-filter guest /etc/pathmsg ^*$ ^. ^-

#

# 设置guest用户

# specify which group of users will be treated as “guests”.

#

guestgroup ftponly

#

# FTP服务器管理员的邮件地址

#

email user@hostname

以上是一些ftpaccess常用的设置,您也可以参考ftpaccess的man pagse来获得更详细的配置信息。

配置/etc/ftpusers和/etc/ftphosts文件

通过ftpusers文件,我们可以限制系统中有哪些用户不能使用ftp服务,ftphosts文件与之类似,所不同的是该文件中记录的是不能 访问FTP服务器的主机。通常这样做的目的都是出于系统安全的考虑。Wu-ftpd 为我们准备有这两个文件的示例,我们可以在examples 目录中找到它们。下面是ftpusers文件设置的例子:

# 禁止使用FTP服务的用户

root

bin

boot

daemon

digital

field

gateway

guest

nobody

operator

ris

sccs

sys

uucp

限制这些用户使用FTP服务器主要是基于系统安全的考虑,避免权利过大的用户(如root、ftpadm)登录FTP服务器和避免使用系统命令作为 帐号(如shutdown、sync),以避免系统管理上的困惑。我们可以根据自己使用的需要,向该文件中增加或删除用户并将它复制到/etc目录中。

如果我们要架设的是匿名FTP服务器,那么通常不需要设置ftphosts文件,对于其它类型的FTP服务器可以参考 examples/ftphosts文件的格式结合自己的情况加以修改,然后复制到/etc目录中即可。下面是examples/ftphosts文件, 该文件允许网络somehost.domain中的用户ftp访问FTP服务器(somehost.domain可以是IP地址或域名)而禁止网络 otherhost.domain和网络131.211.32.*中的用户fred使用FTP服务。

#

# ftphosts文件配置示例,allow和deny的格式分别为:

# allow

# deny

#

# 以“#”开头的均为注释,空行将被忽略

#

allow ftp somehost.domain

deny fred otherhost.domain 131.211.32.*

配置/etc/ftpconversions文件

ftpconversions文件主要定义用户从FTP服务器中下载文件时对文件进行格式转换的规则。例如压缩、解压缩、打包和开包等操作,这 样用户就不必为.tar.gz、.tgz、.Z、.z之类的文件伤脑筋了。Ftpconversions文件的格式初看上去很复杂,不过不用担 心,/examples目录中也有该文件的例子,我们只要原封不动的将它复制到/etc目录中就能满足我们的使用需要了。下面让我们来看看 ftpconversions文件中各个记录项,有关各项的说明我们罗列在表14-1中:

#

# ftpconversions文件示例

#

#

:.Z: : :/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS

: : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS

:.gz: : :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP

: : :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP

: : :.tar:/bin/tar -c -f – %s:T_REG|T_DIR:O_TAR:TAR

: : :.tar.Z:/bin/tar -c -Z -f – %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS

: : :.tar.gz:/bin/tar -c -z -f – %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP

: : :.crc:/bin/cksum %s:T_REG::CKSUM

: : :.md5:/bin/md5sum %s:T_REG::MD5SUM

表1 ftpconversions文件各项说明对照表

真实文件名

目标文件名

命令操作

.Z

传递前使用comprss –d命令压缩

.gz

传递前使用gzip –d命令压缩

.Z

传递前使用compress 命令压缩

.gz

传递前使用gzip –9命令压缩

.tar

传递前使用tar –cf命令打包

.tar.Z

传递前使用tar –cZf命令打包并压缩

tar.gz

传递前使用tar –czf命令打包并压缩

.tar.Z

传递前使用tar –cZf命令对目录打包并压缩

.tar.gz

传递前使用tar –czf命令对目录打包并压缩

Ftpconversions文件基本上把常用的压缩,打包命令都包括在内了,我们只要将它复制到/etc目录中,以后只要有人访问我们的 FTP服务器,FTP服务程序就会根据用户的需要执行压缩或打包的命令。例如,用户想下载目录Howto中所有的文件,那么他不必使用mget命令,而只 要使用get Howto.tar.gz,这时wu-ftpd就会将该目录打包压缩并发送到用户的机器上了。所以使用该文件可以完成压缩传递的数据量,减少传输时间等作 用。此外ftpconversions文件中定义的可执行文件的位置/bin指的都是/home/ftp/bin而不是Lnux /目录下的bin,所以请检查/home/ftp/bin目录中有无上述命令,如果没有还需要将这些程序复制到该目录中。

截止到这里,匿名FTP服务器的架设工作基本上就完成了,我们可以用ftp命令连接自己的服务器,检查合法用户和匿名用户的连接情况以及各个目 录的权限是否正确。之后就可以准备FTP服务的开张了。

查看全部更多资料去591cto

做一个虚拟账户就解决了:

步骤如下:

1、建立虚拟用户口令库文件

口令库文件中奇数行设置用户名,偶数行设置口令

# vi /etc/vsftpd/logins.txt 注意,一下是4行

upload 这个是帐户蔽旁名

upload 这个是密码

download

download

2、生成vsftpd的认证文件

# db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db

设置认证文件只对用户可读可写

# chmod 600 /etc/vsftpd/vsftpd_login.db

3、建立虚拟用户所需的PAM配置文件

# vi /etc/pam.d/vsftpd.vu

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

注意:以上2行中最后的2个文件名vsftpd_login和第2个步骤中的数据库名字必须一致!

4、建立虚拟用户所要访问的目录并设置相应权限

# mkdir /home/ftpsite

# useradd -d /home/ftpsite virtual(用户名)

# chown virtual:virtual /home/ftpsite

# chmod 700 /home/ftpsite/

5、设置vsftpd.conf配置文件

guest_enable=YES

guest_username=virtual

pam_service_name=vsftpd.vu

6、设置主配置文件

在vsftpd.conf文件中添加用户配置文件目录设置

user_config_dir=/etc/宏铅橡vsftpd_user_conf

# service vsftpd restart

7、建立用户配置文件目录

使用mkdir命令建立用户配置文件目录

# mkdir /etc/vsftpd_user_conf

为虚拟用户建立单独的配置文激埋件,用户配置文件名称与用户名相同

touch /etc/vsftpd_user_conf/upload

touch /etc/vsftpd_user_conf/download

8、每个FTP虚拟用户都可以独立设置其权限

vi /etc/vsftpd_user_conf/upload

anon_world_readable_only=NO 可读可下载

anon_upload_enable=YES 可上传

anon_mkdir_write_enable=YES 可创建和删除文件夹

anon_other_write_enable=YES 可文件改名和删除文件

local_root=/home/ftpsite/upload 指定upload的宿主目录

download_enable=NO 禁止下载

linux系统用shell写个脚本ftp上传下载文件,文件名带日期。

这个不是一句话岩肆乎搞定的

vi x.sh 写一个脚本

#/bin/bash

DATE=`date “%Y%M%D”`

DIR=/xx/

cd $DIR

lftp -p

cd xx

get $DATE.txt

exit

chmod +x x.sh

然雹唤后 sh x.sh

大致的结构这样,具体的你要好好研究一下shell才可以。粗悉

ftp linux sh的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于ftp linux sh,使用Linux系统下FTP服务器的SH脚本,如何在linux上配置ftp 及创建 ftp用户,linux系统用shell写个脚本ftp上传下载文件,文件名带日期。的信息别忘了在本站进行查找喔。


数据运维技术 » 使用Linux系统下FTP服务器的SH脚本 (ftp linux sh)