Samba的配置与使用
在做Linux开发时,常常需要共享不同电脑上的文件,包括Linux与windows之间的文件共享,Linux与Linux之间的文件共享,而使用Samba则可以轻松地完成上述工作。
1.Samba简介
Samba是一组开源应用软件包,它可以实现windows与linux/UNIX之间或 Linux/UNIX与linux/UNIX之间的文件共享。
Samba服务有两个核心守护进程-smbd和nmbd,当启动Samba服务时,这两个进程会一起启动,smbd进程临听TCP的139和445端口,nmbd进程临听UDP的137和138号端口,其中smbd进程主要处理到来的smb数据包,使Linux系统用户能够访问到Windows或UNIX系统中的共享资源,nmbd进程使Windows或UNIX用户能够浏览到Linux服务器,也就是如果关闭了nmbd进程,Windows用户无法通过“网上邻居”查看到Linux系统的Samba服务器。
2.Samba的下载与安装
本人使用Ubuntu操作系统,在该环境下下载安装samba很容易,只需一条命令:
[email protected]:~$sudo apt-get install samba
3.实现的功能
简单的配置samba就可以实现网络上不同的电脑对装有samba服务器上的共享文件的读取,但出于安全及工作需求,往往需要对服务器上的共享文件夹设有不同的权限,使得不同的用户操作相应的文件夹。
假设有三组用户A,B,C需要对Linux服务器上的共享文件进行访问。服务器上的共享文件夹分别为A,B,C,AB,AC,BC,share。
其中share为所有用户都可以读写的文件夹。
A:只能A组用户可以读写
B:只能B组用户可以读写
C:只能C组用户可以读写
AB:A组用户和B组用户可以读写
AC:A组用户和C组用户可以读写
BC:B组用户和C组用户可以读写
4.Samba配置
安装好Samba后,更改smb.conf文件以实现相应功能
[email protected]:~$sudo vim /etc/samba/smb.conf
1)在“Authentication”选项中加入如下语句:
Security = user
Username = /etc/samba/smbusers
如下图所示:
2)在global中加入如下语句:
Valid users = @A,@B,@C,@sun
Admin users = sun
Write list = @A,@B,@C,@sun
如下图所示:
3)最后,在smb.conf文件最后加入共享文件信息,如下图所示:
上述语句分别实现了A组用户、B组用户、C组用户分别对文件夹A,B,C的独享。
再加入如下语句:
这样就可以实现A组B组用户对AB文件夹的共享,B组C组户对BC文件夹的共享,A组和C组用户对AC文件夹的共享。
最实实现所有用户对同一文件夹的共享,如下图所示:
5.加入Samba用户名
在终端输入:
[email protected]:~$smbpasswd -a a1
[email protected]:~$smbpasswd -a a2
[email protected]:~$sumbpasswd -a b1
…………...
上述命令是建立Samba用户
6.加入用户名文件
[email protected]:~$sudo vim /etc/samba/smbusers
<username> = “<a1>”
<username> = “<a2>”
<username> = “<a3>”
<username> = “<b1>”
<username> = “<b2>”
...................
7.重起Samba
[email protected]:~$sudo /etc/init.d/smbd restart
访问SAMBA
8.在windows下访问Samba
点击“开始”,点击“开始”中的运行,在其中输入:
\\192.168.1.100
这样就可以访问linux上的共享文件夹了。
9.在linux下使用图形界面访问Samba
打开任意一个文件夹,在菜单看选择“转到”->”位置”。在出现的文本框中输入:
smb://192.168.1.100
则可出现如下图所示对话框:
输入用户名和密码就可以了
10.在linux下使用命令行访问:
在命令行中输入:
[email protected]:~$smbclient //192.168.1.100/A -U a1
则出现:
smb:\>
1)使用命令ls 可查看内容:
smb:\>ls
2)使用quit可以退出:
smb:\>quit
3)上传、下载文件
smb:\>mget hello.c
Smb:\>mput hello.c
4)挂载共享目录
[email protected]:~$smbmount //192.168.1.100/share /mnt -0 username= a1,passwd = 123
以上就是Samba使用的主要内容
转载于:https://blog.51cto.com/phoenix2000/911536