一、了解samba:
Samba是用于Linux和Unix的标准Windows互操作性程序套件。
Samba是根据GNU通用公共许可证许可的自由软件,Samba项目是Software Freedom Conservancy的成员。
自1992年以来,Samba便为使用SMB / CIFS协议的所有客户端(包括所有版本的DOS和Windows,OS / 2,Linux等)提供安全,稳定和快速的文件和打印服务。
Samba是将Linux / Unix服务器和桌面无缝集成到Active Directory环境中的重要组件。它既可以充当域控制器,也可以充当常规域成员。
1. samba是linux共享文件系统,将SMB(服务消息块)/CIFS(通用网络文件系统)协议在linux中进行实现,让linux、unix、windows系统之间可以相互访问文件共享。
2.samba服务相关知识点:
1)samba是C/S(客户端/服务器)架构,
2)监听TCP/139及TCP/445(由smbd程序监听),监听UDP/137和UDP/138(由nmbd程序监听);
3)samba项目的软件包samba(主程序)、samba-common(通用程序)、samba-client(客户端程序)
4)smaba主配置文件是/etc/samba/smb.conf.
二.部署samba服务
(一)匿名可访问的共享
1.部署samba服务基本流程:
1)安装软件samba
2)修改配置文件/etc/samba/smb.conf
3)启动服务并测试、发布上线
注意:samba一般只用在公司内部,不会在公网发布,搭建后只需要通知公司内部人员即可。
2.案例:部署匿名的samba共享
1)安装软件samba
[root@smb ~]# rm -rf /etc/yum.repos.d/* ##删除yum原有配置文件[root@smb ~]# vi /etc/yum.repos.d/ctos.repo ##编写本地yum配置[cdrom] ##yum仓库模块名name=cdrom ##yum仓库名baseurl=file:///mnt ##软件存放位置enabled=1 ##启用仓库模块gpgcheck=0 ##不检测gpg公钥:wq[root@smb ~]# mount /dev/cdrom /mnt ##挂载光盘mount: block device /dev/sr0 is write-protected,mounting read-only[root@smb ~]# yum -y install samba ##安装samba[root@smb ~]# rpm -qa |grep samba ##查看samba相关软件samba-winbind-clients-3.6.9-164.el6.x86_64samba-winbind-3.6.9-164.el6.x86_64samba-common-3.6.9-164.el6.x86_64samba-3.6.9-164.el6.x86_64samba-client-3.6.9-164.el6.x86_64samba4-libs-4.0.0-58.el6.rc4.x86_64[root@smb~]#
2)修改配置文件/etc/samba/smb.conf
[root@smb ~]# cp /etc/samba/smb.conf/etc/samba/smb.conf.bak ##备份配置文件[root@smb ~]# vi /etc/samba/smb.conf ##vi编辑smb.conf时使用的技巧:set nu ##显示行号:%g/^#/d ##删除#开始行,在smb.conf的配置文件中#表示注释既不会生效,分号表示配置案例也不会生效:%g/^$/d ##删除空行,^表示开始、$表示结束Ctrl+v方向键选择需要删除内容delete ##进入可视化操作视图,删除不需要的内容[root@smb ~]# vi /etc/samba/smb.conf ##大家可以直接复制配置文件[global] ##全局设置 workgroup= MYGROUP ##工作组 serverstring = Samba Server Version %v ##服务器描述 log file =/var/log/samba/log.%m ##日志文件 max logsize = 50 ##日志文件大小 security =share ##安全级别,share匿名共享[share] ##共享名称comment = my share ##共享的描述path = /opt/share ##共享的系统目录public = yes ##开放共享给所有人,作用与guestok = yes相同writable = yes ##可以写入,作用与readonly = no 相同printable = no ##不显示打印机:wq[root@smb ~]# mkdir /opt/share ##创建共享系统目录[root@smb ~]# chmod -R 777 /opt/share ##授权给所有人访问
3)启动服务并测试、发布上线
[root@smb ~]# /etc/init.d/smb start ##启动smb服务启动SMB 服务:[确定][root@smb ~]# /etc/init.d/nmb start ##启动nmb服务启动NMB 服务:[确定][root@smb ~]# netstat -utpln |grep mb ##验证监听端口tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 51200/smbdtcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 51200/smbdtcp 0 0 :::139 :::* LISTEN 51200/smbdtcp 0 0 :::445 :::* LISTEN 51200/smbdudp 0 0 192.168.200.255:137 0.0.0.0:* 51209/nmbdudp 0 0 192.168.200.202:137 0.0.0.0:* 51209/nmbdudp 0 0 0.0.0.0:137 0.0.0.0:* 51209/nmbdudp 0 0 192.168.200.255:138 0.0.0.0:* 51209/nmbdudp 0 0 192.168.200.202:138 0.0.0.0:* 51209/nmbdudp 0 0 0.0.0.0:138 0.0.0.0:* 51209/nmbd
[root@smb ~]# smbclient -L 192.168.200.202 ##列出可用共享WARNING: The security=share option is deprecatedEnter root's password:Domain=[MYGROUP] OS=[Unix] Server=[Samba3.6.9-164.el6] Sharename Type Comment --------- ---- ------- share Disk my share IPC$ IPC IPC Service (Samba Server Version3.6.9-164.el6)Domain=[MYGROUP] OS=[Unix] Server=[Samba3.6.9-164.el6] Server Comment --------- ------- SMB Samba Server Version3.6.9-164.el6 Workgroup Master --------- ------- MYGROUP SMB
[root@smb~]#mkdir /smb-test[root@smb ~]# mount //192.168.200.202/share/smb-test ##把共享挂载到本地目录Password: 无密码直接回车[root@smb~]# mount/dev/mapper/vg_centos6node1-lv_root on / type ext4(rw)proc on /proc type proc (rw)sysfs on /sys type sysfs (rw)devpts on /dev/pts type devpts (rw,gid=5,mode=620)tmpfs on /dev/shm type tmpfs (rw)/dev/sda1 on /boot type ext4 (rw)none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)vmware-vmblock on /var/run/vmblock-fuse typefuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)/dev/sr0 on /mnt type iso9660 (ro)//192.168.200.202/share on /smb-test type cifs(rw) ##挂载成功
1)真机Windows访问:并创建hehe目录
在资源管理器地址栏中输入:\\192.168.200.202\share在资源管理器地址栏中输入:\\192.168.200.202\share
创建完成后在服务端验证:
[root@smb~]# ls /opt/share/ ##共享路径下有hehe目录hehe[root@smb~]# ls /smb-test/ ##linux系统挂载点下有hehe目录hehe
注意:实际工作中,把需要共享的资源放到这个目录下,通知公司内部人员就可以了。
(二)部署认证的samba共享:
用户认证的共享:注意匿名和认证选一个(在匿名的基础上修改)
1.创建用户:
useradd u01useradd u02pdbedit -a u01 ##将系统用户添加为smb用户pdbedit -a u02pdbedit -L ##查看smb用户
2.修改配置文件:
[root@smb~]# vi/etc/samba/smb.conf[global] workgroup = MYGROUP server string = Samba Server Version %v log file = /var/log/samba/log.%m max log size = 50 security = user ##用户认证的共享passdb backend = tdbsam load printers = yes cups options = raw[public] comment = Public Stuff path = /opt/share public = no ##共享非公开 writable = no ##默认不可以写 valid users = u01, u02 ##允许访问的用户 write list = u01 ##有写入权限的用户:wq
testparm/etc/init.d/smb restartnetstat -utpln |grep mb
3.测试:
linux:客户机必须配置ip
mount -o username=u01 //192.168.200.202/public /mntcd /mnttouch b.filels
Linux运维往期回顾
1.Linux运维基础 - 基础命令(一)
2.Linux运维基础 - 基础命令(二)
3.Linux运维基础 - 基础命令(三)
4.Linux运维基础 - 基础命令(vi/vim)
5.Linux运维基础 - (FTP)文件传输服务
6.Linux运维基础 - (FTP)实战演练
7.Linux运维基础 - (DNS)域名系统
8.Linux运维基础 - 磁盘管理(一)
9.Linux运维基础 - 磁盘管理(二)
10.Linux运维基础 - 进程和计划任务(一)
11.Linux运维基础 - 进程和计划任务(二)
姿势已摆好
就等你点啦
点击此链接“网络运维往期回顾”
关于我们:
北京冠程科技有限公司(Beijing GctechTechnologyCo.,Ltd.)是一家集人才、技术和经验于一体的,提供全面网络安全解决方案的专业服务商。冠程科技致力于为各行业的网络安全需求提供软件研发和通用解决方案,业务领域主要包括基础服务、咨询业务、产品研发和安全培训四大版块,各版块相互独立又相辅相成,完美阐释了“专业服务、全程服务、延伸服务”的服务体系和“单一业务与长远目标相融合”的服务理念。
关注冠程科技,关注网络安全!
总公司:北京冠程科技有限公司
地址:北京市昌平区科技园区东区产业基地企业墅上区一号楼九单元四层
河北分公司:河北镌远网络科技有限公司(隶属于冠程科技的河北分公司)
地址:河北省邯郸市丛台区中华北大街193号慧谷大厦14层1418号
实训基地:河北省石家庄市电子信息学校冠程科技研究与实训中心
欢迎关注我们,及时了解更多关于网络安全相关知识