天天看点

学习笔记----linux smb 小实验

                                                 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

              [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

继续阅读