一、基于用户名的访问控制实例:
王乾大哥写的比较详细了,我是跟着他的教程学习的,按照他的教程走一边;
要求如下:
1、创建一个公共的交换文件夹,所有人都可以写入删除,但不能删除修改其他人的文件
2、创建一个只有销售部专用的文件夹所有人都可以访问但只有销售部的可以写入;
首先建立两个目录,一个是公共交换目录,一个是销售部的目录,公共交换目录都可以写入,所以权限要777,但是都可以写入的话,就可以删除别人的文件,所以我们要加个冒险位,限制只有root和文件所有者才能删除;
[root@dns sale]# testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[yumback]"
Unknown parameter encountered: "printables"
Ignoring unknown parameter "printables"
Processing section "[ownpublic]"
Processing section "[sale]"
Loaded services file OK.
第六步:测试效果
1)、 测试xianlin这个用户在ownpublic、sale目录中都能写;
2)、测试smbpublic用户,在ownpublic目录中可以写入,但是在sale目录中不能做写入操作;
3)、sampublic用户只能删除自己或修改自己所建立的文件,而不能修改或删除别人的文件提示写保护信息;
二、设置samba密码文件
当设置了user的安全等级后,将由本地系统对访问samba共享资源的用户进行认证,要进行认证,需要一个samba的口令文件,该文件由smb passwd file 参数指定,默认为/etc/samba/smbpasswd,初始情况这个文件是不存在的。
注意:
1)、使用smbpasswd命令修改用户口令时,被修改的samba账户的本地系统帐号必须事先存在;
2)、使用带-a 参数的smbpasswd命令添加单个的samba帐号并设置口令,且要求被添加的samba账户的本地系统用户帐号必须已经事先存在。
3)、若被添加的samba账户的本地系统账户不存在,应该使用useradd命令进行添加;
三、使用smbclient
samba提供一个类似ftp客户程序samba客户程序smbclient,用以访问windows共享或Linux提供的samba共享。
格式:
1)、smbclient -L netbios名或Ip地址 //用于列表显示指定主机提供的共享。
[root@dns ~]# smbclient -L 192.168.0.25
Password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.33-3.14.el5]
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server Version 3.0.33-3.14.el5)
sale Disk sale's file
ownpublic Disk public file
yumback Disk yumback
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.33-3.14.el5]
Server Comment
--------- -------
DNS Samba Server Version 3.0.33-3.14.el5
Workgroup Master
--------- -------
MYGROUP DNS
WORKGROUP SERVER
2)、smbclient //netbios名或IP地址/共享名 -U 用户名 //用指定的账户访问指定主机的共享资源;
[root@dns ~]# smbclient //192.168.0.25/yumback -U xianlin
Password:
Domain=[DNS] OS=[Unix] Server=[Samba 3.0.33-3.14.el5]
smb: \> ls
. D 0 Fri Aug 13 14:36:48 2010
.. D 0 Fri Aug 13 15:43:02 2010
ClusterStorage D 0 Tue Jun 22 13:22:45 2010
Server D 0 Tue Jun 22 13:21:34 2010
VT D 0 Tue Jun 22 13:21:52 2010
Cluster D 0 Tue Jun 22 13:22:25 2010
加载WIN2003的共享
[root@mysqlndb02 ~]# smbclient //192.168.0.33/sucaipan -U administrator
Password:
Domain=[SERVER] OS=[Windows Server 2003 R2 3790 Service Pack 2] Server=[Windows Server 2003 R2 5.2]
smb: \> ls
001-1.合成篇 D 0 Thu Apr 26 11:54:46 2007
003-1.合成篇 D 0 Thu Apr 26 11:34:48 2007
005-1.合成篇 D 0 Thu Apr 26 12:07:49 2007
006-1.合成篇 D 0 Thu Apr 26 12:00:18 2007
007-1.合成篇 D 0 Sat Apr 28 08:45:26 2007
008-1.合成篇 D 0 Sat Apr 28 09:15:00 2007
009-1.合成篇 D 0 Sat Apr 28 09:00:48 2007