一、samba简介
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。
**SMB(Server Messages Block,信息服务块)**是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
二、安装samba
(1)更新当前软件。
sudo apt-get update
(2)安装samba服务器。
sudo apt-get install samba
(3)创建一个用于分享的samba目录。
sudo mkdir /home/linuxidc/linuxidc.com/share
(4)给创建的这个目录设置权限
sudo chmod 777 /home/linuxidc/linuxidc.com/share
(5)添加用户(下面的linuxidc是我的用户名,之后会需要设置samba的密码)。
sudo smbpasswd -a linuxidc
(6)配置samba的配置文件。
sudo nano /etc/samba/smb.conf
三、配置samba
例子:在配置文件smb.conf的最后添加下面的内容:
[share_name ]
comment = share folder
browseable = yes
path = /home/linuxidc/linuxidc.com/share
create mask = 0700
directory mask = 0700
valid users = linuxidc
force user = linuxidc
force group = linuxidc
public = yes
available = yes
writable = yes
linux挂载:
挂载: sudo mount -o username=linuxidc,password=123456 //xx.xx.xx.xx/share_name /data/datasets
卸载: sudo umount //xx.xx.xx.xx/share_name
windows访问:
直接在文件浏览器地址栏输入:\\xx.xx.xx.xx\share_nam
然后输入用户密码
五、samba常见问题
1. 增加samba用户提示Failed to add entry for user
XXXX$: sudo smbpasswd -a mysmbuser
// smbpasswd 是给samba用户设定密码,而不是分配用户名。(前提mysmbuser用户必须已经是系统用户)
// 输入密码之后提示一下错误
New SMB password:
Retype new SMB password:
Failed to add entry for user mysmbuser.
原因:
没有加相应的系统账号,所以会提示Failed to add entry for user的错误。
添加samba用户前需要先添加系统用户
解决:
如果你要设置为samba用户不是系统用户,先使用useradd/adduser添加系统账户。
2. 查看samba服务器中已拥有的用户
sudo pdbedit -L