RHEL6.3配置文件共享(4) Samba服务之二

在上篇博文中,咱们利用Samba实现了最简单的匿名共享,但在大多数状况下,咱们都但愿可以对访问共享文件的用户进行身份验证,并分配相应的权限。服务器

下面咱们就在以前配置好的共享目录/home/share的基础之上,进行进一步的设置,使之须要进行身份验证才能访问。ide

 

要进行身份验证,首先须要肯定验证时所使用的用户和密码。为了区别于Linux系统用户,一般将用于访问Samba共享的用户称为Samba用户。Samba用户必须依赖于系统用户,即要建立一个Samba用户,首先必须保证要有相应的系统用户存在,可是Samba用户的密码能够与系统用户的密码不相同。测试

下面咱们先建立一个名为smbuser的系统用户,而后再将其设置为Samba用户。blog

[root@localhost ~]# useradd smbuser
注意,因为建立这个系统用户的目的就是为了将其设置成Samba用户,因此强烈建议不要用passwd命令为其设置系统用户密码,以防止利用该用户登陆系统。也就是说,这个用户只能用来访问共享,而没法登陆系统。
接下来再将smbuser设置为Samba用户,这里就要用到smbpasswd命令。这个命令的做用就是对Samba用户进行管理,smbpasswd命令的主要选项:
 -h:显示smbpasswd命令的帮助信息
 -a:添加指定的Samba用户账号
 -d:禁用指定的用户账号
 -e:启用指定的用户账号
 -x:删除指定的用户账号
 不使用任何命令选项时能够用于修改Samba用户的密码
it

这其中最经常使用的是-a选项,用于添加Samba用户,在添加的同时,还要为用户设置Samba密码:table

Samba用户建立好了以后,接下来还要修改配置文件/etc/samba/smb.conf。class

这里只须要将【global】全局设置中的“security = share”改成“security = user”,即启用用户身份验证。
登录

 

重启服务以后,在客户端再次访问就须要输入用户名和密码了。基础

用户成功登陆以后,除了能看到设置好的共享目录share以外,还能看到本身的主目录,这就是配置文件中默认的[homes]项所起到的做用。bfc


smbuser对本身的主目录具备写入权限,咱们继续设置,让他对share目录也具备写入权限。

在Samba服务器上继续修改配置文件,在[share]小节中增长一项“writable = yes”,表示容许写入:

保存退出后,重启服务。而后到客户端测试,但很遗憾地发现,用户仍是没法写入。

这时由于咱们同时还必需要确保系统用户smbuser对共享目录/home/share/也要具备写入权限。咱们先来看一下这个目录的默认权限:

默认状况下,只有root用户才对其具备写入权限。为了确保全部的Samba用户都能对其写入,咱们将目录的权限开到最大:

这样在客户端再次测试,就可以成功写入了。


下面考虑这样一个问题:若是在Samba服务器中再添加一个名为smbadmin的Samba用户,而后在客户端用这个新添加的smbadmin用户访问共享,是否也可以写入呢?

答案是确定的,由于咱们在服务器中设置的是“writable = yes”,这样全部的Samba用户都将具备写入权限。

若是但愿对用户的权限进行区别设置,使smbuser用户只有读取权限,而smbadmin用户具备写入权限,这就须要对配置文件中的[share]小节作进一步的修改。

“writable = yes”表示全部用户都有写入权限,“write list”则指定了一个具备写入权限的用户列表,若是须要设置多个用户具备写入权限,则用户之间用逗号间隔。