linux smb 小实验
 一、     某企业需要用linux的samba来实现文件服务器,具体要求如下:
 
    (1)samba服务器工作组为workgruop,netbios 名为linux ,要求对方访问者进行身份验证。
   (2)为了每个员工在文件服务器上创建帐户,且共享每个员工的个人主目录,该共享只为用户自己开放。
   (3)共享/share/pub目录,主要用于员工下载资源,该共享允许所有员工只读访问。
   (4)共享/share/exchange目录,主要用于员工上传资源,并与其他员工分享。该共享允许所有员工读写访问,但每个员工只读删除自己上传的资料。
   (5)共享/share/report目录,主要用于财务部共享报表,该共享只读财务部员工只读访问,其中财务主管读写访问。
            安装samba 软件
                  #rpm -ivh samba....  samba-common    samba-client-........
 
配置如下:
       #mkdir /share
       #mkdir /share/pub /share/exchange /share/report
       #vi /etc/samba/smb.conf
              workgroup = workgroup
              netbios name = linux
              security = user
              encrypt passwords = yes
              、、、、、、、、
             
              [pub]
              comment=linux's pub
              path=/share/pub
              public = yes
              read only = yes
 
              [exchange]
              comment = linux's exchange
              path=/share/exchange
              writable = yes
              public = yes
 
              [report]
               comment = linux's report
               path = /share/report
               public = no
               valid users = @cw
               writable = wen
保存退出配置文件
 
共享/share/exchange目录,要求每个员工只读删除自己上传的资料。我们知道在smb配置文件中是无法做到的,但是,目录访问权限的粘着位是完全可以做到的。我们知道smb配置文件和目录访问两者取其最严格的部分。
              #chmod 1777 /share/exchange
手动启动
              #service  smb restart
自动启动
              #ntsysv --level 345(rhel 9)
在企业版5、centos linux默认启用了selinux,selinux做大量的限制,将影响服务的使用,可停用,方法如下:
         #vi /etc/selinux/config
               ...............
             SELINUX =disable
              .................
         #reboot
 
二、samba配置文件的选项
(1)/etc/samba/smb.conf 的一些常用选项
         ——workgroup                                 设置工作组名
         ——server string = 字符串             设置服务器的描述信息
         ——netbios name = 字符串            设置服务器的NETBIOS名
         ——security = share / user /server
            设置服务器的安全级别,share 表示共享级访问,user 表示需要用户验证,server 表示需要用户认证,但是由另一台服务器进行验证。
         ——encrypt passwords = yes / no  设置是否加密口令
         ——passwrod server = ip 地址        设置口令服务器的位置,当security = server 时才有效
        ——smb passwd file = 路径               设置用户口令文件的位置
        ——hosts allow = ip地址 /ip 地址开头部分  
               设置拒绝访问samba的客户机列表
        ——load printers = yes /no                 设置samba是否自动加载打印机
        ——printing = cups / aix /bsd /lpr /... 设置打印机管理模式
        ——printcap name = 路径                   设置打印队列存放位置
        ——log file = 文件路径                       设置日志文件的位置
        ——socket address = ip 地址             设置samba监听的IP地址
        ——admin user = 用户名                     设置samba 服务的启动帐户
        ——getwd cache = yes /no                 设置samba服务是否启用文件缓存
        ——wins support = yes /no                设置samba是否支持wins 解析功能
        ——wins server =  ip 地址                  设置wins服务器地址
(2)共享定义(samba服务默认共享用户主目录与打印机)
        ——comment = 字符串                       设置共享资源的描述信息
        ——path = 路径                                    设置共享路径
        ——public = yes /no                            设置资源共享是否允许所有用户访问(除来宾帐户外)
        ——guest ok = yes /no                        设置是否允许来宾用户访问共享
        ——read only = yes /no                       设置共享是否为只读共享
        ——writable = yes /no                          设置共享是否为读写共享
        ——valid users = 用户名(@组名)设置允许访问共享的用户列表和组
        ——invalid users = 用户名(@组名)设置拒绝访问共享的用户列表和组
        ——read list = 用户名......                    设置只读访问的用户列表
        ——write list = 用户名......                   设置读写访问的用户列表
        ——directory mask = 权限值              设置新建目录的默认权限
        ——create mask =权限值                    设置新建文件的默认权限
        ——printable = yes /no                        设置是否允许打印
        ——browseable =yes /no                    设置是否允许浏览共享目录内容
        ——root preexec = 命令路径              设置客户机连接共享时自动执行指定的命令
        ——root postexec = 命令路径            设置客户机断开共享时自动执行指定的命令
注:root preexec和root postexec 可以实现共享光驱效果,配置文件修改完成后,可用testparm 命令检查配置文件的语法问题。
 
三、samba客户端工具
        1、sambaclient
             作用:查看其他主机的共享资源或连接其他主机共享资源共享
             实例:——查看192.168.2.5主机上有哪些共享
                   #smbclient -L 192.168.2.5 -Uadministrator
              ——连接192.168.2.5主机上的tc共享
                  #smbclient //192.168.2.5/tc -Uadministrator
                  smb:\>
         2、smbmount
                作用:加载远程共享目录到本机上
                实例  :——加载192.168.2.5主机上的共享目录tc到本机的/abc下
                    #smbmount //192.168.2.5/tc /abc -ousername=administrator