Samba是在Linux系统上实现的SMB(Server Messages Block,信息服务块)协议的一款免费软件。它实现在局域网内共享文件和打印机,是一个客户机/服务器型协议。客户机通过SMB协议访问服务器上的共享文件系统。samba服务器的工作原理是:客户端向samba服务器发起请求访问共享目录,samba服务器接受请求后查询smb.conf(/etc/samba/smb.conf)文件,查看共享目录是否存在以及访问者的权限。如果访问者具有相应的权限,则允许客户端访问,并将访问过程中系统的信息以及采集的用户行为放在日志文件(/var/log/samba)中。

1 安装Samba服务

首先同步源的索引,保证获取到最新的软件包。

执行sudo apt-get update;

安装samba和samba-common

sudo apt-get install samba samba-common

 

2 创建共享目录

创建共享目录,该目录为 /work/samba_root目录。首先进入/work目录,然后创建samba_root目录。

更改用户对该目录的权限,设置为所有人都可读可写可执行。

sudo chmod 777 /work/samba_root

3 samba文件配置

samba配置文件是/etc/samba目录下的smb.conf文件,文件中纪录着大量的规则和共享信息,是samba非常核心的配置文件。

sudo vim /etc/samba/smb.conf

增加内容如下,首先在[global]下增加security项:

samba 编译 参数 samba linux_用户名

 

 

其次是在smb.conf文件的末尾添加如下配置信息并保存退出:

samba 编译 参数 samba linux_用户名_02

 

 

4 设置window系统登入共享文件夹的用户名和密码

设置window系统登入共享文件夹的用户名和密码,其中用户名必须为Ubuntu中的用户。本例子中使用用户tianpeng,在该过程中需要二次输入密码。

sudo smbpasswd -a tianpeng

输入两遍密码即可。

重新启动smb服务。

sudo service smbd restart

5 window下访问共享文件夹

在开始菜单或文件地址栏中输入服务器的ip地址,如下图所示,即可看到虚拟机共享的myshare目录

samba 编译 参数 samba linux_共享目录_03

 

 完成操作。

 

6 samba常用命令

(1)查看服务的状态:

service smbd status

查看samba服务的状态:

samba 编译 参数 samba linux_共享目录_04

 

 

(2)samba启动停止命令

首先找到samba服务器的路径可以通过下面路径进行查找

sudo find / -name smbd

samba 编译 参数 samba linux_服务器_05

 

启动

sudo /etc/init.d/smbd start

samba 编译 参数 samba linux_共享目录_06

停止

sudo /etc/init.d/smbd stop

 

samba 编译 参数 samba linux_samba 编译 参数_07

(3)重启

sudo /etc/init.d/smbd restart

 

samba 编译 参数 samba linux_用户名_08