前言
当我们需要windows和linux更好的进行文件交互时,使用Samba服务是一个不错的选择,本文介绍如何在linux中搭建Samba服务和怎样在windows下访问linux共享文件。本文以Utuntu系统为例对每个步骤进行详细解答。
1、安装和卸载samba命令:
sudo apt-get install samba samba-common
sudo apt-get autoremove samba
2、建立samba访问目录,并且增加目录的权限
mkdir /home/myshare
chmod 777 /home/myshare
3、samba服务添加用户(假设我的ubuntu用户名为:test)
sudo smbpasswd -a test (输入访问Samba的密码)
4、配置smb.conf
sudo vi /etc/samba/smb.conf
在文件最后添加
[myshare ]
comment=This is samba dir
path=/home/myshare
create mask=0755
directory mask=0755
writeable=yes
valid users=test
browseable=yes
path为你上面建立的共享目录/home/myshare ,
valid users为你访问Samba的用户test
其他条件写读和创建文件及文件夹的权限
5、启动、停止、重启Samba服务:
启动Samba服务器只需执行如下命令:
sudo /etc/init.d/samba start
关闭Samba服务器:
sudo /etc/init.d/samba stop
重启Samba服务
sudo /etc/init.d/smbd restart 或者 sudo service smbd restart
注:修改了smb.conf配置文件,需要重启Samba服务才生效
6、windows下访问共享目录:
Win+R或者点击运行,输入\\192.168.0.10\myshare
输入你ubuntu的用户名和访问Samba的密码,就能访问共享目录myshare了。
可能遇到的问题:
问题1:
增加samba用户提示Failed to add entry for user
[root@ubuntu ~]# smbpasswd -a test
New SMB password:
Retype new SMB password:
Failed to add entry for user test.
解决方式:
这是因为没有加相应的系统账号,所以会提示Failed to add entry for user的错误,只需增加相应的系统账号test就可以了:
[root@ubuntu ~]# groupadd test -g 6000
[root@ubuntu ~]# useradd test -u 6000 -g 6000 -s /sbin/nologin -d /dev/null
这时就可以用smbpasswd -a test增加test这个samba账号了!为了增加系统的安全性,所以加的系统账号不要给shell它,也不给它指定目录,到时在/home目录给test账号建个文件夹,该文件夹只有test有读写权限即可!
如:
[root@ubuntu ~]# mkdir /home/test
[root@ubuntu ~]# chown -R test:test /home/test 若不想让另人访问,只让test用户可以访问,只需执行命令:
[root@ubuntu ~]# chmod u+rwx,g+rwx,o-rwx /home/test
这时可以用smbpasswd命令增加samba账号test了
[root@ubuntu ~]# smbpasswd -a test
New SMB password:
Retype new SMB password:
Added user test.
问题2:连接共享文件时,出现如下问题
无法连接到文件共享,因为它不安全。 此共享需要旧的 SMB1 协议,它不安全,并且可能使你的系统受到攻击。 你的系统需要 SMB2 或更高版本。 有关解决此问题的详细信息,请参阅:https://go.microsoft.com/fwlink/?linkid=852747
如图:
解决方式:控制面板——程序——卸载程序——启用或关闭Windows功能——SMB 1.0/CIFS 文件共享支持
添加完成之后重新启动即可。