局域网文件共享
背景:为了不浪费机器磁盘,开个smb存放一些日常文件。磁盘IO已经通过lvm cache提上来了,局域网内使用体验瓶颈已经落在了千兆内网上,但依旧足够使用了。
install smb
sudo apt-get update
sudo apt-get install samba
mkdir smb dir
sudo mkdir -p /data/smb_root
config
# 添加一个系统用户到smb
sudo useradd smbuser -s /usr/sbin/nologin
# 修改文件权限
sudo chown smbuser:smbuser /home/work/sharedir
# 在samba服务中注册该账户
sudo smbpasswd -a smbuser
# 修改samba配置文件(/etc/samba/smb.conf)
sudo vim /etc/samba/smb.conf
# add context
[smb_dir] # 共享目录名
comment = common files # 共享目录描述
path = /data/smb_root # 路径
valid users = smbuser # 设置可访问的用户
guest ok = no # 是否允许访客,否
writable = yes # 可写,是
browsable = yes # 可浏览,是
记得验证下参数合法
testparm /etc/samba/smb.conf
# 示例:配置中有多余字符
❯ testparm /etc/samba/smb.conf ─╯
Load smb config files from /etc/samba/smb.conf
set_variable_helper(no # 是否允许访客,否): value is not boolean!
Error loading services.
# 示例:正常
❯ testparm /etc/samba/smb.conf ─╯
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
restart smb
sudo service smbd restart
sudo service nmbd restart
connect smb
mac
在finder(访达,文件管理器)中用快捷键 cmd + k 打开链接对话框输
输入smb://IP(部署了samba服务的机器的ip地址)
win
调出运行 win+r 快捷键 (也可在文件管理器的地址栏中执行以下操作)
输入\\IP(部署了samba服务的机器的ip地址)
也可映射为网络磁盘使用。
linux
# 和挂载硬盘无本质差异
sudo mount -t cifs //ip/username local_dir -o user=xxx,passwd=xxx
smb cli
# 查看用户列表
pdbedit -L
# 对samba用户进行管理
smbpasswd -h #查看支持的命令列表
# 异常时可查看日志情况
cat /var/log/samba/log.%m