Linux下的Samba服务器搭建
一、安装配置Samba服务
1. 直接使用如下指令对Samba服务进行安装:
sudo apt-get install samba
耐心等待,树莓派等linux操作系统会自动下载Samba服务的相关依赖包,完成Samba服务的安装,安装完成如下所示:
需要注意的是,在安装最后部分提示需要配置samba相关配置文件,如下所示:
2. 完成Samba服务安装后,配置smb.conf文件
sudo vim /etc/samba/smb.conf
使用vim对conf文件进行编辑,文本最后添加如下所示内容:
1 [ShareFolder] 2 comment = Folder for data sharing 3 browseable = yes 4 path = ~/WorkSpace <这里是错误演示,一定要是用绝对地址,否则无法完成映射,例如:/home/pi/WorkSpace 而不是 ~/WorkSpace> 5 create mask = 0777 6 directory mask = 0777 7 valid user = pi 8 force user = pi 9 force group = nogroup 10 public = yes 11 writable = yes 12 aviliable = yes
按照上述格式即可创建一个共享文件夹 "ShareFolder",上述内容字段解释如下:
- [ShareFolder]:分享的文件夹名称,在挂载时使用的就是这个名称,如:\\192.168.1.108\ShareFolder;
- comment = xxx:分享文件夹的一些描述,自定义填写即可;
- browseable = xxx:共享目录是否可见;
- path = xxx:共享目录的实际路径,一定需要时绝对路径,已踩坑...(2021.1.27);
- create mask = 0777:创建文件的默认权限;
- directory mask = 0777:创建文件夹默认权限;
- valid user = pi:指定登录的用户,该项不写,则默认对所有人可见;
- force user = pi:指定的用户可以进行登录,其他用户没有权限登录,nobody不限制;
- force group = xxx:指定用户组登陆权限;
- public = yes:是否对所有登录成功的用户可见;
- writable = yes:是否具有写入权限;
- aviliable = yes:设置目录是否可见;
3. 配置完成后,需添加Samba用户以及Samba登陆密码:
sudo smbpasswd -a pi <-- 该用户必须存在 New SMB password: <-- 登录Samba服务的密码 Retype new SMB password: <-- 再次输入Samba服务的密码
配置完成上述步骤后,重启Samba服务,使相关配置生效:
sudo /etc/init.d/samba-ad-dc restart
Notice: 待重启完成之后再进行Windows等其他PC机的挂载过程!
二、Windows端挂载登陆
1. 首先打开我的电脑,在网络位置处单击右键,添加一个网络位置,详细流程如下所示:
2. 挂载上之后就可以直接进入Samba服务的文件系统中了,如下所示:
经测试,能够进行读写等基本操作。
三、Linux客户端挂载登录(REF)
1. 安装cifs-utifs以及smbclient
sudo apt-get install smbclient sudo apt-get install cifs-utils
2. 列举指定IP地址所提供的共享文件夹列表
smbclient -L ${ip_addr} -U ${username}%${password}
3. 挂载共享文件夹
sudo mount -t cifs //SambaIP/ShareFolder /mnt/ -o username=${username},password=${password}
这里一定要注意的是 //SambaIP/ShareFolder 这里的ShareFolder是smb.conf配置中的文件夹重命名而不是正真的Samba服务器主机中的文件夹名称(避免暴露主机文件名信息),设置错误将无法挂载!
Reference:
1. ubuntu 16.04 Samba服务器搭建:https://www.cnblogs.com/MoreExcellent/p/7215063.html
2. Ubuntu 18.0搭建局域网私有云盘:https://blog.csdn.net/u014175785/article/details/101630498