本节介绍内容:
1、 samba概述
2、 samba服务器的搭建
3、 samba服务主配置文件的详解
4、 samba服务器搭建案例分析
1、 samba概述
samba是linux以及UNIX和windows完美交互的工具。我们首先来说下samba的由来,那要先从SMB说起。SMB即(Server Message Block )服务器消息块,SMB主要是Microsoft的网络通讯协议,后来应用在了linux上,形成了samba,这是一个能让linux系统应用Microsoft网络通讯协议的软件,它最先在linux和windows平台之间搭建了一座桥梁,提供文件共享和打印服务,其server软件包提供smbd守护进程和nmbd守护进程,其中smbd默认监听端口是TCP协议的139和445,nmd服务默认使用的是UDP协议的137端口和138端口。组成的smbd这个进程主要是用来为客户端提供共享和打印服务的而nmbd守护进程则是提供NETBIOS名称服务,为CIFS(Common Internet File System)公共internet文件系统协议提供共享访问环境,CIFS是微软改SMB后的名字,这就要求如果用windows访问samba服务器的话,windows环境要安装NetBIOS协议。
注意:搭建samba服务器之前要关闭SELINUX和iptables,之前也提到过,是因为这两个默认会阻止对服务的访问。
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
-
168.15.22
第一步:关闭iptables和SELINUX(前期准备工作)
[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~]#
3、samba服务器配置文件详解
/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.5:192.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守护进程的两个监听端口139和445都在监听
(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
下面创建一个test文件然后拷贝一个图片
在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
#下面是创建的目录和文件的权限和属主和属组,如果不加uid和gid的话只能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