Linux搭建Samba的详细步骤

来源:爱站网时间:2022-11-01编辑:网友分享
爱站技术频道小编带来了一篇Linux搭建Samba的详细步骤内容给大家参考,方便朋友们在工作中遇到这种问题能及时处理,以下就是文章知识点,来看一看吧!

   本来使用samba没有太大的要求,就是方便Windows下能共享Linux下的代码,好利用sourceinsight来编辑源代码,在Linux编译。可前不久发现自己的共享目录里多了好多东西,查看log文件才知道好多人在我的共享目录里进进出出。“公共厕所嚒,想进就进,想出就出”,于是,不得不研究一下samba的权限管理,让共享即方便自己,也安全自己。
  
   之前我是把每个目录允许guest访问,并将guest设置成我的Linux登陆用户,并开启可写,因为我要在Windows下对Linux下的文件进行编辑,这样一来,共享目录权限完全开启,十分危险。
  
   以下是一个Linux下samba服务器的搭建实例,对理解samba的配置有很好的帮助。做点补充:
   1.介绍的方法主要是命令行设置和对samba脚本进行配置,一些图形化的软件也可以实现类似功能。
   2.测试smb.conf的命令为testparm
   3.设置读写权限的一个简便方法是在每个目录配置中添加write list 和read list,如:
[home]
    path =/home
    comment = ....
    write list = user1
    read list = user1 user2
当然前提是要有user1,user2
   4.linux中用smbclient登陆和windows中输入路径\\ip\path来登录有些不一样,我在这里绕了好久。windows中好像一次登录后就记录了用户名和密码,好像就不能改了,除非关机重启(这个现象我也不明白为什么,希望大牛们能指点一二),
   比如:有两个共享目录dir1,dir2.而dir1设置成只允许user1登录,dir2只允许user2登录;我现在用user1来登录dir1,再登陆dir2就不成功了,重启用user2登录dir2可以,再登陆dir1就不行了,不知能否是一个bug还是可以设置? 

   5.smbclient,smbtree,smbstatus等一些小工具也是挺好用的,哈哈。
   6.还有很多具体的设置可以man,默认的conf里都有注释的,也很值得一看,当然,中文的资料网上也很多很全。

好了,下面就是网上的一个使用实例。

linux我们今天要实现的环境是,假如公司有财务,技术,领导3个部门,我们分别为3个部门建立3个用户组为caiwu,network,lingdao;

三个部门里各有2个用户,我们建用户分别为caiwu01,caiwu02,network01,network02,lingdao01,lingdao02

然后我们分别就公司的具体情况建立相应的目录及访问权限,通过以下的例子,希望大家能在平时的工作中灵活的应用samba的安全权限来设置你们的samba文件服务器。

1、首先服务器采用用户验证的方式,每个用户可以访问自己的宿主目录,并且只有该用户能访问宿主目录,并具有完全的权限,而其他人不能看到你的宿主目录。

2、建立一个caiwu的文件夹,希望caiwu组和lingdao组的人能看到,network02也可以访问,但只有caiwu01有写的权限。

3、建立一个lindao的目录,只有领导组的人可以访问并读写,还有network02也可以访问,但外人看不到那个目录

4、建立一个文件交换目录exchange,所有人都能读写,包括guest用户,但每个人不能删除别人的文件。

5、建立一个公共的只读文件夹public,所有人只读这个文件夹的内容。

好,我们先来前期的工作

建立3个组:

#groupadd caiwu

#groupadd network

#groupadd lingdao

添加用户并加入相关的组当中:

#useradd caiwu01 -g caiwu

#useradd caiwu02 -g caiwu

#useradd network01 -g network

#useradd network02 -g network

#useradd lingdao01 -g lingdao

#useradd lingdao02 -g lingdao

然后我们使用smbpasswd -a caiwu01的命令为6个帐户分别添加到samba用户中

#mkdir /home/samba

#mkdir /home/samba/caiwu

#mkdir /home/samba/lingdao

#mkdir /home/samba/exchange

#mkdir /home/samba/public

linux

我们为了避免麻烦可以在这里把上面所有的文件夹的权限都设置成777,我们通过samba灵活的权限管理来设置上面的5点要求。

以下是我的smb.conf的配置文件

[global]

workgroup = bmit

#我的网络工作组

server string = Frank's Samba File Server

#我的服务器名描述

security = user

#使用用户验证机制

encrypt passwords = yes

smb passwd file = /etc/samba/smbpasswd

#使用加密密码机制,在win95和winnt使用的是明文

其他的基本上可以按照默认的来。

[homes]

comment = Home Directories

browseable = no

writable = yes

valid users = %S

create mode = 0664

directory mode = 0775

#homes段满足第1条件

[caiwu]

comment = caiwu

path = /home/samba/caiwu

public = no

valid users = @caiwu,@lingdao,network02

write list = caiwu01

printable = no

#caiwu段满足我们的第2要求

[lingdao]

comment = lingdao

path = /home/samba/lingdao

public = no

browseable = no

valid users = @lingdao,network02

printable = no

#lingdao段能满足我们的第3要求

[exchage]

comment = Exchange File Directory

path = /home/samba/exchange

public = yes

writable = yes
#exchange段基本能满足我们的第4要求,但不能满足每个人不能删除别人的文件这个条件,即使里设置了mask也是没用,其实这个条件只要unix设置一个粘着位就行

chmod -R 1777 /home/samba/exchange

linux

注意这里权限是1777,类似的系统目录/tmp也具有相同的权限,这个权限能实现每个人能自由写文件,但不能删除别人的文件这个要求

[public]

comment = Read Only Public

path = /home/samba/public

public = yes

read only = yes

#这个public段能满足我们的第5要求。

到此为止我们的设置已经能实现我们的共享文件要求,记得重启服务哦

#/etc/rc.d/init.d/smb restart

如果大家没有winodws,不妨先用samba的cilent端命令来测试一下

命令的用法我在这里只举几个例子,具体的大家去试验

smbclient -L 服务器ip -N

guest帐户查询你的服务器的samba共享情况,你可以检验一下是否lingdao目录时候能被guest帐户看到,应该是看不到的,当然你也可以以某个用户的名义查看

smbclient -L 服务器ip -U caiwu01

系统会提示密码,只要输入smb密码就行。

smbclient //服务器ip/caiwu -U caiwu01

#以caiwu01用户的名义登录caiwu目录

smbmount //服务器ip/caiwu /mnt/caiwu -o username=caiwu01

#把服务器的财务目录映射到本地的/mnt/caiwu目录。

linux

Linux搭建Samba的详细步骤内容还有朋友不明白的吗?如果不太熟悉,可以多看几遍加深下记忆,也可以选择来爱站技术频道官网给小编留言咨询。

上一篇:Linux服务器命令大全总结

下一篇:关于Hadoop性能调优的总结

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载