天天看点

samba文件共享服务linux下

samba文件共享服务

samba服务协议

smb协议:服务消息块协议 { 139 |445 }

cifs协议: 通用互联网文件系统

samba软件包主要构成

samba: samba服务端软件

samba-common: samba公用组件

samba-client: samba客户端软件

samba服务器主要程序

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

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

samba服务脚本和配置文件:

/etc/init.d/smb

/etc/samba/smb.conf

testparm: 配置文件检查工具

smb.conf文件配置内容

[global] :全局配置

[homes] :用户家目录共享设置

[printers] :打印机共享设置

smb.conf文件用户可以配置,每个配置项都是中括号形式例:[share]

配置项含义:

workgroup:工作组名称

server string:服务器描述信息

security:安全级别 { share | user | server |domain }

log file:日志文件位置,“%m”变量表示客户机地址

max log size:日志文件的最大容量,单位为kb

passwd backend:设置共享账户文件的类型

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

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

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

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

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

valid users:访问授权用户,多个以 , 隔开

write list:可写授权列表,多个以,隔开

hosts allow :允许访问主机

hosts deny:拒绝访问主机

{限制的对象可以是主机名、ip地址、ip网段,多个地址以空格火逗号隔开,网段表示:192.168.1.0/24或192.168.1 (省去主机部分)}

username map:别名映射配置项,指向映射配置文件etc/samba/smbusers

directory mask :用户上传(创建)目录的默认权限

create mask :用户上传(创建)文件得默认权限

配置:

在配置etc/samba/smb.conf时,为了方便观看,一般把注释、空行、配置样例行(以;开头)去掉,可以用grep过滤和 > 重定向导入来去除。(建议事先备份一份),每配置一次都要重启一下服务service smb restart

匿名访问:

创建一个共享配置项,path指定其路径,路径目录要存在

安全级别设置为:security = share

允许所有人访问:guset ok = yes

重启服务:service smb restart

需验证的共享

创建系统用户

useradd tom

添加samba用户并设密码(系统存在的用户名)

pdbedit -a tom

(smbpasswd -a tom)

安全级别设置为:security = user

关闭(删除)所有人访问:gusetok = no

别名映射配置文件

/etc/samba/smbusers

配置:用户名 = 别名(tom = zhangsan lisi)多个别名以空格相隔

编辑/etc/samba/smb.conf,在[global]中指定映射文件

usernamemap = /etc/samba/smbusers

用户授权(只在此项中用户可访问)

编辑/etc/samba/smb.conf,添加valid users 配置项

例:valid users =tom,root

写入授权(应删除writable配置项)

编辑/etc/samba/smb.conf,添加write list配置项

例: write list= tom,root

客户端授权

编辑/etc/samba/smb.conf,添加hosts { allow | deny} 配置项

例:hosts allow =192.168.1.9192.168.2192.168.3.0/24(允许此类地址访问)

hosts deny = 192.168.1.9192.168.2192.168.3.0/24(阻止此类地址访问)

注:hosts allow和hosts deny不应同时出现

使用smbclient访问

匿名

smbclient -l 192.168.1.1 查看有哪些共享

smbclient //192.168.1.1/t78 访问

非匿名

smbclient -l 192.168.1.1 -u tom 查看

smbclient -u tom //192.168.1.1/t78 访问

mount挂载

挂载前要确定系统中安装了cifs-util工具

mount -o username=tom,password=密码 //192.168.1.1/t78/t78

开机自动挂载

在/etc/fstab中添加

//192.168.1.1/t78/t78 cifs defaults,username=tom%密码 0 0

autofs自动挂载

需安装autofs自动挂载工具

在/etc/auto.master中添加

/mnt /etc/samba.misc

指定挂载主目录/mnt和挂载目录配置/etc/samba.misc

新建/etc/samba.misc并添加以下挂载配置项

samba -fstype=cifs,usename=tom,password=密码 ://192.168.1.1/t78

继续阅读