FTP与SAMBA文件服务器搭建 推荐
2011-08-17 22:57
483 查看
以下内容将分别详细阐述两款文件服务器的搭建和常用功能及选项。
FTP服务器搭建
FTP:File Transfer Protocol文件传输协议,是大多数网页浏览器和文件管理器都能够支持的文件传输协议,它的历史据今天已经整整40年的时间,是一种基于明文认证的协议。它的整个传输过程通过建立两个链接来实现。一种为数据链接,在有数据传输是才会建立,端口20;另一种为控制链接,用于指令的传输,这个链接一直保持,端口20;
数据的传输模式也有两种:一种为服务器从接口主动链接客户端,叫做主动模式;另一种为现有客户端发出请求再建立链接进行数据传输。数据传输的格式同样分为两种:二进制码和ASCII码。
FTP用户服务类型有匿名用户、本地用户和虚拟用户。匿名用户指不用输入账号密码或是使用ftp用户ftp密码进行登录;本地用户指的是本地主机用户登录,但是一般不推荐此种方式进行登录,因为本地用户登录容易遭到黑客使用缓冲区溢出从而提升至root权限;虚拟用户是较为稳妥的登录方式,它由多个虚拟用户映射一个本地用户的机制来实现,虚拟用户使用对应虚拟用户密码来访问,从而实现与本地用户分离的目的。
下面详细介绍构建基于虚拟用户的vsftpd服务器
1.安装vsftpd
2.调整主配置文件
3.Ftp服务SSL加密的启用
ssl加密启用后将原来的明文传输加密
4.建立虚拟FTP用户的账号数据库文件
在使用 db_load 命令时,“-f”选项用于指定用户名/密码列表文件,“-T”选项允许非Berkeley DB的应用程序使用从文本格式转换的DB数据文件,“-t hash”选项指定读取数据文件的基本方法。关于db_load命令的详细说明可参阅/usr/share/doc/db4-utils-4.3.29/utility/db_load.html文件
5.创建FTP根目录以及虚拟用户映射的系统用户
6.创建支持虚拟用户的PAM认证文件
7.在vsftpd.conf 中添加支持配置
8.为个别虚拟用户建立独立的配置文件
9.重新加载vsftp配置
Samba服务器搭建
samba一款实现安装unix系列操作系统与安装Windows主机之间文件共享的开源软件,它基于SMB/CIFS、NetBIOS等多个协议,在两种OS的文件共享间架起了一座桥梁。通过samba的共享使得Windows用户可以像访问普通Windows下文件夹那样访问unix目录。
下面就谈一谈Samba的服务的搭建
1.samba服务的安装
2.samba服务的配置
3.自定义文件选项
所谓自定义文件选项其实也就是自定义规则实现访问控制等功能的共享文件目录。自定义选项卸载主配置文件中,下面是作者定义的一个简单的自定义选项:
4.启动服务
5.设置登陆用户的账号/密码
6.文件共享的Windows和linux中的Samba客户端
Windows网络邻居à查看工作组选项(samba主配置文件中定义的工作组是WORKGROUP)找到TEST主机,使用gentoo用户登陆。
可见图中有两个共享文件夹:file和gentoo。
file文件夹既是上文自定义选项所定义的文件夹;
gentoo文件夹则是对应用户的家目录。
Linux中登陆samba服务器
7.组访问控制
上面已经实现了单用户的访问控制,如果要实现多用户的访问控制,直接对用户的附加组进行操作即可。
8.指定主机访问
9.将smb共享文件夹挂载到本地
amba也支持类似于nfs以挂载的模式实现共享
10.samba-swat的使用
samba-swat是基于自身提供的web服务器来实现对samba服务的配置。
注意:登录格式 http://192.168.0.72:901,端口号不要忘了。
使用root用户登陆后:
FTP服务器搭建
FTP:File Transfer Protocol文件传输协议,是大多数网页浏览器和文件管理器都能够支持的文件传输协议,它的历史据今天已经整整40年的时间,是一种基于明文认证的协议。它的整个传输过程通过建立两个链接来实现。一种为数据链接,在有数据传输是才会建立,端口20;另一种为控制链接,用于指令的传输,这个链接一直保持,端口20;
数据的传输模式也有两种:一种为服务器从接口主动链接客户端,叫做主动模式;另一种为现有客户端发出请求再建立链接进行数据传输。数据传输的格式同样分为两种:二进制码和ASCII码。
FTP用户服务类型有匿名用户、本地用户和虚拟用户。匿名用户指不用输入账号密码或是使用ftp用户ftp密码进行登录;本地用户指的是本地主机用户登录,但是一般不推荐此种方式进行登录,因为本地用户登录容易遭到黑客使用缓冲区溢出从而提升至root权限;虚拟用户是较为稳妥的登录方式,它由多个虚拟用户映射一个本地用户的机制来实现,虚拟用户使用对应虚拟用户密码来访问,从而实现与本地用户分离的目的。
下面详细介绍构建基于虚拟用户的vsftpd服务器
1.安装vsftpd
yum install vsftpd
2.调整主配置文件
vim /etc/vsftpd/vsftpd.conf local_enable= #本机用户可登陆,使用本机用户来登陆ftp服务器 write_enable=YES #是否登陆可创建文件 anon_upload_enable=YES #是否允许上传文件 dirmessage_enable=YES message_file=/var/ftp/message #定义欢迎信息 idle_connection_timeout=300 #空闲超时断开时间 data_connection_timeout=120 #数据连接超时断开时间 chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list #具体的限制列表 #是否显示用户活动范围仅限于其家目录 chown_upload=YES chown_username= #将上传文件属主改变成”=“后用户
3.Ftp服务SSL加密的启用
ssl加密启用后将原来的明文传输加密
vim /etc/vsftpd/vsftpd.conf #配置文件中加入 ssl_enable=YES ssl_tlsv1=YES ssl_sslv2=YES ssl_sslv3=YES allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.key
4.建立虚拟FTP用户的账号数据库文件
yum install -y db4-utils #安装转换虚拟用户软件包 vim /etc/vsftpd/vusers.list mike 123 john 456 #编辑虚拟用户账号密码 db_load -T -t hash -f vusers.list vusers.db #生成数据文件 chmod 600 vuser.* #chown root vuser.* #更改权限属主
在使用 db_load 命令时,“-f”选项用于指定用户名/密码列表文件,“-T”选项允许非Berkeley DB的应用程序使用从文本格式转换的DB数据文件,“-t hash”选项指定读取数据文件的基本方法。关于db_load命令的详细说明可参阅/usr/share/doc/db4-utils-4.3.29/utility/db_load.html文件
5.创建FTP根目录以及虚拟用户映射的系统用户
mkdir /var/ftproot useradd -d /var/ftproot -s /sbin/nologin virtual #vsftpd虚拟用户需要有一个对应的系统用户帐号(该帐号无需设置密码及登录Shell),该用户帐号的宿主目录作为所有虚拟用户登录后的共同FTP根目录 chmod 755 /var/ftproot #去掉写权限
6.创建支持虚拟用户的PAM认证文件
vim /etc/pam.d/vsftpd.vu #%PAM-1.0 auth required pam_userdb.so db=/etc/vsftpd/vusers account required pam_userdb.so db=/etc/vsftpd/vusers #PAM配置文件(名称可以自行定义)主要用于为程序提供用户认证控制,vsftpd服务使用的默认PAM配置文件为/etc/pam.d/vsftpd,可以参考该文件的格式建立新的PAM配置文件,用于虚拟用户认证控制
7.在vsftpd.conf 中添加支持配置
vim /etc/vsftpd/vsftpd.conf guest_enable=YES guest_username=virtual pam_service_name=vsftpd.vu #在vsftpd.conf配置文件中添加guest_enable、guest_username配置项,将访问FTP服务的所有虚拟用户对应到同一系统用户帐号virtual。并修改pam_service_name配置项,指向上一步建立的PAM配置文件/etc/pam.d/vsftpd.vu
8.为个别虚拟用户建立独立的配置文件
user_config_dir=/etc/vsftpd/vusers_dir #在vsftp.conf文件中添加 mkdir /etc/ vsftpd/vusers_dir cd /etc/ vsftpd/vusers_dir #为用户mick jhon建立独立的配置文件 touch mike #配置文件与用户名相同 vim mike anon_upload_enable=YES anon_mkdir_write_enable=YES
9.重新加载vsftp配置
sevice vsftpd reload
Samba服务器搭建
samba一款实现安装unix系列操作系统与安装Windows主机之间文件共享的开源软件,它基于SMB/CIFS、NetBIOS等多个协议,在两种OS的文件共享间架起了一座桥梁。通过samba的共享使得Windows用户可以像访问普通Windows下文件夹那样访问unix目录。
下面就谈一谈Samba的服务的搭建
1.samba服务的安装
yum list samba* #查看相关samba相关的rpm其中samba-client、samba、samba-swat是我们假设服务所需要用到的 yum install -y samba-swat samba samba-client #安装samba客户端 服务器端和swat
2.samba服务的配置
vim /etc/samba/smb.conf #samba的主配置文件 [global]全局控制文件 workgroup=WORKGROUP #工作组 server string=TEST #注释信息 security=user passdb backend = tdbsam #指使用哪中凡是存放密码 cups options=raw #定义打印的方式 [homes]控制是否能够访问家目录的 comment= home directory #说明信息 browserable=no #非属主是否能够查看当前目录内容 writable=yes #是否可写 [printer]控制打印机 guest ok=no #打印机是否公开 ;是否支持来宾账号打印 security=user 这个选项比较重要它定义samba的安全级别{share:允许任何匿名共享;|默认是user:账号和密码来访问(用户是本地用户但是密码却不是;|domain/server:集中式的用户认证,有第三方服务器集中管理账号密码 ;|ads:基于kerberos来实现}
3.自定义文件选项
所谓自定义文件选项其实也就是自定义规则实现访问控制等功能的共享文件目录。自定义选项卸载主配置文件中,下面是作者定义的一个简单的自定义选项:
[file] #自定义选项同样由[]引导,内容为其他共享用户看到的目录名 comment=mytools #标示信息 path = /share #文件路径,指明共享文件本机所在的位置 browserable = yes #此文件是否允许查看 guest ok = no #是否允许匿名用户登陆 writable = yes #是否可写,此处还取决于文件本身的权限 write list=gentoo #设置写权限的用户名单
4.启动服务
testparm #配置完成后首先检查配置文件语法 service smb start #启动服务 chkconfig smb on #设置2345运行级别开机启用 netstat -tunl #查看tcp139、445以及udp137、138端口为监听状态标示服务成功启动
5.设置登陆用户的账号/密码
所有的samba用户,必须为本地用户,但其用来登陆的密码却和本地密码丝毫不相干。 useradd gentoo #创建gentoo本地用户且不设置密码 smbpasswd -a gentoo #设置gentoo用户的samba密码
6.文件共享的Windows和linux中的Samba客户端
Windows网络邻居à查看工作组选项(samba主配置文件中定义的工作组是WORKGROUP)找到TEST主机,使用gentoo用户登陆。
可见图中有两个共享文件夹:file和gentoo。
file文件夹既是上文自定义选项所定义的文件夹;
gentoo文件夹则是对应用户的家目录。
Linux中登陆samba服务器
smbclient -L 192.168.0.72 -U gentoo #显现查看目的主机有哪些共享目录 Domain=[TEST] OS=[Unix] Server=[Samba 3.0.33-3.14.el5] #对应显示:域名为TEST 操作系统为Unix族 版本号为Samba 3.0.33-3.14.el5 Sharename Type Comment #对应显示:共享目录的名称,类型,注释信息 --------- ---- ------- file Disk mytesting IPC$ IPC IPC Service (Test) Server Printer Printing Server gentoo Disk Home Directories smbclient //192.168.0.72/gentoo -U gentoo #登入目标服务器目录中
7.组访问控制
上面已经实现了单用户的访问控制,如果要实现多用户的访问控制,直接对用户的附加组进行操作即可。
groupadd sambagrp #创建一个组 useradd slackware usermod -G sambagrp slackware usermod -G sambagrp gentoo #将两个用户添加附加组 vim /etc/samba/smb.conf write list=@sambagrp #设置该组可访问自定义的file目录
8.指定主机访问
hosts allow = 127. 192.168. #表示允许127.0.0.1和192.168.0.0网段用户访问
9.将smb共享文件夹挂载到本地
amba也支持类似于nfs以挂载的模式实现共享
mount -t cifs //192.168.0.72/file /mnt/ -o username=gentoo #使用gentoo用户将目标主机目录挂载到本地
10.samba-swat的使用
samba-swat是基于自身提供的web服务器来实现对samba服务的配置。
vim /etc/xinetd/swat service swat { port = 901 #服务端口 socket_type = stream wait = no only_from = 192.168.0.0/24 #允许访问的网段 user = root #允许访问的用户 server = /usr/sbin/swat log_on_failure += USERID disable = no #服务是否启用 }
注意:登录格式 http://192.168.0.72:901,端口号不要忘了。
使用root用户登陆后:
相关文章推荐
- 文件服务器--samba和ftp的搭建
- FTP与SAMBA文件服务器搭建
- 使用虚拟账号搭建ftp服务器 推荐
- 如何在虚拟机搭建ftp服务器供宿主机下载文件
- Ubuntu搭建FTP(vsftpd)文件服务器
- 家庭个人samba文件服务器搭建(一) 完全共享目录
- [转]实用教程:搭建FTP服务器以实现局域网飞速传输文件
- linux下的文件服务器 FTP, NFS, Samba
- 搭建samba文件服务器,与Windows共享
- Samba(一)通过Samba搭建Linux文件服务器
- 利用samba搭建文件服务器
- 阿里云服务器ECS 第一篇:FTP文件服务器搭建
- DAY04 WINDOWS 文件的共享以及FTP服务器的搭建
- 利用samba搭建文件服务器
- 搭建samba文件服务器之批量用户生成
- Samba和FTP服务器以及NFS网络文件服务和SSH
- Win7下搭建FTP服务器,实现文件共享
- 搭建服务器之文件共享cifs,nfs,samba
- FTP文件服务器搭建
- CentOS的安装和搭建文件共享服务器(Samba)