因工作需要,准备在Ubuntu服务器上共享文件夹,从Windows和Mac上都可以访问共享文件。
搜了一下,决定通过samba服务实现。安装过程如下:
【step1】安装samba服务
sudo apt-get install samba
sudo apt-get install smbfs
【step2】创建共享文件夹
sudo mkdir /home/share
chmod 777 /home/share
chmod 777 /home/share/*
【step3】备份并编辑smb.conf允许网络用户访问
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo vim /etc/samba/smb.conf
找到[global]这一段,加入:
security = user
username map = /etc/samba/smbusers
在末尾增加一段共享文件夹的配置。
[myshare]
path = /home/share
guest ok = no
public = no
writable = yes
create mode = 0644
force create mode = 0644
directory mode = 0755
force directory mode = 0755
valid users=test1
其中,"myshare"是用户访问时看到的文件夹的名字,test1是能访问该文件夹的用户名,如果有多个,用逗号隔开。如果是用户组,用@test2这样的格式。
【step4】创建用户(最关键)
上一步骤提到的test1在服务器上并不存在,需要创建一下,这里不需要设置密码。
sudo useradd test1
在samba中也要创建一个对应的用户,并设置密码,这个密码就是用户访问时填写的密码。
sudo smbpasswd -a test1
然后还要修改以下配置文件
sudo vim /etc/samba/smbusers
增加一行(如果有多个账号,就增加多行):
test1 = "network username"
PS. 如果要删除该用户,需要依次执行:
sudo smbpasswd -x test1
sudo userdel test1
【step5】重启服务
sudo service smbd restart
【step6】测试
在windows上直接通过\xxx.xxx.xxx.xxx 访问
在mac上通过快捷键command+K,切出窗口,输入smb://xxx.xxx.xxx.xxx
在Windows上有时会提示:
不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接。
这时需要注销一下,或者执行以下命令即可:
net use * /del /y