没法子,要跟别的电脑共享文件,而别的电脑都是windows的,只好用上samba咯。
主要参考archlinux wiki:https://wiki.archlinux.org/index.php/Samba_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
1.安装
如果只是访问文件,而不需要共享文件,仅安装客户端程序就足够了.
# pacman -S smbclient
为了可以共享文件, 安装Samba包( 这将同时安装客户端 ):
# pacman -S samba
2.配置
配置文件为: /etc/samba/smb.conf
先拷贝一个默认的,然后修改之:
# cp /etc/samba/smb.conf.default /etc/samba/smb.conf
我做的修改有:
———————————————————————————
……
workgroup = WORKGROUP #工作组
……
erver string = Lxq's Archlinux Samba Server #用户名
……
;[homes] #取消用户目录共享
; comment = Home Directories
; browseable = no
; writable = yes
……
[tmp] #开启tmp目录共享,可读写
comment = Temporary file space
path = /tmp
read on
public = yes
……
————————————————————————————
3.增加用户
# pdbedit -a -u <user>
此处设定访问共享目录的用户名和密码
4.启动和停止服务
# systemctl start smbd.service nmbd.service
最初我把服务加入了开机自启动:
# systemctl enable smbd.service nmbd.service
但是考虑到资源占用和安全性,我决定每次使用时再启动,用完即停止,于是我写了如下两个shell脚本:
samba-server-start.sh
————————————————————————————
#!/bin/bash
sudo systemctl start smbd.service nmbd.service winbindd.service
————————————————————————————
和
samba-server-stop.sh
————————————————————————————
#!/bin/bash
sudo systemctl stop smbd.service nmbd.service winbindd.service
————————————————————————————
使用时双击运行即可。