sudo apt updatesudo apt install samba
无密码保护的分享
配置分享文件夹
sudo nano /etc/samba/smb.conf
我分享books, 无密码保护
[Books] path = /media/rich/D449BB1399324BB5/books public = yes browseable = yes writable = no guest ok = yes only guest = yes # 核心:让所有匿名访问者在系统底层都伪装成 "rich" 用户 force user = rich
为什么需要 force user = rich?
这个目录是windows分区,只有rich可以进入。 看似rich没有权限,+代表使用了访问控制列表 (ACL) 的机制,getfacl命令查看 “白名单”,可以看见rich被特许进入权限:
重启服务
sudo systemctl restart smbd
有密码保护的分享
1. 添加一个 guest_user 账号
为了安全,我们创建一个没有登录 shell(不能登录桌面或 SSH)的用户。
sudo adduser --no-create-home --disabled-login --shell /usr/sbin/nologin guest_user
2. 将该用户添加到 Samba 并设置密码
sudo smbpasswd -a guest_user
3. smb 设置:
[Documents] path = /media/rich/D449BB1399324BB5/BaiduSyncdisk/documents writable = yes guest ok = no read only = no force user = rich
samba用户是绑定系统既有用户账号,但是可以独立设置密码。| 需求 | 命令 |
| 新增用户 | sudo smbpasswd -a 用户名 |
| 禁用用户 (不删除) | sudo smbpasswd -d 用户名 |
| 启用用户 | sudo smbpasswd -e 用户名 |
| 列出所有用户 | sudo pdbedit -L |
| 删除用户 | sudo smbpasswd -x 用户名 |