实验环境:

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 服务开放端口
18 SAMBA 实现用户账户的映射
      1. 在配置文件中启动用户账户映射,编译安装的SAMBA 需要自己添加
 vi /usr/local/samba/lib/smb.conf
2. 创建smbusers 文件touch /usr/local/samba/lib/smbusers ,写入如下内容:将administrator 映射成root, guest 映射为nobdy 用户
3.       创建nobdoy SAMBA 用户(注意:所有的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
 
实例:[lcfin]
Comment = ALL Printers
Path = /home/cflin
Browseable = yes
Writable = yes
Public = no
Valid users = cflin( 用户)
Create mask = 0777
Directory mask = 0777