一、与ftp服务进行对比
fpt的优缺点:
优点:文件的传输;使用应用层协议;可以跨平台传输,可以在互联网/局域网中传输。
缺点:无法进行文件系统的挂载;无法直接对服务器端的文件进行修改
Samba使用smb协议在局域网中传输,也可以使用smb协议的“进阶版”cifs协议在互联网中传输。可以跨平台传输、可进行文件系统挂载、可对服务器端文件直接进行修改。
二、配置文件
smb.conf 主配置文件
smbusers 别名配置文件
三、端口
TCP:139(局域网文件和打印共享)
TCP:445(互联网文件共享)
四、安全级别
1、share 匿名验证
2、user 本地用户验证
将系统用户通过命令转化为smb用户,建立系统用户是前提(使用的是/etc/passwd文件)。
pdbedit -a lisi (将系统用户lisi,添加为smb用户,并设置密码)
pdbedit -x lisi (删除lisi这个smb用户)
pdbedit -L (列出smb用户列表)
3、server 使用其他服务器来进行代理验证方式,若验证失败,Samba服务器会使用user安全认证方式替代验证。
4、domain 使用主域控制器来进行认证
五、主配置文件(/etc/samba/smb.conf)
配置文件主要分为两个部分,全局配置(global)与共享配置(homes、printers、print$)
1、全局配置:
workgroup = SAMBA(工作组或域)
server string = Samba Server Version %v(可填可不填,%v可以获取Samba的版本号)
interfaces = lo eth1 192.168.56.128/24 (Samba服务监听的网卡,前面三种填写方式都可以)
hosts allow = 192.168.1.1 192.(访问控制。允许连接的地址或者地址段。可以填写多个,中间使用空格隔开。hosts deny与之相反。)
host allow = 192.168.1 EXCEPT192.168.1.100(表示允许192.168.1.*的主机连接,除了192.168.1.100这个地址)
log file = /var/log/samba/log.%m(表示日志文件的存放位置。%m表示主机名,这样每台访问Samba服务器的主机都单独记录在一个日志文件中)
max log size = 50 (表示每个日志文件的大小,0代表无限制,单位KB)
security = user(安全级别)
passdb backend = tdbsam(用户后台。这里我的理解就是一种管理工具)
(a)、smbpasswd:使用smb自身的管理工具,为系统用户设置smb密码,用于进行访问。
smbpasswd -a (新建smb用户)
smbpasswd -d (冻结smb账号)
smbpasswd -e (解冻smb账号)
smbpasswd -x (删除smb账号)
smbpasswd (修改账号密码)
(b)、tdbsam:使用数据库文件来建立用户数据库。
pdbedit -a (新建smb账号)
pdbedit -x (删除smb账号)
pdbedit -c "[D]" -u (禁用smb账号)
pdbedit -c “[ ]” -u (解禁smb账号)
pdbedit -L (列出smb账号)
pdbedit -Lv (列出smb账号及详细信息)
(c)、ldapsam:这个是需要LDAP的账户管理方式来进行用户验证的,首先需要建立LDAP服务,配置文件: passdb backend =ldapsam:ldap://LDAP Server
encrypt passwords = yes (是否将密码加密,默认是开启的)
username map = /etc/samba/smbusers(定义用户的别名)
新建smbusers文件,写入别名(zhangsan = zs,则可以使用zs进行登录)
load printers = yes (是否在启动Samba时就共享打印机)
printcap name = cups (设置获取打印机描述信息的文件)
printing = cups(设置共享打印机的类型)
2、共享配置
comment = Home Directories (对此共享的描述)
valid users = %S, %D%w%S (允许访问的用户或用户组,设置多个时,可以使用逗号隔开)
path = /home/%u (共享目录的路径,按照以用户来划分目录)
path = /home/%m (共享目录的路径,按照以客户机来划分目录)
browseable = No (共享信息是否在“网上邻居”中可见)
read only = No (该目录是否是只读状态)
可以使用下面方式进行访问控制,提高安全性。
chmod 777 /目录
read only = yes
write list = 用户,@组
create mask = 744 (设置文件上传后的权限)
directory mask = 77 (设置目录上传后的权限)
六、登录方式
Linux端: smbclient -U 用户名 -L //服务器地址 (查看服务器共享)
smbclient -U 用户名 //服务器地址/共享名(共享名也就是共享目录的名称)
Windows端:
清除登录缓存:net use * /del
七、挂载方式
Linux:
临时挂载:mount -t cifs -o username=zhangsan,password=123123 //服务器地址/共享名 /挂载的目录
永久挂载:写入配置文件(/etc/fstab)
//服务器地址/共享名 /挂载的目录 cifs defaults,username=zhangsan,password=123123 0 0
Windows:
映射网络驱动器