实验环境:

1.       操作系统:Centos5.2服务器IP地址192.168.6.130(静态-是当前环境而定)

2.       编辑器的版本:gcc –version (可以使用yum install gcc 直接安装)

3.       samba软件包的下载http://samba.org/samba/ftp/

 

实验要求:

1.       卸载Centos5.2系统上自带的samba

2.       将下载的SAMBA源代码包存在到/usr/local/samba(目录需创建)

3.       将下载的安装包解压tar –zxvf 或者 tar –jxvf samba-3.5.6.tar.gz

4.       解压后进入samba-3.5.6目录

5.       nohup ./configure –prefix=/usr/local/samba –with-smbmount &

6.       nohup: appending output to “nohup.out”

7.       make(源代码包编译)

8.       make install(安装编译成功后的二进制文件)

9.       cp ../examples/smb.conf.default /usr/local/samba/lib/smb.conf(复制示例的配置文件到安装目录的lib目录下)

10.   /usr/local/samba/sbin/smbd(启动进程)

11.   /usr/local/samba/sbin/nmbd(启动进程)

12.   netstat –lntp | grep smbd (查看SAMBA服务的两个进程端口的开放状态)

 

13.   netstat –lnup | grep nmbd(查看SAMBA服务的两个进程端口的开启状态)

 

14.   创建samba用户,在这里使用wangmin(注意此用户一定要在linux系统中存在的真实用户 useradd wangmin)用户创建 /usr/local/samba/bin/smbpasswd –a wangmin

15.   测试samba服务器是否工作正常,使用的账户是wangmin或者root用户,认证成功后可以看到自己的个人主目录(宿主目录)/usr/local/samba/bin/smbclient –L localhost –U root

 

16.   编辑 “~/.bash_profile”文件,增加samba服务器的环境变量,以后使用samba命令将不需要使用绝对路径,重新登录后生效。

  

 

 

17.   SAMB监听指定的网络端口

1.       编辑smb.conf配置文件,添加以下配置语句

2.       重启smbd守护进程,查看smbd服务开放端口

18SAMBA实现用户账户的映射

      1.在配置文件中启动用户账户映射,编译安装的SAMBA需要自己添加

  vi /usr/local/samba/lib/smb.conf

2.创建smbusers文件touch /usr/local/samba/lib/smbusers,写入如下内容:将administrator映射成root, guest映射为nobdy用户

3.       创建nobdoySAMBA用户(注意:所有的SAMBA用户都需要与LINUX系统中的用户形成映射)

 

4.       客户机登录测试

5.    关于映射nobody用户的问题,nobody用户的主目录是“/”。当SAMBA服务器允许用户访问宿主目录,nobody用户将可以通过samba浏览服务器的整个目录树,将产生重大安全隐患。强烈建议更改nobody用户的主目录,或者创建其他用户替代nobdoy作映射

 

 

细节:

定义组à 安全级别有1.share 2.user (建议:user :user级别时所有员工访问共享文件时需要输入用户名和密码)

1.       highvision文件共享全部所有的员工都可以读与写

          [highvision]

          path = /var/highvision

          public = yes

          writable = yes

      定义组à

1.       smbadmin文件对于所有员工只能读不能删和添加(组的形式出现)

chmod 755 /var/smbadmin/ (目录权限)

[smbadmin]

    path = /var/smbadmin

    public = yes

    read only = yes

guest ok = yes

      定义组-->

1.       smbroot文件对于所有员工只能读/写不能删和添加(组的形式出现)

[smbroot]

path = /var/smbroot

read only = no

guest ok = no

valid users = @ttt()—组里的所有人可以读

read list = 111(用户) 惟独111用户可以写

create mask = 0755 (文件创建掩码,自己可写其他人只读也不能删除)

在设置访问目录时一定要注意此目录的权限 chmod 777 ….

参数角落:

Smbclient –L 192.168.6.130 –N (可以查看系统共享的全部文件)

《如果级别是share 设置的权利对象最好已组的形式出现,把部门划分为所需要的组将其下的员广隶属于各组》

《如果级别是user 设置的权利对象最好是用个人户,权利设置更加方便》

参考书:313~333