Samba 沟通Windows与Linux两个不同的作业平台,samba可以
• 分享档案与打印机服务;
• 可以提供用户登入 SAMBA 主机时的身份认证,以提供不同身份者的个别数据;
• 可以进行 Windows 网络上的主机名解析 (NetBIOS name)
• 可以进行装置的分享 (例如 Zip, CDROM…)
Samba所需要的软件及结构
- 这个套件主要包含了 SAMBA 的主要 daemon 档案 (smbd 及 nmbd)、 SAMBA 的文件档 (document)、以及其他与 SAMBA 相关的 logrotate 配置文件及开 机默认选项档案等;samba:
- samba-common:
这个套件则主要提供了 SAMBA 的主要配置文件 (smb.conf) 、 smb.conf 语法检验的测试程序 (testparm)等等; - samba-client:
这个套件则提供了当 Linux 做为 SAMBA Client 端时,所需要的工具指令,例如挂载 SAMBA 文件格式的执行档 smbmount 等等 - Samba 的套件结构:
/etc/samba/smb.conf:smb.conf 是 Samba 的主要配置文件名,主要用于设定工作组、 NetBIOS 名称以及分享的目录等
smb.conf配置文件的参数详解
主机整体参数
- workgroup = 工作组的名称:注意,主机群要相同;
- netbios name = 主机的 NetBIOS 名称啊,每部主机均不同;
- server string = 主机的简易说明,这个随便写即可。
- display charset = 自己服务器上面的显示编码, 例如你在终端机时所查阅的编码信息。一般来说,与底下的 unix charset 会相同。
- unix charset = 在 Linux 服务器上面所使用的编码,一般来说就是 i18n 的编码啰! 所以你必须要参考 /etc/sysconfig/i18n 内的『默认』编码。
- dos charset = 就是 Windows 客户端的编码了! 一般来说我们的繁体中文 Windows 使用的是 big5 编码,这个编码在 Samba 内的格式被称为『 cp950 』喔!关于语系编码,建议您参考一下讨论区的这一篇:http://phorum.vbird.org/viewtopic.php?t=22001
- log file = 登录档放置的档案,文件名可能会使用变量处理;
- max log size = 登录档最大仅能到多少 Kbytes ,若大于该数字,则会被 rotate 掉。samba中与跟密码有关的参数
- security = user, server, domain, share 四选一,这四个设定值分别代表:
- user :使用 SAMBA 本身的密码数据库,密码数据库与底下的 smb passwd file 有关;
- share:分享的数据不需要密码即可分享;
- server, domain:使用外部主机的密码,亦即 SAMBA 是客户端之意,如果设定这个项目, 你还得要提供『password server = IP』的设定值才行;
- encrypt passwords = Yes 代表密码要加密,注意那个 passwords 要有 s 才对!
- smb passwd file = 密码放置的档案,通常是 /etc/samba/smbpasswd 。分享目录参数
在目录参数部分,主要有底下这几个常见的参数喔: - [分享名称] :这个分享名称很重要,他是一个『代号』而已。 举例来说,你在 Windows 当中使用『共享』来分享网芳时,假设你将『D:\game』分享出来, 系统不是还会要你输入一个『在网络上面的名称』吗?假设你输入『My_Games』这个名称好了, 那么未来大家在网芳看到的这个文件夹 (D:\game) 名称其实是『\\你的IP\My_Games』啦!
- comment :这个目录的说明!
- path :在网芳中显示的名称 [分享名称] 中,所实际进入的 Linux 文件系统。 也就是说,在网芳当中看到的是 [分享] 的名称,而实际操作的文件系统则是在 path 里头所设定的。
- read only:是否只读?
- public :是否让所有可以登入的用户看到这个项目?
- writable :是否可以写入?这里需要注意一下喔!那个 read only 与 writable 不是两个蛮相似的设定值吗?如果 writable 在这里设定为 no ,亦即不可写入,那跟 read only 不就互相抵触了!那个才是正确的设定?答案是:最后出现的那个设定值为主要的设定!
- create mode 与 directory mode 都与权限有关的咯!
- valid users = 用户,这个项目可以指定能够进入到此资源的特定使用者。
- 因为分享的资源主要与 Linux 系统的档案权限有关,因此里头的设定参数多与权限有关。变数特性
- %S:取代目前的设定项目值,所谓的『设定项目值』就是在 [分享] 里面的内容! 举例来说,例如底下的设定范
[home]
valid users = %S
….
因为 valid users 是允许的登入者,设定为 %S 表示任何可登入的使用者都能够登入的意思~今天如果 dmtsai 这个使用者登入之后,那个 [homes] 就会自动的变成了 [dmtsai] 了!这样可以明白了吗? %S 的用意就是在替换掉目前 [ ] 里面的内容啦!
%m:代表 Client 端的 NetBIOS 主机名喔!
%M:代表 Client 端的 Internet 主机名喔!就是 HOSTNAME。
%L:代表 SAMBA 主机的 NetBIOS 主机名。
%H:代表用户的家目录。
%U:代表目前登入的使用者的使用者名称
%g:代表登入的使用者的组名。
%h:代表目前这部 SAMBA 主机的 HOSTNAME 喔!注意是 hostname 不是 NetBIOS name 喔!
%I:代表 Client 的 IP 咯。
%T:代表目前的日期与时间
简单的smb.conf配置
[global]
workgroup = ilovexinji
server string = %h
server map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow
guests = Yes
panic action = /usr/share/samba/panic-action %d
[ilovexinji]
comment = ilovexinji
path = /home/xinji
valid users = @ilovexinji
write list = @ilovexinji
read only = No
create mask = 02664
force create mode = 02664
directory mask = 02775
force directory mode = 02775
如果你想要删除samba共享出的文件放到“回收站”中,你只需要在[global] 中添加:
vfs object = recycle
recycle:keeptree = yes
recycle:versions = yes
recycle:repository = .recycle
recycle:touch_mtime = yes
recycle:exclude = *.tmp, *.bak
recycle:exclude_dir = .recycle
添加完后重启samba,你就会在你共享的文件夹下看到一个隐藏的文件夹“.recycle”,在这个文件夹中你可以找回你误删的文件。
测试smbd:
testparm [-s] [-h] [-L servername] [configfilename] [hostname hostIP]
导出smbd的帐号:
使用pdbedit -L 可以查看所有samba的用户
- 先将本机添加了samba的用户备份
/etc/passwd(用户),/etc/shadow(密码) - 将用户所属的组备份
/etc/group - 将samba的密码文件备份
/var/lib/samba/passdb.tdb
设置权限继承父文件的权限:sudo chmod g+s 文件夹
解决Windows XP下连接samba报错1326
需要在/etc/samba/smb.conf 在全局中设置
[global]
ntlm auth =true
然后重启samba
sudo /etc/init.d/smbd restart
就可以正常连接samba共享了
Samba软件信息:
当前稳定版:4.4.5
授权信息:GNU通用公共许可证
操作系统:Linux/Unix
教程参考:
http://vbird.dic.ksu.edu.tw/linux_server/0370samba/0370samba-centos4.php#before
关注公众号『长空雪』
搬孕工 分享孕妇写真 关注我微信公众号 长空雪 “情而不色”是我公众号的风格