作用:Linux和windows之间实现共享。
1. 安装samba:
查看系统是否安装samba:
[root@localhost ~]# rpm -qa |grep samba samba-winbind-clients-3.6.9-151.el6.x86_ samba4-libs-4.0.0-55.el6.rc4.x86_ samba-common-3.6.9-151.el6.x86_ samba-client-3.6.9-151.el6.x86_ samba-winbind-3.6.9-151.el6.x86_ [root@localhost ~]#
安装:
[root@localhost ~]# yum install -y samba [root@localhost ~]# rpm -qa |grep samba
samba-3.6.9-168.el6_5.x86_ (提供服务期程序文件) samba4-libs-4.0.0-55.el6.rc4.x86_ samba-winbind-3.6.9-168.el6_5.x86_
samba-winbind-clients-3.6.9-168.el6_5.x86_
samba-common-3.6.9-168.el6_5.x86_ (提供服务器和客户端都需要使用的公共文件) samba-client-3.6.9-168.el6_5.x86_ (提供客户端程序文件) [root@localhost ~]#
Samba服务器主要提供以下两个服务程序:
--smbd:为客户机提供服务器享资源(目录和文件)的访问。
--nmbd:提供基于NetBIOS主机名称的解析,为windows网络中的主机进行名称解析。 通过/etc/init.d/smb脚本文件可以控制samba服务的启动与终止。
说明:
Samba 有两个服务器,一个是smb,另一个是nmb;
smb 是Samba 的主要启动服务器,让其它机器能知道此机器共享了什么;
如果不打开nmb服务器的话,只能通过IP来访问,比如在Windows的IE浏览器上打入下面的一条来访问; \\\\192.168.1.5\\共享目录 \\\\192.168.1.5\\opt 而nmb是解析用的,解析了什么呢?就是把这台Linux机器所共享的工作组及在此工作组下的netbios name解析出来.
2. Smb.conf主配置文件:
Samba服务主配置文件位于/etc/samba/目录,主配置文件为smb.conf。
[root@localhost ~]# cd /etc/samba [root@localhost samba]# pwd /etc/samba
[root@localhost samba]# ls lmhosts smb.conf smbusers [root@localhost samba]#
使用grep命令过滤掉注释行:
[root@localhost samba]# grep -v \"^#\" /etc/samba/smb.conf | grep -v \"^;\" | grep -v \"^$\" [global] (全局设置):对整个samba服务器有效。 workgroup = MYGROUP (服务器所在的工作组名称) server string = Samba Server Version %v (服务器的说明文字,描述samba服务器) log file = /var/log/samba/log.%m (samba服务器的日志文件位置.%m客户端主机名) max log size = 50 (设置文件的最大容量,单位KB) security = user (设置服务器的安全级别,share可匿名访问,user需由本服务器验证用户名和密码, Server由另一台服务器验证用户名和密码, Domain由windows域控制器验证用户名和密码) passdb backend = tdbsam load printers = yes cups options = raw
[homes] (用户目录共享设置) comment = Home Directories (设置对应的共享目录的说明信息,注释。) browseable = no (设置共享文件夹在网上邻居是否可见) writable = yes (设置共享目录是否可写,与read only的作用相反)
[printers] (打印机共享设置) comment = All Printers
path = /var/spool/samba (设置共享目录在服务器中文件夹路径) browseable = no
guest ok = no (设置是否所有人都可以访问共享目录,与public相同) writable = no printable = yes
samba服务配置文件检查工具:testparm程序:
使用testparm工具可以对smb.conf配置文件的正确性进行检查: [root@test samba]# testparm
建立可匿名访问的文件共享:
不需要提供用户名和密码,安全性不高。建立匿名共享时,在smb.conf文件中主要设置两个地方即可:需要将安全级别调整为share,添加共享目录配置段,这里用movies目录共享。
例如:
设置将/var/public/movies/目录发布为共享目录,共享名为movie:
[root@localhost public]# pwd /var/public
[root@localhost public]# mkdir movies [root@localhost public]# ls movies
[root@localhost public]#
[root@localhost public]# vi /etc/samba/smb.conf
[global] (全局设置)
security = share (share可匿名访问) [movie] (共享文件名) comment = public movie (说明) path = /var/public/movies (真实共享文件路径) browseable = yes (网上邻居是否可见) guest ok = yes (是否所有人可见,或用public = yes) writable = no (是否可写,或用read only = yes)
启动smb服务:
[root@test movies]# service smb start
Starting SMB services: [ OK ] [root@test movies]# setenforce 0 [root@test movies]#
[root@localhost public]# testparm (测试)
[root@localhost public]# netstat -anptu | grep mbd (验证samba服务监听状态)
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 67/smbd tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 67/smbd tcp 0 0 :::139 :::* LISTEN 67/smbd tcp 0 0 :::445 :::* LISTEN 67/smbd [root@localhost public]# (smbd监听tcp139端口SMB ,445端口CIFS,nmbd监听udp137-138端口。
建立带验证的文件共享:
1. 建立samba用户数据库:
为了区别系统用户,用于访问共享目录的用户称为samba用户。Samba服务器使用的账号数据库文件,但是建立samba账号前,要有系统账号相对应。Samba用户密码可以与系统用户密码不同。 命令smbpasswd –a 用户名
[root@localhost ~]# cat /etc/passwd | grep dwzhang dwzhang:x:500:500::/home/dwzhang:/bin/bash [root@localhost ~]# smbpasswd -a dwzhang New SMB password:
Retype new SMB password: Added user dwzhang. [root@localhost ~]#
2. 建立共享文件夹路径:
[root@localhost public]# pwd /var/public
[root@localhost public]# mkdir movies [root@localhost public]# ls movies
[root@localhost public]#
3. 配置主文件,设置相应选项:
[global]
security = user (将安全级别修改为user)
[movie]
comment = public movie path = /var/public/movies browseable = yes
guest ok = no (设置为非公开) writable = no (不许写入)
write list = root (除外可以写入)
valid users = dwzhang,@root (只可以xxx访问) directory mask = 0744 (共享文件夹默认权限744) create mask = 0600 (文件默认权限600)
#设置完后,在movie下直接拖拽东西无法写入,需要先建立文件夹。
4. 用户名称映射文件位于/etc/samba/smbusers:
# Unix_name = SMB_name1 SMB_name2 ... root = administrator admin
nobody = guest pcguest smbguest
root账户等于administrator。
5. 为samba用户dwzhang设置名称映射zhangdawei:
[root@localhost ~]# cat /etc/samba/smbusers # Unix_name = SMB_name1 SMB_name2 ... root = administrator admin
nobody = guest pcguest smbguest dwzhang = zhangdawei
[root@localhost ~]#
6. 设置只可以192.168.3.0/24网段的客户机访问samba服务器:
[root@localhost ~]# vi /etc/samba/smb.conf [global]
hosts allow = 192.168.3
典型例子:建立samba步骤:
1. 安装:
[root@localhost ~]# yum install -y samba
2. 建立文件目录路径:
[root@localhost cme]# pwd /cme
[root@localhost cme]# ls photos public software [root@localhost cme]#
3. 配置主配置文件:
[root@localhost ~]# vi /etc/samba/smb.conf
[global]
security = user (将安全级别修改为user)
[photos]
comment = cpy photo path = /cme/photos browseable = yes public = yes writable = no
write list = root,dwzhang
[public] (需要把文件权限777) comment = public path = /cme/public public = yes writable = yes
[software]
comment = software path = /cme/software browseable = no public = yes writable = no write list = root
4. 临时关闭防火墙:
[root@localhost ~]# setenforce 0
5. 建立samba用户:
[root@localhost ~]# smbpasswd -a root (该用户要是系统用户)
New SMB password:
Retype new SMB password: Added user root.
[root@localhost ~]#
6. 启动samba服务:
[root@localhost ~]# service smb start
关于windows登陆samba服务清除登录名和密码的方法:
net use * /del命令:
C:\\Users\\zhangdawei>net use * /del 您有以下的远程连接:
\\\\192.168.20.27\\IPC$ 继续运行会取消连接。
您想继续此操作吗? (Y/N) [N]: y 命令成功完成。
C:\\Users\\zhangdawei>net use * /del 列表是空的。
C:\\Users\\zhangdawei>
关于linux访问windows共享: 列出windows里所有共享目录:
[root@test ~]# smbclient -L 192.168.20.69 Enter root's password: (无密码直接回车)
查看windows里共享目录yingyue:
[root@test ~]# smbclient //192.168.20.69/yingyue -U administrator 或:
[root@test ~]# smbclient //192.168.20.69/yingyue Enter root's password: (无密码直接回车)
session request to 192.168.20.69 failed (Called name not present) session request to 192 failed (Called name not present)
Domain=[YLMF-20140120LB] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager] smb: \\> dir
…………………………………..
将windows共享目录挂载在linux中:
[root@test /]# mount -o username=administrator //192.168.20.69/yingyue /winpublic/ Password: [root@test /]#
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- niushuan.com 版权所有 赣ICP备2024042780号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务