欢迎光临
我们一直在努力

与samba共舞

Samba 沟通Windows与Linux两个不同的作业平台,samba可以

• 分享档案与打印机服务;
• 可以提供用户登入 SAMBA 主机时的身份认证,以提供不同身份者的个别数据;
• 可以进行 Windows 网络上的主机名解析 (NetBIOS name)

• 可以进行装置的分享 (例如 Zip, CDROM…)

Samba所需要的软件及结构

samba:
这个套件主要包含了 SAMBA 的主要 daemon 档案 (smbd 及 nmbd)、 SAMBA 的文件档 (document)、以及其他与 SAMBA 相关的 logrotate 配置文件及开 机默认选项档案等;
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) 名称其实是『\你的IPMy_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 = nixonli
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 = *Entersnews*spassword:* %nn *Retypesnews*spassword:* %nn *passwordsupdatedssuccessfully* .
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

[pub]
comment = nixonli
path = /home/nixonli
valid users = @nixonli
write list = @nixonli
read only = No
create mask = 02664
force create mode = 02664
directory mask = 02775
force directory mode = 02775

详见参考:

http://vbird.dic.ksu.edu.tw/linux_server/0370samba/0370samba-centos4.php#before

窗外天空

赞(0) 打赏
未经允许不得转载:NixonLi博客 » 与samba共舞

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏