服务端:Linux CostOS 6.5 ,IP:192.168.1.201 客户端:windows7 64位,IP:192.168.1.120 说明:配置此服务用于加强对samba服务的理解,并对用到的smb.conf配置参数做简要的注释,其他没有用到的smb.conf配置参数见我博客的samba配置参数详解

一、题目

(1)在此服务器中安装配置Samba服务,创建三个用户m1,m2,m3。分别建立共享m1,m2,m3,public,本地目录分别为/opt/a1、/opt/a2、/opt/a3、/opt/public;

(2)默认以匿名访问,可以对public有读权限。进入其它文件夹时需要对其身份认证;

(3)其中,m1用户属于manager组,对m1、m2、m3共享有读写权限。m2,m3为同一项目组m2的成员,可以互相对彼此文件有读的权限。/opt/a1的共享只有manager组用户可以访问;

(4)将目录/var/www/liun.net共享,共享名为linu.net,配置当系统启动时自动启动Samba服务;

二、过程配置

  1. 用yum安装samba服务
yum install samba
  1. 创建manager和m2用户组
groupadd manager
groupadd m2 
  1. 创建用户并加入用户组manager和m2
useradd m1 –G manager
useradd m2 –g m2
useradd m3 –g m2
  1. 创建samba共享目录
mkdir -p /opt/{a1,a2,a3,public}
mkdir /var/www/linu.net
  1. 创建samba账号和密码
smbpasswd -a m1
passwd:123
smbpasswd -a m2
passwd:123
smbpasswd -a m3
passwd:123
  1. 编写smb.conf配置文件
vim /etc/samba/smb.conf
------------------------------Standalone server Options---------------------------------
security = share    #安全级别:share和user,如果设置share使用认证登录不了,请改为user
------------------------------Share Definitions---------------------------------------------
[public]      #共享目录名称为public
comment = Public directory     #共享信息描述
path = /opt/public     #共享目录的路径
public = yes     #关闭“所有人可见”
writable = no      #不允许在此共享目录中写入数据
browseable = yes       #指定的共享信息是否在“网上邻居”中可见
[m1]
comment = The M1 directory needs password access
path = /opt/a1
writable = yes
browseable = yes
valid users = @manager      #只允许@manager用户组的成员访问该共享
[m2]
comment = The M1 directory needs password access
path = /opt/a2
public = no
valid users = @m2,@manager
write list = @manager       #只允许@manager用户组的成员在该共享中写入数据
[m3]
comment = The M1 directory needs password access
path = /opt/a3
public = no
valid users = @m2,@manager
writable = no
write list = @manager
[linu.net]
comment = linu.net
path = /var/www/linu.net
public = no
valid users = @m2,@manager
writable = yes
vrite list = @m2,@manager
-----------------------------------------------------------------------------------------------
  1. 清空iptables防火墙
iptables -F
service iptables save
  1. 关闭SELinux域
setenface 0     #临时关闭,如果要永久关闭,请修改SELinux的配置文件
  1. 设置共享目录权限
chmod 777 /opt/a1
chmod 777 /opt/a2
chmod 777 /opt/a3
chmod 777 /opt/public
chmod 777 /var/www/linu.net
  1. 重启和开机自启动smb和nmb服务
service smb restart
service nmb restart
chkconfig smb on
chkconfig nmb on

三、# 使用客户机进行测试

四、注意: 在安装配置linux服务器samba服务之初,samba服务难免会经过多次修改配置或重启,在此期间windows系统或许已经连接上samba,samba修改配置后,特别是用户权限,再次从windows登录就很容易出现因缓存的权限原因导致不允许访问或者操作。这时一般要等很久才会清理缓存,另外重启windows也会进行缓存清理。但这效率很低,用以下手动的方法可以实时清理。 1. 打开windows命令行。 2. 输入net use,就会显示出当前缓存的连接上列表。 3. 根据列表,一个个删除连接: net use 远程连接名称 /del;或者一次性全部删除:net use * /del。 4. 这样再次命令行输入samba服务地址的时候,就会重新让你输入访问的账户和密码了。