SAMBA SERVER 的搭建


安装及测试环境ubuntu10.04 / windows 7

Note:

在windows7中可能无法正常访问共享的文件夹,需要修改本地安全策略,步骤如下:

开始-运行-输入:secpol.msc-打开本地安全策略,依次打开“本地策略”-“安全选项”找到“网络安全:LAN管理器身份验证级别”,双击,将选项的值改为“发送LM和NTLM-如果已协商,则使用NTLMv2会话安全”,最后确定重新登陆共享文件夹即可。

 

1.       首先安装samba

sudo apt-get install samba smbfs

2.       创建一个文件夹用来共享文件,例如在home目录下创建share文件夹

Sudo mkdir /home/share

3.       更改该文件夹权限为可写可读可执行

注意:此处给予最大权限是便于ununtu在该文件夹中进行添加文件等操作,samba远程登录用户的权限将在后面的步骤中设定

sudo chmod 777 /home/share

4.       编辑samba配置文件/etc/samba/smb.conf

a.       首先,备份配置文件

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup

b.       开始编辑配置文件

sudo gedit /etc/samba/smb.conf

首先查找到#security = user这一行,然后用下面两行取代

security=user

username map=/etc/samba/smbusers

然后查找到[global] 在workgroup = WORKGROUP 后面加入如下几行代码,目的是为防止出现中文目录乱码。

display charset = UTF-8

unix charset = UTF-8

dos charset = cp936

接着跳转到配置文件的最后一行,将下面几行代码增加到文件最后面。假设允许访问的用户为new,而共享的文件夹为/home/share

[share]

comment = Shared Folder with username and password

path = /home/share

public = yes

writable = yes

valid users = new

create mask = 0700

directory mask = 0700

force user = nobody

force group = nogroup

available = yes

browseable = yes

保存并退出。

5.       为系统增加用户new

注意:此处只是增加了new这个用户,但是并没有给用户赋予登陆本机的密码,所以这个用户只能从远程访问,不能从本机登陆。如果要为new用户增加本机访问权限运行sudo passwd new为其设置登录密码即可。

sudo useradd new

6.       新增网络使用者账号并设定密码。

注意:此处设置的samba登陆密码与本机的登录密码无关,可以相同也可以不同。例如:1234

sudo smbpasswd –a new

7.       编辑文件etc/samba/smbusers

sudo gedit /etc/samba/smbusers

在文件中加入下面一行并保存

new = “user_1”                        #win7端使用该用户名登陆,以达到隐藏Linux用户的目的

8.       测试并启动samba

sudotestparm

[press ENTER]

sudo service smbd restart

sudo service nmbd restart

到此,配置结束。

测试:

在共享的文件夹中新增任意一个文件,在terminal中输入ifconfig记录下当前ubuntu的ip地址,例如:192.168.0.6。

在windows7系统中。按键win+R输入服务器的IP地址//192.168.0.6

此时可以看到共享的文件夹share双击,输入预先设定好的用户名和密码:user_1和1234

此时即可以看到share文件夹中所共享的文件了。

 

         nfs和samba的优势和劣势对比

NFS(网络文件系统)是TCP/IP协议集提供的一种子协议,用于实现LINUX/UNIX主机之间的文件共享。优点是更简洁方便,原生,兼容性更好

Samba是一种基于LINUX/UNIX平台中利用SMB(服务信息块)协议,实现LINUX/UNIX与MS主机之间的文件及打印共享。优点是和windows集成,可以使用windows域

 

         实现一个组的用户对特定文件夹的访问

通过编辑etc/samba/smbusers文件(该文件保存的是Linux系统账户与samba服务器账户的映射关系)可以为Linux系统账户创建访问samba服务器的虚拟账户(通常是对应Windows系统的多个账户),使他们之间建立映射关系,而且是一个Linux账户可以映射多个samba账户,即可以理解成这些账户组成一个用户组,组内的用户可以实现对特定的共享文件夹的访问。

建立映射关系的格式为:

Linux系统账户 = samba服务器账户_1 samba服务器账户_2 …

例如:将Linux系统账户new映射成samba账户user_group1_1和user_group1_2

new = user_group1_1 user_group1_2

 

根据以上原理,在上面测试内容的基础上新增用户组功能,使得每个用户组的用户只能访问特定的共享文件夹

1.         新增账户old

sudo useradd old

2.         设定其登陆samba服务器的密码。例如:输入4321

sudo smbpasswd –a new

3.         新建old账户所能访问的共享文件夹/home/share1

sudo mkdir /home/share1

4.         打开配置文件/etc/samba/smb.conf

sudo gedit /etc/samba/smb.conf

将以下代码添加至文件尾

[share1]

comment = Shared Folder with username and password

path = /home/share1

public = yes

writable = yes

valid users = old

create mask = 0700

directory mask = 0700

force user = nobody

force group = nogroup

available = yes

browseable = yes

5.         编辑文件etc/samba/smbusers

sudo gedit /etc/samba/smbusers

将文件的内容更改为以下代码并保存退出

new = user_group1_1 user_group1_2

old = user_group2_1 user_group2_2

6.         测试运行

sudotestparm

[press ENTER]

sudo service smbd restart

sudo service nmbd restart

通过以上修改可以实现group1(包括user_group1_1和user_group1_2两个samba账户)可以对home/share文件夹的内容进行访问。而group2(包括user_group1_1和user_group1_2两个samba账户)可以对home/share1文件夹内容进行访问。group1中所有账户的密码是1234,group2中所有账户的密码是4321.

 

         不同访问权限的实现

下面通过编辑set/samba/smb.conf文件,实现账户new和old对相同文件夹的不同访问权限。

例如:共享文件夹为home/share,new对其可读可写,old对其只读。

在为系统添加new和old用户并分别设定密码之后,将set/samba/smb.conf文件尾修改为如下代码

[share]

comment = Shared Folder with username and password

path = /home/share

public = no

write list = @new

valid users = @new @old

create mask = 0700

directory mask = 0700

force user = nobody

force group = nogroup

available = yes

browseable = yes

此时即可实现账户new和old对相同文件夹的不同访问权限。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值