本文主要是围观了鸟哥的 smb 教程的记录, 传送门: http://is.gd/UDHOqT.
鸟哥写得很好玩. 以后上水课的时侯我就看看鸟哥的博客. 我觉得他的文章格式也值得我学习(总比我这一团糟好).
samba 是 linux 下与 win 的 cifs 沟通的桥梁, 也就是实现了 windows 下设备和文件共享的功能.
samba 作服务器时需要运行服务 smbd. 配置文件为 /etc/samba/smb.conf. 配置文件可以设定 NetBIOS 名称, 工作组, 主机的注释, 资料编码, log 路径, 共享方式 (匿名share\ 用户登录user\ 外设服务器domain). 对于每个共享, [标示名称] ([global] 代表全局), 可以设定文件路径, 读写权限, 用户权限, 是否可视; 还有一些变量可以使用; 详细内容可以在 man smb.conf 中查到. 修改过配置文件后用 testparm 检测错误, 确认无误后重启服务 smbd, 使用 smbstatus 检查运行状态.
samba 作客户端时使用 smbclient. 它提供了一种交互模式, 可以使用 cd\ ls\ get\ put\ mget\ mput 进行操作. smbclient -L //IPorNAME 可以查看该主机的共享列表; 加入 -U 可以指定登录的用户. 更方便地, 可以把cifs挂载到本地, 使用 mount -t cifs -o username=username,passwd=password,uid=xxx,gid=xxx "//IPorNAME/share name/" /path2mount 来挂载, (该命令调用 mount.cifs 执行).
如果在共享名之中有空格或者单引号, 用双引号把整个包进去就可以了.
在 user 模式下, smb 登录的帐号要求与系统内的帐号一致, 相应的读写权限也必须有. smb 的帐号使用 pdbedit 进行管理.
后面讲到了印表机. 我没有印表机. 忽略.
后面讲到了 SELinux. 我没有 SELinux. 忽略.
后面讲到了 PDC 伺服器 (domain 模式. 我暂时不需要架设这种. 忽略.
下面提供一個範例. 這是我從學校服務器上摳來的.
[TeachingAdmin_Bachelor]
comment = by yinchangqing,wangcaixia,yangdan,zhanghuijuan.(semi_public)
path = /data/Semi_publicfiles/TeachingAdmin_Bachelor
public = yes
read only = yes
valid users = yinchangqing,wangcaixia,yangdan,zhanghuijuan
write list = yinchangqing,wangcaixia,yangdan,zhanghuijuan
create mask = 0775
directory mask = 0775
[TeachingAdmin_Master]
comment = by linbingxuan,zhangweijin,tanmin,songyiyi,zhanghuijuan.(semi_public)
path = /data/Semi_publicfiles/TeachingAdmin_Master
public = yes
read only = yes
valid users = linbingxuan,zhangweijin,songyiyi,zhanghuijuan,tanming
write list = linbingxuan,zhangweijin,songyiyi,zhanghuijuan,tanming
create mask = 0775
directory mask = 0775
[%U's Home]
comment = my private directory
path = /data1/%G/Home/%U
valid users = %U
public = no
writable = yes
一直一来我看 linux 的文档都非常慢. 今天终于发现原因了: 泥码 win 的文档都是图啊......
文中还提到了使用 quota 设置磁盘限额, 使用 iptables 设置防火墙, 使用 SELinux 设置文件访问权限. 有空去了解.
Last edition: Mar 14