程序员人生 网站导航

Samba的配置问题

栏目:互联网时间:2014-09-29 08:00:00

一、Samba安装步骤

1、安装有关Samba的RPM包(samba、samba-common、samba-client)
2、创建Samba用户
3、修改配置文件
4、重启samba服务
5、设置目录访问权限
6、测试

1、准备工作

我系统是Linux发行版Fedroa 19,内核版本是3.14.17-100.fc19.x86_64。
首先使用rmp -qa | grep smb*查看系统是否已经安装了次软件。

我机器上已经安装。需要安装的软件包主要是
samba -----samba服务器程序的所有文件
samba-common -----提供了Samba服务器和客户机中都必须使用的公共文件
samba-client -----提供了Samba客户机的所有文件
我使用的安装命令是yum -install samba*然后全部都安装好了,也可以使用rmp命令安装。
debian系列的是使用apt -install
再次基础上,由于samba还要依赖nmb服务器,所以yum -install nmb。

2、其它准备

上面准备了安装包,并且已经安装,这是我们要查看/etc/services配置中是不是已经将137、138、139端口是否已经有了,如下:

如果已经有了,则接下来的工作是创建samba用户:

[root@localhost ~]#smbpasswd -a samba (“-a”是创建samba用户,“-x”是删除samba用户,
[root@localhost ~]#smbpasswd -a user2 “-d”是禁用samba用
[root@localhost ~]#smbpasswd -a user3 户帐号,“-e”是启用samba用户帐号)
创建好用户之后就是修改配置文件/etc/samba/smb.conf

Samba服务器的安全级别分为5种,分别是user、share、server、domain和ads。在设置不同的级别时,samba服务器还会使用口令服务器和加密口令。
1、user -----客户端访问服务器时需要输入用户名和密码,通过验证后,才能使用服务器的共享资源。此级别使用加密的方式传送密码。
2、share -----客户端连接服务器时不需要输入用户名和密码
3、server -----客户端在访问时同样需要输入用户名和密码,但是,密码验证需要密码验证服务器来负责。
4、domain -----采用域控制器对用户进行身份验证
5、ads -----若samba服务器加入到Windows活动目录中,则使用ads安全级别,ads安全级别也必须指定口令服务器

[homes] -----samba用户的宿主目录
comment = Home Directories -----设置共享的说明信息
browseable = no -----目录浏览权限
writable = yes -----用户对共享目录可写
这个共享目录只有用户本身可以使用,默认情况下,用户主目录位于/home目录下,每个Linux用户有一个以用户名命名的子目录。
以下是共享打印机的设置:
[printers] -----共享打印机
comment = All Printers -----设置共享的说明信息
path = /var/spool/samba -----指定共享目录的路径
browseable = no -----目录浏览权限
guest ok = no -----允许来宾访问
writable = no -----用户对共享目录可写
printable = yes -----可以打印
以上是系统默认设置
添加自定义的共享目录:( user1对/ASUS有所有权,user2拥有只读权限,其他用户不能访问;public共享目录允许所有用户访问及上传文件)
[ASUS]
comment = user1 Directories -----设置共享的说明信息
browseable = yes -----所有samba用户都可以看到该目录
writable = yes -----用户对共享目录可写
path = /ASUS -----指定共享目录的路径
[public]
comment = all user Directories -----设置共享的说明信息
browseable = yes -----所有samba用户都可以看到该目录
writable = yes -----用户对共享目录可写
path = /public -----指定共享目录的路径
guest ok = yes -----允许来宾访问
全部准备好之后,就准备重新加载服务器,使用service smart restart和service nmb restart,将服务器重启。
在对应的位置一定要创建好自己的文件夹,我使用的/home/Directory和/home/ShareDirectory。

二、测试

首先测试的是配置文件是否是正确的,使用testparm进行;

发现正确,这时我们继续使用smbclient来进行测试,smbclient -L127.0.0.1 -U samba进行测试。

这时也是可以的,最后我们就使用Windows来进行测试。

三、Windows测试

这时我们我们已经可以看到我们的文件了,如果没有发现,则很有可能是你Linux系统的防火墙将服务器的端口给屏蔽了使用iptables -F查看,但是当我们打开其中的asus的时候,问题来了。

这时居然不能打开,这是因为我们的文件夹的权限不对,即使是你的设置的Directory的权限是777,但是如果你上层文件夹将你的权限限制之后你同样不能打开,比如/home的权限是700,而home文件夹下的Directory是777,这时你还是不能打开,这时我们要用chmod 777 /home才行。

已经进入,但是如果你这时想创建一个文件,是不行的,这是会告诉你没有权限进行这项工作。

这时为什么还是不对呢,那时因为我们系统的seLinux的设置不对,这时就是这个设置给我挡住了去路,所以我们要设置一下。
setenforce 0 设置SELinux 成为permissive模式,开始我们系统是setenforce 1 设置SELinux 成为enforcing模式

这时已经可以放东西了。

大功告成,真的是不容易啊!这个也是让我操作了好久才配置出来的,希望这个对大家有用。

reference:http://yangxuejun.blog.51cto.com/623927/180224
                   http://blog.csdn.net/jiusifeng/article/details/7413377


------分隔线----------------------------
------分隔线----------------------------

最新技术推荐