如何在ubuntu中安装设置ftp服务器

如何在ubuntu中安装设置ftp服务器,第1张

  首先我们考虑搭建FTP服务需要关注的都有哪些方面?比如我们最经常关注的有:

1、如何添加FTP用户

2、如何临时冻结某FTP用户?

3、FTP用户登入后的默认目录?是否可以改变?

4、如何锁定FTP用户可访问的目录范围?

5、FTP用户可以有哪些访问权限?可否上传文件?

我们将带着这些问题来探讨如何配置VSFTP以达到预定目标。

一、主要配置选项

VSFTP的主配置文件是/etc/vsftpdconf 。由于可配置的选项实在太多,无法一一详谈,只能截取比较常用的功能配置选项来加以说明。完整说明可参考man vsftpdconf。

这里需要注意的是,每个配置选项都是由“配置项目名称=配置值“所定义。在每个配置变量后,要紧跟等号,再紧跟设置的变量值。中间不允许出现空格之类的分隔符,否则导致配置错误,无法生效!

另外,如果需要开通上传功能,则应注意用来登录FTP的本地系统用户对要操作的目录需要具备写权限,否则无法上传文件!

版本vsftpd: version 206

启动VSFTPD:sudo /etc/initd/vsftpd start

停止VSFTPD:sudo /etc/initd/vsftpd stop

重启VSFTPD:sudo /etc/initd/vsftpd restart

以下为常用的配置选项:

1、listen=YES

设置为YES,开启监听网络。

2、anonymous_enable

若设置为YES,则允许匿名用户访问;若设置为NO则拒绝匿名用户访问。

如果开启的话,则可以通过用户名ftp或者anonymous来访问,密码随便。

3、local_enable

若设置为YES,则允许通过本地用户帐号访问;若设置为NO,则拒绝本地用户帐号访问。如果你拒绝了陌生人访问,那么这个必须设置为YES吧,否则谁能访问你的FTP呢?

4、write_enable

若设置为YES,则开启FTP全局的写权限;若设置为NO,则不开。

若为NO则所有FTP用户都无法写入,包括无法新建、修改、删除文件、目录等操作,也就是说用户都没办法上传文件!!

5、anon_upload_enable

若设置为YES,开启匿名用户的上传权限。前提是write_enable有开启,并且用户具有对当前目录的可写权限。 若设置为NO,则关闭匿名用户的上传权限。

6、anon_mkdir_write_enable

若设置为YES,开启匿名用户新建目录的权限。前提是write_enable有开启,并且用户具有对当前目录的可写权限。 若设置为NO,则关闭匿名用户新建目录的权限。

7、dirmessage_enable

若设置为YES,则可开启目录信息推送,也就是用户登录FTP后可以列出当前目录底下的文件、目录。 这个应该要开启吧!

8、xferlog_enable

若设置为YES,则开启登录、上传、下载等事件的日志功能。应开启!

9、xferlog_file=/var/log/vsftpdlog

指定默认的日志文件,可指定为其他文件。

10、xferlog_std_format

若设置为YES,则启用标准的ftpd日志格式。可以不启用。

11、connect_from_port_20

若设置为YES,则服务器的端口设为20。

如果不想用端口20,可以另外通过ftp_data_port来指定端口号。

12、chown_uploads

若设置为YES,则匿名用户上传文件后系统将自动修改文件的所有者。

若要开启,则chown_username=whoever也需指定具体的某个用户,用来作为匿名用户上传文件后的所有者。

13、idle_session_timeout=600

不活动用户的超时时间,超过这个时间则中断连接。

14、data_connection_timeout=120

数据连接超时时间 。

15、ftpd_banner=Welcome to blah FTP service

FTP用户登入时显示的信息 。

16、local_root=/home/ftp

指定一个目录,用做在每个本地系统用户登录后的默认目录。

17、anon_root=/home/ftp

指定一个目录,用做匿名用户登录后的默认目录。

18、chroot_local_user、 chroot_list_enable、chroot_list_file

这个组合用于指示用户可否切换到默认目录以外的目录。

其中,chroot_list_file默认是/etc/vsftpdchroot_list,该文件定义一个用户列表。

若chroot_local_user 设置为NO,chroot_list_enable设置为NO,则所有用户都是可以切换到默认目录以外的。

若chroot_local_user 设置为YES,chroot_list_enable设置为NO,则锁定FTP登录用户只能在其默认目录活动,不允许切换到默认目录以外。

若chroot_local_user 设置为YES,chroot_list_enable设置为YES,则chroot_list_file所指定的文件里面的用户列表都可以访问默认目录以外的目录,而列表以外的用户则被限定在各自的默认目录活动。

若chroot_local_user设置为NO,chroot_list_enable设置为YES,则chroot_list_file所指定的文件里面的用户列表都被限定在各自的默认目录活动,而列表以外的用户则可以访问默认目录以外的目录。

建议设置:chroot_local_user与chroot_list_enable都设置为YES。这样就只有chroot_list_file所指定的文件里面的用户列表可以访问默认目录以外的目录,而列表以外的用户则被限定在各自的默认目录活动!

好处:所有人都被限制在特定的目录里面。如果某些特定用户需要访问其他目录的权限,只需将其用户名写入chroot_list_file文件就可以赋予其访问其他目录的权限!

1、安装ntp软件

sudo apt-get install ntp

2、修改配置文件

sudo vim /etc/ntpconf

driftfile /var/lib/ntp/ntpdrift

statistics loopstats peerstats clockstats

filegen loopstats file loopstats type day enable

filegen peerstats file peerstats type day enable

filegen clockstats file clockstats type day enable

server ntpubuntucom

restrict -4 default kod notrap nomodify nopeer noquery

restrict -6 default kod notrap nomodify nopeer noquery

restrict 192168100 mask 2552552550 nomodify

restrict 127001

restrict ::1

主要是在配置文件中的:

restrict -6 default kod notrap nomodify nopeer noquery

语句后面加入:

restrict 192168100 mask 2552552550 nomodify

restrict 192168100 mask 2552552550 nomodify---主要是允许能同步的服务器所在的内部网段

一需求分析

最近公司软件Team 有个需求是这样的:能不能在局域网搭建一个Ubuntu 镜像服务器,

这样作的好处是可以节省Ubuntu某些常用工具的安装时间。

二部署过程

21 测试环境

目前在公司内有一台能连接到外网的Ubuntu机器, IP : 1921688173 ,

Ubuntu版本为Ubuntu 904 i686。

22 搭建步骤

为了创建Ubuntu mirror 服务器,最少需要60G硬盘空间,Ubuntu每个版本都有32 bit

和64 bit两个版本,有两组deb包。当然可以创建Ubuntu一个版本的32 bit 和64 bit 的

镜像服务器,也可以创建全部版本的镜像。

这里使用sohu 公司的mirror地址作为本地Ubuntu Source 服务器,使用sohu的原因是:

1 sohu的Ubuntu Source 服务器速度相当快

2 sohu 的ubuntu Source 服务器每天会和Ubuntu官方服务器同步一次,这样可以保

证我们使用的是最新的软件包。

修改方式如下:

root@ms ~: cat /etc/apt/sourceslist

deb http://mirrorssohucom/ubuntu/ jaunty main restricted universe multiverse

deb http://mirrorssohucom/ubuntu/ jaunty-security main restricted universe multiverse

deb http://mirrorssohucom/ubuntu/ jaunty-updates main restricted universe multiverse

deb http://mirrorssohucom/ubuntu/ jaunty-proposed main restricted universe multiverse

deb http://mirrorssohucom/ubuntu/ jaunty-backports main restricted universe multiverse

deb-src http://mirrorssohucom/ubuntu/ jaunty main restricted universe multiverse

deb-src http://mirrorssohucom/ubuntu/ jaunty-security main restricted universe multiverse

deb-src http://mirrorssohucom/ubuntu/ jaunty-updates main restricted universe multiverse

deb-src http://mirrorssohucom/ubuntu/ jaunty-proposed main restricted universe multiverse

deb-src http://mirrorssohucom/ubuntu/ jaunty-backports main restricted universe multiverse

安装下面工具:

root@ms ~: apt-get install apt-mirror

root@ms ~: apt-get install apache2

下面就构建Ubuntu 904 32bit 的本地Ubuntu mirror 服务器为例子,来说明如何配置:

修改配置文件:

root@ms ~: cat /etc/apt/mirrorlist

############# config ##################

#

# set base_path /var/spool/apt-mirror

#

# set mirror_path $base_path/mirror

# set skel_path $base_path/skel

# set var_path $base_path/var

# set cleanscript $var_path/cleansh

# set defaultarch

# set postmirror_script $var_path/postmirrorsh

set run_postmirror 0

set nthreads 20

set _tilde 0

#

############# end config ##############

deb-i386 http://mirrorssohucom/ubuntu jaunty main restricted universe multiverse

deb-i386 http://mirrorssohucom/ubuntu jaunty-security main restricted universe multiverse

deb-i386 http://mirrorssohucom/ubuntu jaunty-updates main restricted universe multiverse

#deb http://mirrorssohucomubuntu jaunty-proposed main restricted universe multiverse

#deb http://mirrorssohucomubuntu jaunty-backports main restricted universe multiverse

deb-src http://mirrorssohucom/ubuntu jaunty main restricted universe multiverse

deb-src http://mirrorssohucom/ubuntu jaunty-security main restricted universe multiverse

deb-src http://mirrorssohucom/ubuntu jaunty-updates main restricted universe multiverse

#deb-src http://mirrorssohucom/ubuntu jaunty-proposed main restricted universe multiverse

#deb-src http://mirrorssohucom/ubuntu jaunty-backports main restricted universe multiverse

#clean http://archiveubuntucom/ubuntu

备注:

deb-i386 http:// 表示下载32 bit 版本的deb 软件

deb http:// 表示下载64bit 版本的deb 软件

jaunty 表示Ubuntu 904的代号

设置完成后,输入下面命令:

root@ms ~: apt-mirror

这时系统会启动20个线程运行wget 到 http://mirrorssohucom/Ubuntu 下面下载相应的

deb包。时间比较的长,该命令执行完成后,/var/spool/apt-mirror目录下就有了所有需

要的deb包和相应的配置文件。

由于我是从sohu下载的,所以实际的文件在 :

/var/spool/apt-mirror/mirror/mirrorssohucom/ubuntu 目录下。

这样,本地就有了所有Ubuntu Source 服务器所需要的文件,然后开启相应的服务:

这里使用apache2作为Web服务器,默认根目录在/var/www/,所以可以在该目录下做

个链接,如下所示:

root@ms ~: cd /var/www

root@ms ~: ln /var/spool/apt-mirror/mirror/mirrorssohucom/ubuntu -s

开启web服务:

root@ms ~: apache2ctl start

打开浏览器输入下面地址即可看到和sohu mirror一样的页面:

http://1921688173/ubuntu

同时也可以使用crontab进行每天的更新,修改配置文件:

root@ms ~: cat /etc/crond/apt-mirror

#

# Regular cron jobs for the apt-mirror package

#

#0 4 apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cronlog

把命令前面的“#”去掉即可,这样系统会自动使用apt-mirror去和sohu服务器更新。

最后,我们所要做得就是在客户端的机器上修改更新源配置文件,将地址改成本地

mirror服务器的地址即可,如下所示:

root@ms ~: cat /etc/apt/sourceslist

deb http://1921688173/ubuntu/ jaunty main restricted universe multiverse

deb http://1921688173/ubuntu/ jaunty-security main restricted universe multiverse

deb http://1921688173/ubuntu/ jaunty-updates main restricted universe multiverse

deb http://1921688173/ubuntu/ jaunty-proposed main restricted universe multiverse

deb http://1921688173/ubuntu/ jaunty-backports main restricted universe multiverse

deb-src http://1921688173/ubuntu/ jaunty main restricted universe multiverse

deb-src http://1921688173/ubuntu/ jaunty-security main restricted universe multiverse

deb-src http://1921688173/ubuntu/ jaunty-updates main restricted universe multiverse

deb-src http://1921688173/ubuntu/ jaunty-proposed main restricted universe multiverse

deb-src http://1921688173/ubuntu/ jaunty-backports main restricted universe multiverse

执行“apt-get update”来重建本地索引,这样以后就会使用本地的Mirror 服务器进行更新

11 搭建NFS服务器

NFS(Network FileSystem,网络文件系统)是由SUN公司发展,并于1984年推出的技术,用于在不同机器,不同操作系统之间通过网络互相分享各自的文件。NFS设计之初就是为了在不同的系统间使用,所以它的通讯协议设计与主机及操作系统无关。

NFS分服务器和客户机,当使用远端文件时只要用mount命令就可把远端NFS服务器上的文件系统挂载在本地文件系统之下,操作远程文件与操作本地文件没有不同。NFS服务器所共享文件或目录记录在/etc/exports文件中。

嵌入式Linux开发中,会经常使用NFS,目标系统通常作为NFS客户机使用,Linux主机作为NFS服务器。在目标系统上通过NFS,将服务器的NFS共享目录挂载到本地,可以直接运行服务器上的文件。在调试系统驱动模块以及应用程序,NFS都是十分必要的,并且Linux还支持NFS根文件系统,能直接从远程NFS root启动系统,这对嵌入式Linux根文件系统裁剪和集成也是十分有必要的。

安装nfs-kernel-server:

ky@ubuntu:~$ sudo apt-get install nfs-kernel-server

设置NFS-Server目录。修改/etc/exports文件,在其中增加NFS服务器目录。 一个NFS服务器可以共享多个NFS目录,在/etc/exports文件中,每个目录的设置独占一行,编写格式如下:

NFS共享目录路径 客户机IP或者名称(参数1,参数2,,参数n)

说明:

q NFS共享目录可以是主机的任何一个目录,为了方便使用,最好将权限设置为777。

q 客户机指的是可以访问共享目录的客户机的IP或者主机名,可以是指定的IP或者主机名。如果使用IP,可以使用通配符。假如指定IP为1921681x的客户机可以访问,可以写成1921681,如果设置为,则表示任何客户机都可以访问。

q 访问参数可以是一个,也可以是多个,用逗号分开。可能的参数和说明如 REF _Ref286733518 \h 表 5108D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003200380036003700330033003500310038000000 所列。

表 STYLEREF 1 \s 5 SEQ 表 \ ARABIC \s 1 1 NFS设置参数和说明

参数

说明

ro

只读访问

rw

读写访问

sync

所有数据在请求时写入共享

async

nfs在写入数据前可以响应请求

secure

nfs通过1024以下的安全TCP/IP端口发送

insecure

nfs通过1024以上的端口发送

wdelay

如果多个用户要写入nfs目录,则归组写入(默认)

no_wdelay

如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置

hide

在nfs共享目录中不共享其子目录

no_hide

共享nfs目录的子目录

subtree_check

如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)

no_subtree_check

不检查父目录权限

all_squash

共享文件的UID和GID映射匿名用户anonymous,适合公用目录

no_all_squash

保留共享文件的UID和GID(默认)

root_squash

root用户的所有请求映射成如anonymous用户一样的权限(默认)

no_root_squash

root用户具有根目录的完全管理访问权限

anonuid=xxx

指定nfs服务器/etc/passwd文件中匿名用户的UID

anongid=xxx

指定nfs服务器/etc/passwd文件中匿名用户的GID

假定NFS共享目录是/home/ky/nfs,允许所有客户机访问,/etc/exports文件可写为:

/home/ky/nfs (rw,sync,no_subtree_check, no_root_squash)

启动NFS服务器。启动portmap(如果有必要)和nfs-kernel-server服务:

ky@ubuntu:~$ sudo service portmap start

ky@ubuntu:~$ sudo service nfs-kernel-server start

本地验证NFS服务器。将NFS服务器目录挂载到本机另外一个目录下,可以看到挂载点目录下可以看到NFS服务器目录中的文件。

ky@ubuntu:~$ ls /home/ky/nfs/

aaaa

ky@ubuntu:~$ sudo mount -t nfs 127001:/home/ky/nfs /mnt

ke@ubuntu:~$ ls /mnt

aaaa

ky@ubuntu:~$ sudo umount /mnt/

用开发板验证NFS服务器是否可用。启动开发板,进入系统,配置好开发板的IP地址后,用mount命令挂载NFS服务器的NFS目录:

target# mount -t nfs 19216813:/home/ky/nfs /mnt -o nolock

target# ls /mnt

kingyee

target# umount /mnt/

挂载成功后,可以在开发板的/mnt目录下看到NFS服务器上的文件。

说明,使用开发板与虚拟机安装的客户系统进行NFS挂载,需要将虚拟网卡设置为Bridged模式,并建议使用静态IP地址。

如果在使用中需要增加新的NFS共享目录,直接修改/etc/exports文件即可。修改该文件后,可以不用重启NFS服务,用exportfs命令读取/etc/exports文件,重新共享输出。exportfs命令语法如下:

exportfs [-aruv]

选项说明:

-a:全部挂载(或卸载) /etc/exports的设置;

-r:重新挂载/etc/exports的设置;

-u:卸载某一个目录;

-v:在输出的时候,把共享目录显示出来。

如果NFS已经启动,修改了/etc/exports文件,执行如下命令,新的设置即可生效:

ky@ubuntu:~$ exportfs -ra

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何在ubuntu中安装设置ftp服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情