2-4-RHEL6.3搭建samba服务器案例分析与总结(Red Hat Enterprise Linux Server6.3)@树袋飘零…

本节介绍内容:

1、  samba概述

2、  samba服务器的搭建

3、  samba服务主配置文件的详解

4、  samba服务器搭建案例分析

 

1、  samba概述

sambalinux以及UNIXwindows完美交互的工具。我们首先来说下samba的由来,那要先从SMB说起。SMB即(Server Message Block )服务器消息块,SMB主要是Microsoft的网络通讯协议,后来应用在了linux上,形成了samba,这是一个能让linux系统应用Microsoft网络通讯协议的软件,它最先在linuxwindows平台之间搭建了一座桥梁,提供文件共享和打印服务,其server软件包提供smbd守护进程和nmbd守护进程,其中smbd默认监听端口是TCP协议的139445nmd服务默认使用的是UDP协议的137端口和138端口。组成的smbd这个进程主要是用来为客户端提供共享和打印服务的而nmbd守护进程则是提供NETBIOS名称服务,为CIFSCommon Internet File System)公共internet文件系统协议提供共享访问环境,CIFS是微软改SMB后的名字,这就要求如果用windows访问samba服务器的话,windows环境要安装NetBIOS协议。

注意:搭建samba服务器之前要关闭SELINUXiptables,之前也提到过,是因为这两个默认会阻止对服务的访问。

 

2、  samba服务器的搭建

本机简介

[root@PAN-Server~]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 6.5 (Santiago)

[root@PAN-Server ~]#hostname

PAN-Server.com

[root@PAN-Server~]# ifconfig | grep Bcast | awk '{print $2}' | cut -d : -f 2

  1. 168.15.22

         第一步:关闭iptablesSELINUX(前期准备工作)

[root@PAN-Server~]# service iptables stop

         [root@PAN-Server~]# chkconfig iptables off

         [root@PAN-Server~]# getenforce 0 #临时关闭selinux /etc/sysconfig/selinux 文件中改为SELINUX=Distabled即可

Disabled

         第二步:安装samba组件

         [root@PAN-Server~]# yum -y install samba

         第三步:创建共享目录和访问用户

         [root@PAN-Server~]# mkdir /shudaipiaoling

[root@PAN-Server~]# chmod 777 !$

chmod 777/shudaipiaoling

[root@PAN-Server~]# useradd -s /sbin/nologin Mrpan -M

[root@PAN-Server~]# smbpasswd -a Mrpan

New SMBpassword:

Retype new SMBpassword:

Added userMrpan.

[root@PAN-Server~]#

3samba服务器配置文件详解

/etc/Samba/smb.conf

 

      这是Samba服务的主配置文件,由全局设置(Global Settings)和共享定义(Share Definitions)两部分组成无集结Samba服务器工作在下节将要介绍的哪种模式,都需要配置这个主配置文件。各种不同工作模式下的Samba 主配置文件的配置方法将在本章后面介绍。

 

/etc/Samba/lmhosts

 

       这个主机配置文件,提供了局域网内主机的NetBIOS名与IP地址的对应。此文件中每一行对应一个主机的IP地址和NetBIOS计算机名的记录。前面是主机的IP地址,后面是这个IP地址对应主机的NetBIOS名称,中间用空格分隔。为了使Linux系统主机能识别这种主机名,需要用户将局域网中的Windows NetBIOS主机名与IP地址的对应关系列入此文件中,一定要包括作为Samba服务器的Linux系统主机本身,因为Samba服务器就是依据这个配置文件来识别不同系统主机的。但是,通常在启动Samba服务进程时就能自动捕捉到网络中相关IP地址对应的NetBIOS名,自动在lmhosts文件中添加这些映射关系,所以通常是不需要专门配置这个配置文件的。

 

/etc/Samba/smbpasswd

 

该配置文件又称Samba服务器的密码文件,用于工作在user模式下的Samba服务器配置中。此文件在Samba服务安装后是不存在的,需要使用smbpasswd命令创建。由于Samba服务和Linux操作系统使用不同的密码文件,因此Linux操作系统中的用户账户不能直接登录Samba 服务器,需要为Linux用户创建新的Samba用户账号和密码。在管理员第一次使用smbpasswd命令创建Samba服务的账户时,会自动创建这个 smbpasswd文件。smbpasswd命令的用法具体也将在下面初步介绍。目前在最新版本的Linux系统核心中该文件改成为了/etc/Samba/passdb.tdb,以数据库方式存储,而不是以文本的方式存储,提高了安全性。

 

/etc/samba/users

该配置文件又称Samba服务器的用户文件,提供了外部登录名与本地用户名的映射关系,用户映射是指将用户在Windows或客户端Linux系统中的不同账户映射为一个Samba服务器的用户账户。映射后的Windows账户或客户端Linux账户在连接Samba服务器时,就可以直接使用他们自己的账户(而不是直接使用Samba服务器所在Linux系统的用户账户)进行访问了。置用户映射需要在Samba主配置文件smb.conf中进行修改,全局参数username map控制用户映射。通过该参数指定一个映射文件,默认情况下,这个映射文件就是/etc/Samba/smbusers。设置范例:username map = /etc/samba/smbusers,然后编辑/etc/Samba/smbusers文件,将需要进行映射的用户添加到文件中。参数格式如下:
本地服务器系统用户账户 = 需要映射的Windows或Linux账户列表一个Samba服务器所在Linux系统账户映射多个账户时,用户名间需要用空格分隔。也就是说,多个Windows或客户端Linux系统用户账户可以映射为同一个Samba账户。例如:

   1. Samba = SMB_name1  SMB_name2 …)  
   2. root = administrator  admin  
   3. nobody = guest  pcguest  smbguest 

 

 

    #

#======================= Global Settings=====================================

   

[global] #定义全局策略

#

    workgroup =MYGROUP  #定义工作组

    server string= Samba Server Version %v  #服务器提示字串,显示版本

   

;   netbios name= MYSERVER #定义samba服务器的NetBIOS名称,不同于workgroup

   

;   interfaces =lo eth0 192.168.12.2/24 192.168.13.2/24 #接口设置,当服务器有多个网卡时,可以定义监听哪个网络接口

;   hosts allow =127. 192.168.12. 192.168.13. #允许哪些网段访问,如果排除其中某些IP地址的话,可以加上EXCEPT排除一下,例子如下:

;   hosts allow =127. 192.168.12. 192.168.13. EXCEPT 192.168.12.1 192.168.13.1

hostsdeny=192.168.2.0/255.255.255.0#表示拒绝来自192.168.2.0/255.255.255.0子网中的所有主机连接

hosts allow=主机名1 ,主机名2#表示允许来自主机1和主机2两台计算机连接

hosts deny=@shudaipiaoling#表示拒绝来自shudaipiaoling网域的所有计算机连接

   

# ————————— Logging Options—————————–

   

   

    log file =/var/log/samba/log.%m #日志文件位置,这里使用了samba变量%m,这个变量会被替换为访问客户端的主机名

   

    max log size= 50 #定义了日志的大小max

   

# ———————– Standalone Server Options————————

#

 

    security =user #security选项定义了客户端访问共享的方式,选项有一下几种。

第一种share:任何用户都可以访问不需要提供验证, 安全性能较低。

第二种 user:共享目录只能被授权的用户访问,账户要为系统账户通过useradd -s /sbin/nologin -M 建立,此命令为不建立家目录不能登录系统

第三种 server:代理验证,架设server2000 NT或者是其他的samba服务器验证用户, 验证失败,Samba将使用用户级安全模式

第四种 domain:域安全级别,使用主域控制器来完成认证。需要搭建主域控制器,信息保存在活动目录中

 

    passdbbackend = tdbsam #这里是用户后台的意思,我理解为账户和密码的存储方式:一共有三种:

第一种:smdpasswd 代表老的明文格式存储资料。该方式是使用smb自己的工具smbpasswd来给系统用户设置一个Samba密码

Smbpasswd命令选项 账户名称 # 这是命令的格式用法:

        -a  #添加账户名称并设置密码

        -x  #删除SMB账户

        -e  #启用SMB账户

        -d  #禁用SMB账户

Smbpasswd这个文件存在/etc/samba/下,需要手动建立

第二种:tdbsam 代表基于tdb的密文格式存储资料#该方式使用一个数据库文件来建立用户数据库,数据库文件名为passdb.tdb。可以使用#smbpasswd -a [用户名]来建立Samba用户。也可以使用pdbedit命令来建立用户。

pdbedit命令选项

pdbedit –ausername:新建

  pdbedit –x username:删除

  pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。

  pdbedit –Lv:列出Samba用户列表的详细信息。

  pdbedit –c “[D]” –u username:暂停该Samba用户的账号。

  pdbedit –c “[]” –u username:恢复该Samba用户的账号。

 

第三种:ldapsam 代表使用LDAP存储资料 该方式则是基于LDAP的账户管理方式来验证用户。首先要建立LDAP服务,然后设置“passdb backend = ldapsam:ldap://LDAP Server”

 

# ———————– Domain Controller Options————————

#

#

;   security =user #设定服务器安全模式

;   passdbbackend = tdbsam #设定用户和密码的存储方式

   

;   domain master= yes #设置Samba服务器是否要成为网域主浏览器,网域主浏览器可以管理跨子网域的浏览服务。

;   domain logons= yes#设置Samba Server是否要做为本地域控制器。主域控制器和备份域控制器都需要开启此项。

   

    # the loginscript name depends on the machine name

;   logon script= %m.bat

    # the loginscript name depends on the unix user used

;   logon script= %u.bat

;   logon path =\\%L\Profiles\%u

    # disablesprofiles support by specifing an empty path

;   logon path=         

   

;   add userscript = /usr/sbin/useradd "%u" -n -g users

;   add groupscript = /usr/sbin/groupadd "%g"

;   add machinescript = /usr/sbin/useradd -n -c "Workstation (%u)" -M -d /nohome -s/bin/false "%u"

;   delete userscript = /usr/sbin/userdel "%u"

;   delete userfrom group script = /usr/sbin/userdel "%u" "%g"

;   delete groupscript = /usr/sbin/groupdel "%g"

   

   

# ———————– Browser Control Options—————————-

#

# set local master to no if you don't want Samba tobecome a master

# browser on your network. Otherwise the normalelection rules apply

#

# OS Level determines the precedence of this server inmaster browser

# elections. The default value should be reasonable

#

# Preferred Master causes Samba to force a localbrowser election on startup

# and gives it a slightly higher chance of winning theelection

;   local master= no # local master用来指定Samba Server是否试图成为本地网域主浏览器。如果设为no,则永远不会成为本地网域主浏览器。但是即使设置为yes,也不等于该Samba Server就能成为主浏览器,还需要参加选举。

;   os level = 33  #设置samba服务器的os level。该参数决定Samba Server是否有机会成为本地网域的主浏览器。os level从0到255,winNT的os level是32,win95/98的os level是1。Windows 2000的os level是64。如果设置为0,则意味着SambaServer将失去浏览选择。如果想让Samba Server成为PDC,那么将它的os level值设大些。

;   preferredmaster = yes #设置Samba Server一开机就强迫进行主浏览器选举,可以提高SambaServer成为本地网域主浏览器的机会。如果该参数指定为yes时,最好把domain master也指定为yes。使用该参数时要注意:如果在本Samba Server所在的子网有其他的机器(不论是windows NT还是其他Samba Server)也指定为首要主浏览器时,那么这些机器将会因为争夺主浏览器而在网络上大发广播,影响网络性能。

   

#—————————– Name Resolution——————————-

 

;   wins support= yes  #设置samba服务器是否提供wins服务

;   wins server =w.x.y.z #设定wins server的地址

;   wins proxy =yes #是否开启wins代理服务

   

;   dns proxy =yes #是否开启dns代理服务

   

# ————————— Printing Options—————————–

#

#

   

    load printers= yes #是否启动samba时就开启共享打印机

    cups options= raw

 

;   printcap name= /etc/printcap #设定共享打印机的配置文件

    #obtain listof printers automatically on SystemV

;   printcap name= lpstat

;   printing =cups 共享打印机的类型

 

# ————————— Filesystem Options—————————

 

;   map archive =no

;   map hidden =no

;   map read only= no

;   map system =no

;   store dosattributes = yes

 

 

#============================ Share Definitions ==============================

   

[homes] #共享名

    comment =Home Directories #描述

    browseable =no #指定共享是否可以被浏览

    writable =yes #是否可写

;   valid users =%S#

;   valid users =MYDOMAIN\%S

   

[printers]

    comment = AllPrinters

    path =/var/spool/samba

    browseable =no

    guest ok = no#匿名浏览可否

    writable = no

    printable =yes

   

# Un-comment the following and create the netlogondirectory for Domain Logons

;   [netlogon]

;   comment =Network Logon Service

;   path =/var/lib/samba/netlogon

;   guest ok =yes

;   writable = no

;   share modes =no

   

   

# Un-comment the following to provide a specificroving profile share

# the default is to use the user's home directory

;   [Profiles]

;   path =/var/lib/samba/profiles

;   browseable =no

;   guest ok =yes

   

   

# A publicly accessible directory, but read only,except for people in

# the "staff" group

;   [public]

;   comment =Public Stuff

;   path =/home/samba

;   public = yes

;   writable =yes

;   printable =no

;   write list =+staff

 

此外可以设定常用选项

Deadtime = 3 #访问用户在3分钟内没有操作将自动关闭会话

Display charset = UTF 8 #设定显示的使用字符集为UTF8

Max connections = 0 #设定最大连接数,0为无限

Guest account = nobady #设定匿名账户为nobady

Pubic = yes # 允许匿名查看

Valid = 用户名 #访问用户有效

Invalid = 用户名 #无效访问用户

Valid = @组名 #有效组名

Readonly = yes #只读

Readonly = no # 读写

Writeable = yes #读写

Write list = 用户名

Write list = @组名

 

3、  samba服务器搭建案例分析

1)、生产环境:

Linux 服务器系统版本:Red Hat Enterprise Linux Server release 6.5 192.168.15.22

Linux客户端系统版本:Red Hat Enterprise Linux Server release 6.5192.168.15.33

Windows客户机系统版本:windows 7 旗舰版

2)、准备工作:

Samba服务器的搭建这里就不再赘述了,上面已经分析过了,详细见内容2

[root@PAN-Server~]# rpm -qc samba

/etc/logrotate.d/samba

/etc/pam.d/samba

/etc/samba/smbusers

 

[root@PAN-Server ~]# grep -v "#"/etc/samba/smb.conf > /etc/samba/smb.conf.d #裁剪掉带#号的行

[root@PAN-Server ~]# mv /etc/samba/smb.conf/etc/samba/smb_bak.conf #备份主配置文件

[root@PAN-Server ~]# vim /etc/samba/smb.conf dG 清空所有之后,读取smb.conf.d并修改内容如下:

18 ;       security = user

19         security =share

77 [share]

78         comment = share directory

79         path = /tmp/share

80         browseable = yes

81         guest ok = yes

82         writable = yes

83         create mask = 0644

84         directorymask = 0755

3)、创建测试目录

[root@PAN-Server~]# mkdir /tmp/share

[root@PAN-Server~]# chmod 777 !$

chmod 777/tmp/share

         4)、启动服务并查看端口是否监听

[root@PAN-Server~]# service smb start

StartingSMB services:                                     [  OK  ]

[root@PAN-Server~]# netstat -anutp | grep smb

tcp        0     0 0.0.0.0:139                0.0.0.0:*                   LISTEN      16445/smbd         

tcp        0     0 0.0.0.0:445                0.0.0.0:*                   LISTEN      16445/smbd         

tcp        0     0 :::139                     :::*                        LISTEN      16445/smbd         

tcp        0     0 :::445                     :::*                       LISTEN      16445/smbd         

smbd守护进程的两个监听端口139445都在监听

 

5)、在客户端上验证:

C:\Users\pan>ping192.168.15.22

 

正在 Ping 192.168.15.22具有 32 字节的数据:

来自 192.168.15.22 的回复: 字节=32 时间<1msTTL=64

来自 192.168.15.22 的回复: 字节=32 时间<1ms TTL=64

spacer.gif

下面创建一个test文件然后拷贝一个图片

spacer.gif

 

linux客户端上查看

[root@PAN-Client~]# smbclient -L //192.168.15.22

Enterroot's password:  #查看不需要输入密码

Domain=[MYGROUP]OS=[Unix] Server=[Samba 3.6.9-164.el6]

 

Sharename      Type      Comment

———      —-      ——-

share          Disk      share directory

IPC$            IPC       IPC Service (Samba Server Version3.6.9-164.el6)

 

 

案例:

背景:

阿里巴巴有很多业务部门,其中业务部门的数据需要分享给其他部门,还有一些数据是本部门才有权查看的,业务部门包括销售部Markting、财务部Finance和采购部Purchase,因为这三个部门之间的联系较为密切,所以需要搭建一台samba服务器来沟通协调资源,从而提高工作效率

(1)      创建目录并修改目录权限为777

    [root@PAN-Server ~]# mkdir -p/alibaba/{Markting,Finance,Purchase,share/{Marting,Finance,Purchase}}

[root@PAN-Server~]# tree /alibaba

/alibaba

├── Finance

├── Markting

├── Purchase

└── share

    ├── Finance

    ├── Marting

    └── Purchase

 

7 directories, 0 files

           [root@PAN-Server ~]# rpm -qf `whichtree`

tree-1.5.3-2.el6.x86_64

[root@PAN-Server ~]# chmod a+w/alibaba/# 其他目录同此

查看目录权限所示:

[root@PAN-Server~]# ll -d /alibaba/

drwxrwxrwx6 root root 4096 Aug 12 11:14 /alibaba/

[root@PAN-Server~]# ll  /alibaba/

total 16

drwxrwxrwx2 root root 4096 Aug 12 16:46 Finance

drwxrwxrwx2 root root 4096 Aug 12 16:47 Markting

drwxrwxrwx2 root root 4096 Aug 12 16:47 Purchase

drwxrwxrwx 5 root root 4096 Aug 1216:45 share

[root@PAN-Server~]# ll /alibaba/share/

total 20

drwxr-xr-x2 root     root    4096 Aug 13 01:52 Finance

drwxr-xr-x2 root     root    4096 Aug 13 01:52 Marting

-rw-r–r–1 root     root    2169 Aug 12 16:45 passwd

drwxr-xr-x2 root     root    4096 Aug 13 01:52 Purchase

drwxrwxrwx2 Finance1 Finance 4096 Aug 13 01:51 test

[root@PAN-Server~]# chmod a+w /alibaba/share/Finance/

[root@PAN-Server~]# chmod a+w /alibaba/share/Marting/

[root@PAN-Server~]# chmod a+w /alibaba/share/Purchase/

[root@PAN-Server~]# !vim

vim/etc/samba/smb.conf

[root@PAN-Server~]# !ll

ll/alibaba/share/

total 20

drwxrwxrwx2 root     root    4096 Aug 13 01:52 Finance

drwxrwxrwx2 root     root    4096 Aug 13 01:52 Marting

-rw-r–r–1 root     root    2169 Aug 12 16:45 passwd

drwxrwxrwx2 root     root    4096 Aug 13 01:52 Purchase

drwxrwxrwx2 Finance1 Finance 4096 Aug 13 01:51 test

[root@PAN-Server~]# ll -d /alibaba/share/

drwxrwxrwx6 root root 4096 Aug 13 01:52 /alibaba/share/

[root@PAN-Server ~]#

2)、创建账户#本案例利用脚本创建多个用户

                   [root@PAN-Server ~]# catuseradd.sh

#!/bin/bash

#add users for samba:/alibaba

USER=(Finance Markting Purchase)

for GROUP_A in ${USER[@]}

                            do

                                     groupadd$GROUP_A

                                               forN in $(seq 1 2)

                                                        do

                                                                 useradd-M -s /sbin/nologin -g $GROUP_A $GROUP_A$N

                                                        done

                            done

                   [root@PAN-Server ~]# chmoda+x useradd.sh

                   [root@PAN-Server ~]#./useradd.sh

                   [root@PAN-Server ~]#smbpasswd -a Finance1

New SMB password:

Retype new SMB password:

Added user Finance1.

[root@PAN-Server ~]# smbpasswd -a Finance2

New SMB password:

Retype new SMB password:

Added user Finance2.

其他同上述命令不再赘述。

[root@PAN-Server ~]# tail -n 6 /etc/passwd

Finance1:x:501:501::/home/Finance1:/sbin/nologin

Finance2:x:502:501::/home/Finance2:/sbin/nologin

Markting1:x:503:502::/home/Markting1:/sbin/nologin

Markting2:x:504:502::/home/Markting2:/sbin/nologin

Purchase1:x:505:503::/home/Purchase1:/sbin/nologin

Purchase2:x:506:503::/home/Purchase2:/sbin/nologin

3)、修改配置文件(如下)

                   [root@PAN-Server ~]# cat/etc/samba/smb.conf

[global]

        

         workgroup = shudaipiaoling

         server string = alibaba_share

        

;        netbios name = MYSERVER

        

;        interfaces = lo eth0 192.168.12.2/24192.168.13.2/24

;        hosts allow = 127. 192.168.12.192.168.13.

        

        

         log file = /var/log/samba/log.%m

         max log size = 50

        

 

         security = user

         passdb backend = tdbsam

 

 

        

        

;        security = domain

;        passdb backend = tdbsam

;        realm = MY_REALM

 

;        password server = <NT-Server-Name>

 

;        security = user

;        passdb backend = tdbsam

        

;        domain master = yes

;        domain logons = yes

        

;        logon script = %m.bat

;        logon script = %u.bat

;        logon path = \\%L\Profiles\%u

;        logon path =         

        

;        add user script = /usr/sbin/useradd"%u" -n -g users

;        add group script = /usr/sbin/groupadd"%g"

;        add machine script = /usr/sbin/useradd-n -c "Workstation (%u)" -M -d /nohome -s /bin/false "%u"

;        delete user script = /usr/sbin/userdel"%u"

;        delete user from group script =/usr/sbin/userdel "%u" "%g"

;        delete group script = /usr/sbin/groupdel"%g"

        

        

;        local master = no

;        os level = 33

;        preferred master = yes

        

        

;        wins support = yes

;        wins server = w.x.y.z

;        wins proxy = yes

        

;        dns proxy = yes

        

        

         load printers = yes

         cups options = raw

 

;        printcap name = /etc/printcap

;        printcap name = lpstat

;        printing = cups

 

 

;        map archive = no

;        map hidden = no

;        map read only = no

;        map system = no

;        store dos attributes = yes

 

 

        

;[homes]

;        comment = Home Directories

;        browseable = no

;        writable = yes

;        valid users = %S

;        valid users = MYDOMAIN\%S

        

;[printers]

;        comment = All Printers

;        path = /var/spool/samba

;        browseable = no

;        guest ok = no

;        writable = no

;        printable = yes

        

;        [netlogon]

;        comment = Network Logon Service

;        path = /var/lib/samba/netlogon

;        guest ok = yes

;        writable = no

;        share modes = no

        

        

;        [Profiles]

;        path = /var/lib/samba/profiles

;        browseable = no

;        guest ok = yes

        

        

;        [public]

;        comment = Public Stuff

;        path = /home/samba

;        public = yes

;        writable = yes

;        printable = no

;        write list = +staff

         [Finance]

         comment = Finance Department

         path = /alibaba/Finance

         public = no

         writable = yes

         browseable = no

         printable = no

         write list = @Finance

         invalid users = root

         valid users = @Finance

         create mask = 0770

         directory mask = 0770

         [Markting]

         comment = Markting Department

         path = /alibaba/Markting

         public = no

         writable = yes

         browseable = no

         printable = no

         write list = @Markting

         invalid users = root

         valid users = @Markting

         create mask = 0770

         directory mask = 0770

         [Purchase]

         comment = Purchase Department

         path = /alibaba/Purchase

         public = no

         writable = yes

         browseable = no

         printable = no

         write list = @Purchase

         invalid users = root

         valid users = @Purchase

         create mask = 0770

         directory mask = 0770

         [share]

         comment = All Department

         path = /alibaba/share

         public = no

         writable = yes

         browseable = no

         printable = no

         write list = @Purchase,@Markting,@Finance

         valid users = @Purchase,@Markting,@Finance

         create mask = 0777

         directory mask = 0777

[root@PAN-Server~]#

4)、启动服务

[root@PAN-Server~]# service smb start

[root@PAN-Server~]# service nmb start       

5)、验证测试#查看

[root@PAN-Client~]# smbclient -L 192.168.15.22 -U Finance1%123456

[root@PAN-Client~]# smbclient -c "ls" //192.168.15.22/Markting -U Markting2%123456

Domain=[SHUDAIPIAOLING]OS=[Unix] Server=[Samba 3.6.9-164.el6]

  .                                   D       0  Wed Aug 12 16:47:06 2015

  ..                                  D        0 Wed Aug 12 11:14:14 2015

  passwd                                    2169  Wed Aug 12 16:47:06 2015

 

                   62995 blocks of size 131072.8062 blocks available

上面两个命令大同小异,都是查看列出共享

 

[root@PAN-Client~]# smbclient -c "mkdir test_Markting2" //192.168.15.22/Markting -UMarkting2%123456 #一次性使用命令

Domain=[SHUDAIPIAOLING]OS=[Unix] Server=[Samba 3.6.9-164.el6]

[root@PAN-Client~]# smbclient -c "ls" //192.168.15.22/Markting -U Markting2%123456

Domain=[SHUDAIPIAOLING]OS=[Unix] Server=[Samba 3.6.9-164.el6]

  .                                   D        0 Thu Aug 13 02:02:56 2015

  ..                                  D        0 Wed Aug 12 11:14:14 2015

  passwd                                    2169  Wed Aug 12 16:47:06 2015

  test_Markting2                      D        0 Thu Aug 13 02:02:56 2015

 

                   62995 blocks of size 131072.8062 blocks available

报错信息,本部门不共享与其他部门的目录只能本部门有权限访问,如果不是会如下报错。

[root@PAN-Client~]# smbclient //192.168.15.22/Purchase -U Markting2

EnterMarkting2's password:

Domain=[SHUDAIPIAOLING]OS=[Unix] Server=[Samba 3.6.9-164.el6]

tree connectfailed: NT_STATUS_ACCESS_DENIED

[root@PAN-Client~]#

[root@PAN-Client~]# smbclient // 192.168.15.22/Markting -U Markting2%123456 切入共享资源Markting目录

[root@Mr ~]#smbclient //192.168.15.22/Finance -U Finance1

Enter Finance1'spassword:

Domain=[SHUDAIPIAOLING]OS=[Unix] Server=[Samba 3.6.9-164.el6]

smb: \> ls

  .                                   D        0 Wed Aug 12 16:46:57 2015

  ..                                  D        0 Wed Aug 12 11:14:14 2015

  passwd                                    2169  Wed Aug 12 16:46:57 2015

 

                   62995 blocks of size 131072.8065 blocks available

smb: \> pwd

Currentdirectory is \\192.168.15.22\Finance\

smb: \> lcd/opt

smb: \> getpasswd

getting file\passwd of size 2169 as passwd (423.6 KiloBytes/sec) (average 423.6KiloBytes/sec)

smb: \> putboot_bak

boot_bak doesnot exist

smb: \> putfstab_bak

putting filefstab_bak as \fstab_bak (15.5 kb/s) (average 15.5 kb/s)

smb: \> ls

  .                                   D        0 Thu Aug 13 02:19:04 2015

  ..                                  D        0 Wed Aug 12 11:14:14 2015

  passwd                                    2169  Wed Aug 12 16:46:57 2015

  fstab_bak                           A      842 Thu Aug 13 02:19:04 2015

 

                   62995 blocks of size 131072.8062 blocks available

smb: \>

 

[root@PAN-Client~]# smbclient //192.168.15.22/Markting -U Finance1%123456 #无权限

Domain=[SHUDAIPIAOLING]OS=[Unix] Server=[Samba 3.6.9-164.el6]

tree connectfailed: NT_STATUS_ACCESS_DENIED

[root@PAN-Client~]#

[root@PAN-Client~]# smbclient //192.168.15.22/share -U Finance1%123456

Domain=[SHUDAIPIAOLING]OS=[Unix] Server=[Samba 3.6.9-164.el6]

smb: \> quit

[root@PAN-Client~]# smbclient //192.168.15.22/share/Markting -U Finance1%123456

Domain=[SHUDAIPIAOLING]OS=[Unix] Server=[Samba 3.6.9-164.el6]

tree connectfailed: NT_STATUS_BAD_NETWORK_NAME

[root@PAN-Client~]# smbclient //192.168.15.22/share -U Finance1%123456

Domain=[SHUDAIPIAOLING]OS=[Unix] Server=[Samba 3.6.9-164.el6]

smb: \> pwd

Currentdirectory is \\192.168.15.22\share\

smb: \> cdMarting\

smb:\Marting\> lcd /mnt/Packages/

smb:\Marting\> put mysql-5.1.71-1.el6.x86_64.rpm

putting filemysql-5.1.71-1.el6.x86_64.rpm as \Marting\mysql-5.1.71-1.el6.x86_64.rpm (7769.2kb/s) (average 7769.2 kb/s)

smb:\Marting\> lcd /tmp

smb:\Marting\> ls

  .                                   D        0 Thu Aug 13 10:34:59 2015

  ..                                  D        0 Thu Aug 13 01:52:02 2015

  lrzsz-0.12.20-27.1.el6.x86_64.rpm      R   72540  Thu Aug 13 10:34:59 2015

  passwd                                    2169  Thu Aug 13 01:52:40 2015

  mysql-5.1.71-1.el6.x86_64.rpm       A  914896  Thu Aug 13 10:33:21 2015

 

                   62995 blocks of size 131072.8046 blocks available

smb:\Marting\> get lrzsz-0.12.20-27.1.el6.x86_64.rpm

getting file\Marting\lrzsz-0.12.20-27.1.el6.x86_64.rpm of size 72540 aslrzsz-0.12.20-27.1.el6.x86_64.rpm (4167.0 KiloBytes/sec) (average 4167.0KiloBytes/sec)

smb:\Marting\> quit

[root@PAN-Client~]# ll /tmp/

total 144

drwx——  2 root root 4096 Aug 12 03:45 keyring-h8GpxO

-rw-r–r–  1 root root 72540 Aug 13 10:35lrzsz-0.12.20-27.1.el6.x86_64.rpm

 

最后查看一下服务器上的所有目录权限

 

[root@PAN-Server~]# ll -R /alibaba/

/alibaba/:

total 16

drwxrwxrwx 2root root 4096 Aug 13 10:29 Finance

drwxrwxrwx 3root root 4096 Aug 13 02:02 Markting

drwxrwxrwx 2root root 4096 Aug 12 16:47 Purchase

drwxrwxrwx 6root root 4096 Aug 13 01:52 share

 

/alibaba/Finance:

total 896

-rwxrw—- 1Finance1 Finance    842 Aug 13 02:19fstab_bak

-rwxrw—- 1Finance1 Finance    158 Aug 13 10:28hosts

-rwxrw—- 1Finance1 Finance 902808 Aug 13 10:29 mysql-5.1.61-4.el6.x86_64.rpm

-rw-r–r– 1root     root      2169 Aug 12 16:46 passwd

 

/alibaba/Markting:

total 8

-rw-r–r– 1root      root     2169 Aug 12 16:47 passwd

drwxrwx— 2Markting2 Markting 4096 Aug 13 02:02 test_Markting2

 

/alibaba/Markting/test_Markting2:

total 0

 

/alibaba/Purchase:

total 4

-rw-r–r– 1root root 2169 Aug 12 16:47 passwd

 

/alibaba/share:

total 20

drwxrwxrwx 2root     root    4096 Aug 13 01:52 Finance

drwxrwxrwx 2root     root    4096 Aug 13 10:34 Marting

-rw-r–r– 1root     root    2169 Aug 12 16:45 passwd

drwxrwxrwx 2root     root    4096 Aug 13 01:52 Purchase

drwxrwxrwx 2Finance1 Finance 4096 Aug 13 01:51 test

 

/alibaba/share/Finance:

total 4

-rw-r–r– 1root root 2169 Aug 13 01:52 passwd

 

/alibaba/share/Marting:

total 972

-r–r–r– 1root     root     72540 Aug 13 10:34lrzsz-0.12.20-27.1.el6.x86_64.rpm

-rwxrw-rw- 1Finance1 Finance 914896 Aug 13 10:33 mysql-5.1.71-1.el6.x86_64.rpm

-rw-r–r– 1root     root      2169 Aug 13 01:52 passwd

 

/alibaba/share/Purchase:

total 4

-rw-r–r– 1root root 2169 Aug 13 01:52 passwd

 

/alibaba/share/test:

total 0

[root@PAN-Server~]#

到这里配置就进行完毕了,下面我们来挂载

6)、挂载共享目录

         Windows上由于其网上邻居的不稳定性所以必须要挂载到本地访问可以使用命令如下挂载

         netuse  Z \\192.168.15.22/share

         故障排除:

        

C:\Users\pan>netuse \\192.168.15.22\Markting 123456 /user:Markting1

发生系统错误 1219

 

不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接。中断与此服务器或共

享资源的所有连接,然后再试一次。

C:\Users\pan>netuse * /del /y

您有以下的远程连接:

 

                    \\192.168.15.22\share

继续运行会取消连接。

 

命令成功完成。

 

 

C:\Users\pan>netuse \\192.168.15.22\Markting 123456 /user:Markting1

命令成功完成。

         Linux上的挂载

命令格式:mount –t cifs –o挂载选项 //IP/共享目录挂载点

先创建挂载点/Markting然后如下命令写入/etc/fstab

echo“//192.168.15.22/Markting /Markting cifs defaults,rw,user=Markting1,password=123456,uid=500,gid=5000 0 ” >> /etc/fstab

#下面是创建的目录和文件的权限和属主和属组,如果不加uidgid的话只能root具有读写权限。普通用户无法读取。

[root@PAN-Client12345]# ll -d

drwxr-x— 2shudaipiaoling shudaipiaoling 0 Aug 13 13:31 .

[root@PAN-Client12345]# ll

total 0

-rw-r—– 1shudaipiaoling shudaipiaoling 0 Aug 13 13:31 123

[root@PAN-Client12345]#

到此案例分析完毕

转载于:https://blog.51cto.com/mrpan/1684944

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注