ubuntu搭建samba服务器
一.为什么要用Samba?
Samba的主要任务就是实现Linux系统和Windows系统之间的资源共享。
二.需要的软件?
我是在ubuntu上实现的,所以我只需在配置好ubuntu的更新源之后,在终端中使用一下两句命令,就可以安装Samba的软件包
$sudo apt-get install samba //安装samba
$sudo apt-get install sambfs //安装挂在samba虚拟文件系统
三.Samba服务的组成
Samba的核心是两个守护进程smbd和nmbd。当然,它们的配置信息都保存在/etc/samba/smb.conf里面。
其中smbd处理Samba软件与Linux协商,nmbd使其他主机能浏览Linux服务器。
四.Samba的配置文件的语法
配置文件就放在/etc/samba/下,名字叫作smb.conf。如果怕改了之后有问题,可以备份一份。
执行如下命令进行备份(事实上就是复制一份,并且改名)
$sudo cp /etc/samba/smb.conf /etc/samba/smb_conf_bak
一个完整的smb.conf配置文件有两部分组成Global Settings(全局参数设置)和Share Definitions(共享定义)组成。
每个部分有消息头和参数构成,如[global]就是一个消息头,用[]标志。
而参数的结构形式是parameter = value。
注释用#表示,这个和shell脚本有点像
而你会发现有一些前面有;号,这个表示这一行的配置可以更改,修改就要去掉;,让配置起作用。
五.Samba组成
(1)Samba Global Settings 全局参数设置
该部分由[global]段来完成配置,主要是设置整体的规则,有个参数一般要修改的是workgroup=mygroup,此句提供NT域名或者工作组名,是必须根据实际修改的。
(2)Share Definitions 共享定义
有很多段,都用[]标志开始的,这里要自己根据情况修改。
六.设置共享目录。
反正随便设置一个目录给别人访问就行了,第一次配置,也就不考虑太多。
$sudo mkdir -p /home/share/samba
$sudo chmod 777 /home/share/samba
七.修改配置文件
(1)global修改的地方,防止乱码产生
[global]
workgroup = WORKGROUP
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936
(2)在文本最后添加Share段,其中/home/share/samba是共享目录
[Share]
comment = Shared Folder with username and password
path = /home/share/samba
public = yes
writable = no
valid users = user
create mask = 0300
directory mask = 0300
force user = nobody
force group = nogroup
available = yes
browseable = yes
(3)搜索到security一项,修改如下
security = user
username map = /etc/samba/smbusers
八.定制Samba的用户
在终端中输入一下命令
$sudo useradd user #增加了一个叫做user的用户
$sudo smbpasswd user #修改user的对samba服务的密码,系统会提示输入密码
九.重新启动服务
保存并关闭配置文件,在终端中输入如下命令
$sudo testparm
重新启动服务
$sudo /etc/init.d/samba restart //(若没有此文件则重启系统也可)
十.使用服务
(1)在windows系统下使用
方法一:在IE地址栏中输入: \\你的IP 然后回车,可能要求你输入用户名和密码,就是第八步所设定的。
方法二:在网上邻居中新建邻居,在路径中输入: \\你的IP\Share 然后点击下一步完成,当然,还是可能会要求输入用户名和密码
(2)在Linux下访问
在终端中挂载文件系统
$sudo mount -t smbfs -o username=user,password=123456 //218.*.*.*/Share /mnt
其中,-t参数指示了文件系统的类型,username是用户名,password是密码,218.*.*.*是你的IP,Share你在配置文件中已经指明的段名,/mnt是你要挂载所到的文件夹,当然你可以自己修改
最新文章
- laravel5.2,注册服务提供者时无法生效
- 树莓派上Java程序作为linux服务并开机自动启动
- Linux下python安装升级详细步骤 | Python2 升级 Python3
- JavaScript学习笔记——数据类型强制转换和隐式转换
- T4自动生成数据库C#实体类学习(1)
- Python基础10 反过头来看看
- 让ie6也支持max-width,和max-height实现图片等比例缩放
- setbuf和freopen
- Delphi XE5 android 图解为Android应用制作签名
- 文成小盆友python-num9 socket编程
- ThinkPHP - 自动创建 + 自动验证 + 自动完成
- Akka(19): Stream:组合数据流,组合共用-Graph modular composition
- 显示mysql线程和kill线程的命令
- 如何将ubuntu控制台输出到串口?
- LeakCanary监测内存泄漏的原理
- c语言求最大公约数和最小公倍数(转)
- VMware Linux虚拟机与WIN7操作系统共享无线网络上网配置
- mongodb常用查询
- 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从
- QTextCodec 类
热门文章
- Maven部署异常:on project standalone-pom: Cannot deploy artifact from the local repository解决方法
- BZOJ 2194 快速傅立叶之二 ——FFT
- cf670E Correct Bracket Sequence Editor
- LA 3644 简单并查集
- KVM 存储虚拟化
- Kail命令
- android实现通知栏消息
- 大话Spark(3)-一图深入理解WordCount程序在Spark中的执行过程
- Ajax向前后台传递json和转换
- Word文档转Markdown插件(Windows)