且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

ubuntu搭建samba服务器

更新时间:2022-09-05 08:02:03

参考文章:
1、http://blog.csdn.net/zshq280017423/article/details/7299439


本文讲的是ubuntu系统中部署samba的方法,如果是centos系统,配置文件smb.conf里面不能加下面这两行

force user = nobody
force group = nogroup

否则共享的目录是无法正常被centos系统挂载的



下面开始讲ubuntu服务器如何部署一个基础samba服务

安装samba
sudo apt-get install samba smbfs
如果要用本机测试samba的连通性,再装一个客户端
sudo apt-get install smbclient

创建共享目录
mkdir ~/share
chmod 777 ~/share
上面~是当前用户家目录
share为发布出去的共享文件夹名

配置samba
备份原来的配置文件
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

修改配置文件
sudo vim /etc/samba/smb.conf
在文件结尾添加
[share]
path = /home/john/share
available = yes
browseable = yes
public = yes
writable = yes
valid users = smbuser
create mask = 0700
directory mask =0700
force user = nobody
force group = nogroup

配置说明
valid users = smbuser 这个smbuser是可用来访问的帐号,后面添加samba帐号就是添加这个。如果匿名访问,就把valid users行去掉

[share]名字也是可以随便起的,这个是你在windows下访问时显示的名字,
在windows的地址栏输入 \\162.168.44.240\share
就可以访问linux下/home/john/share目录下的内容了
其中162.168.44.240是samba server的IP地址
找到[global]里面添加如下2行
unix charset = UTF-8
dos charset = cp936
可以解决中文被显示为乱码的问题


建samba帐户
建立smbuser这个网络访问帐户或使用samba服务器本地帐号
sudo useradd smbuser
只建立用户但没有给用户赋予本机登录密码,所以这个用户将只能从远程访问,不能从本机登录。若使用本地帐号可以单独为samba建立其他密码
sudo smbpasswd -a smbuser
如果你用本地已有账号,就把smbuser替换成那个帐号就行
然后会要求你输入两遍samba帐户的密码
这个密码不是开机登录时候用的,是访问smb用的专属密码

删除samba帐号
sudo smbpasswd -x smbuser

检测samba配置情况
sudo testparm


重启samba服务器
sudo service smbd restart


放行来访者

vim /etc/sysconfig/iptables

-A INPUT -s 172.31.0.0/16 -j ACCEPT
/etc/init.d/iptables restart


chown smbuser.smbuser -R /home/john/share


试验smb服务器搭好没
对于linux客户端,终端输入
smbclient -L //localhost
或 
smbclient -L //127.0.0.1 -U smbuser


在windows客户端,地址栏输入
\\192.168.44.240\share

linux系统挂载smb共享目录到本地/smb来用,假设刚才建立的smbuser的smb密码是smbuser
sudo mount -t cifs -o username=smbuser,password=smbuser //192.168.44.240/share /test



本文转自 朱科强 51CTO博客,原文链接:http://blog.51cto.com/zhukeqiang/1385442,如需转载请自行联系原作者