您的位置:首页 > 编程语言 > PHP开发

Samba和ftp服务的搭建及配置

2012-04-22 16:40 615 查看
[align=center][/align]
[align=center]《LINUX网络服务[/align]
[align=center]2构建文件服务器[/align]
[align=center][/align]

第一部分 samba
一.Samba服务基础

SMB协议


Server Message Block,服务消息块

CIFS协议


Common Internet File System,通用互联网文件系统

Samba的软件包组成


samba-3.0.23c-2.i386.rpm


samba-client-3.0.23c-2.i386.rpm


samba-common-3.0.23c-2.i386.rpm


samba-swat-3.0.23c-2.i386.rpm


system-config-samba-1.2.39-1.el5.noarch.rpm
注意:1. 只需安装sambasamba-clientsamba-common3个软件包,即可实现Samba服务器和客户端的基本功能
2. 在以上5个软件包中,sambasamba-client软件包分别用于提供服务器和客户端程序文件,samba-common软件包提供了服务器和客户端都需要使用的公共文件,system-config-samba软件包用于提供图形界面管理程序(需要在X图形环境中使用),而samba-swat软件包是一个Web方式的管理工具

Samba服务器的主要程序


smbd:提供对服务器中文件、打印资源的共享访问


nmbd:提供基于NetBIOS主机名称的解析

Samba的服务脚本


/etc/init.d/smb

Samba的配置目录及文件


/etc/samba/


/etc/samba/smb.conf

二.smb.conf主配置文件/ec/samba/smb.conf
[global]
workgroup = MYGROUP 所在工作组名称
server string = Samba Server 服务器描述信息
security = user 安全级别,可用值如下:shareuserserverdomain
log file = /var/log/samba/%m.log 日志文件位置,“%m”变量表示客户机地址
max log size = 50 日志文件的最大容量,单位为KB
……
[homes]
comment = Home Directories
browseable = no
writable = yes
[printers]
……

三.常见共享目录配置项的含义


comment:对共享目录的注释、说明信息


path:共享目录在服务器中对应的实际路径


browseable:该共享目录在“网上邻居”中是否可见


guest ok:是否允许所有人访问,等效于“public”


writable:是否可写,与read only的作用相反


read only = yes 只读


create mask = 755 创建文件时权限是755


only guest = yes 仅以匿名用户登录


valid users = liu,@liu 只运行liu用户可以访问(@liu,运行liu这个组访问)

四.建立可匿名访问的文件共享

修改smb.conf配置文件


security = share


public = yes

检查配置的正确性


testparm命令工具

启动smb服务


service smb start
例如:建立一个只读的匿名共享
修改/etc/samba/smb.conf,修改如下内容:
[global]
workgroup = WORKGROUP
security = share
[movie]
comment = Public share with movie files
path = /var/public/movies
public = yes
read only = yes

五.建立带验证的文件共享

建立Samba用户数据库文件


默认数据库文件位于:/etc/samba/smbpasswd rhel5默认没有)
( 注意: 注释掉passdb backend = tdbsam,
然后加入smb passwd file = /etec/samba/smbpasswd)


系统用户帐号 -> Samba用户帐号(samba帐户必须是一个系统帐户)

Samba帐号的别名设置


smb.conf文件中需要启用如下配置


username map = /etc/samba/smbusers


默认的别名映射文件:/etc/samba/smbusers
格式:真实名字= 别名1 别名2 别名3
例如:建立一个只要vinaroot组可以登陆的samba共享
[global]
workgroup = WORKGROUP
security = user
[movie]
comment = Public share with movie files
path = /var/public/movies
public = no
read only = no
valid users = vina, @root
write list = root
directory mask = 0744 创建目录的权限
create mask = 0600 创建文件的权限

smb.conf文件设置客户机访问授权


一般用在全局配置[global]部分


hosts allow配置项:仅允许特定的客户机


hosts deny配置项:仅拒绝特定的客户机


客户机地址表示形式:


以空格分隔多个地址


主机名或IP地址,例如: 192.168.168.11 或者 prtsvr


网络地址,例如:173.17. 或者 173.17.0.0/255.255.0.0

六.在客户机中访问共享目录

使用Windows客户端访问文件共享服务


网上邻居、UNC路径

使用Linux客户端访问文件共享服务


smbclient命令,查看及登录使用共享


smbclient -L 192.168.168.1


smbclient -U vina //192.168.168.1/movie


mount命令,将共享目录挂载到本地使用


mount -o username=vina //192.168.168.1/movie /mnt
第二部分 ftp

七.FTP服务概述

FTP连接方式


控制连接:标准端口为21,用于发送FTP命令信息


数据连接:标准端口为20,用于上传、下载数据


数据连接的建立类型:
p 主动模式:服务端从20端口主动向客户端发起连接
p 被动模式:服务端在指定范围内的某个端口被动等待客户端发起连接

FTP传输模式


文本模式:ASCII模式,以文本序列传输数据


二进制模式:Binary模式,以二进制序列传输数据

FTP用户的类型


匿名用户:anonymousftp


本地用户:
p 帐号名称、密码等信息保存在passwdshadow文件中


虚拟用户:
p 使用独立的帐号/密码数据文件

常见的FTP服务器程序


IISServ-U


wu-ftpdProftpd


vsftpdVery Secure FTP Daemon

常见的FTP客户端程序


ftp命令


CuteFTPFlashFXPLeapFTPFilezilla


gftpkuftp

八.vsftpd服务基础

vsftpd软件包


官方站点:http://vsftpd.beasts.org/


主程序:/usr/sbin/vsftpd


服务名:vsftpd


用户控制列表文件
p /etc/vsftpd/ftpusers
p /etc/vsftpd/user_list


主配置文件
p /etc/vsftpd/vsftpd.conf

常用的全局配置项


listen=YES:是否以独立运行的方式监听服务


listen_address=192.168.4.1:设置监听的IP地址


listen_port=21:设置监听FTP服务的端口号


write_enable=YES:是否启用写入权限


download_enableYES:是否允许下载文件


userlist_enable=YES:是否启用user_list列表文件


userlist_deny=YES:是否禁用user_list中的用户


max_clients=0:限制并发客户端连接数


max_per_ip=0:限制同一IP地址的并发连接数

常用的匿名FTP配置项


anonymous_enable=YES:启用匿名访问


anon_umask=022:匿名用户所上传文件的权限掩码


anon_root=/var/ftp:匿名用户的FTP根目录


anon_upload_enable=YES:允许上传文件


anon_mkdir_write_enable=YES:允许创建目录


anon_other_write_enable=YES:开放其他写入权


anon_max_rate=0:限制最大传输速率,单位为字节

常用的本地用户FTP配置项


local_enable=YES:是否启用本地系统用户


local_umask=022:本地用户所上传文件的权限掩码


local_root=/var/ftp:设置本地用户的FTP根目录


chroot_local_user=YES:是否将用户禁锢在主目录


local_max_rate=0:限制最大传输速率(字节/秒)

九.构建可匿名上传的vsftpd服务器

调整上传目录的属主或权限


确保匿名用户ftp有权写入文件
p chown ftp /var/ftp/pub

修改vsftpd.conf主配置文件

[root@filesvr ~]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=NO
write_enable=YES
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
userlist_enable=NO
……

十.构建本地用户验证的vsftpd服务器

修改vsftpd.conf配置文件


启用本地用户访问


并可以结合user_list文件灵活控制用户访问

修改主配文件

[root@filesvr ~]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
local_umask=022
userlist_enable=YES
userlist_deny=YES
……
十一. 构建基于虚拟用户的vsftpd服务器
1.建立虚拟FTP用户的帐号数据库文件
2.创建FTP根目录及虚拟用户映射的系统用户
3.建立支持虚拟用户的PAM认证文件
4.vsftpd.conf文件中添加支持配置
5.为个别虚拟用户建立独立的配置文件
6.重新加载vsftpd配置
7.使用虚拟FTP账户访问测试
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  配置 ftp Samba 搭建