samba ●samba 。1. samba简介 。2. samba访问 。3.示例

  1. samba简介 Samba是在L inux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。 在此之前我们已经了解了NFS, NFS与samba- -样,也是在网络中实现文件共享的一种实现,但 不幸的是,其不支持windows平台,而本章要提到的samba是能够在任何支持SMB协议的主机之 间共享文件的一种实现,当然也包括windows。 SMB (Server Messages Block,信息服务块)是-种在局域网上共享文件和打印机的一种通信 协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。 SMB协议是C/S型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资 源。 Samba监听端口有: tcp端口相对应的服务是smbd服务,其作用是提供对服务器中文件、打印资源的共享访问。 udp端口相对应的服务是nmbd服务,其作用是提供基于NetBIOS主机名称的解析。 samba进程: . samba用户: // smbpasswd命令: -a Sys_ User //添加系统用户为samba用户并为其设置密码 -d //禁用用户帐号 -e //启用用户帐号 -x //删除用户帐号 [root@localhost ~]# yum -y install samba-* [root@localhost ~]# useradd tom [root@localhost ~]# smbpasswd -a tom New SMB password: Retype new SMB pas sword: Added user tom. Samba安全级别: Samba服务器的安全级别有三个,分别是user, server, domain 以前的samba版本支持的安全级别有四个,分别是share, user, server, domain share是用来设置匿名访问的,但现在的版本已经不支持share了, 但是还是可以实现匿名访 问的 只是配置方式变了 samba配置文件: ●/etc/samba/smb.conf(主配置文件) 常用配置文件参数: //测试配置文件是否有语法错误,以及显示最终生效的配置:使用tes tparm命令 [root@localhost ~]# tes tparm Load smb config files from /etc/s amba/smb. conf rlimit max: increasing rlimit_ max (1024) to minimum Windows limit (16384) Processing section“[homes]" Processing section " [printers]" Processing section "[print$]" Loaded services file 0K. Server role: ROLE_ STANDAL ONE 2.samba访问 环境说明: //交互式数据访问 smbclient -L HOST -∪USERNAME s mbclient //SERVER/shared_ name -U USERNAME //在客户机安装s amba-client包 [root@localhost ~]# yum -y install samba- client //查看s amba服务器有哪些共享资源 [root@localhost ~]# smbclient -L 172.16.12.128 -U tom //交互式访问某共享资源 [ root@localhost ~]# smbclient //172.16.12. 128/tom -U tom //基于挂载的方式访问 mount -t cifs //SERVER/shared_ name /挂载到本地的什么目录-0 username=USERNAME, password=P ASSWORD [root@localhost ~]# mkdir /opt/smb [root@localhost ~]# mount -t cifs //172. 16.12.128/tom /opt/smb/ -0 username=tom, pas swo rd= redhat [root@localhost ~]# df -h 3.示例 配置用户认证共享: //使用yum命令安装samba服务器: [root@locaLhost ~]# yum -y install samba-* //映射共享目录: //创建用户wangqing: [root@locathost ~]# useradd -M wangqing //为wangqing用户创建smb共享密码: [root@localhost ~]# smbpasswd -a wangqing //假设这里映射wangqing用户为share用户,那么就要在/etc/samba/smbusers文件中添加如下内容: [root@locathost ~]# echo 'wangqing = share' > /etc/samba/ smbusers //在全局配置中添加如下内容: [root@localhost ~]# vim /etc/ samba/ smb. conf

See smb. conf.example for a more detailed config file or

read the smb. conf manpage.

Run 'testparm’ to verify the config is correct after

you modified it.

[global] workgroup = SAMBA security = user username map = /etc/samba/smbusers //添加此行内容 //创建一个共享目录wangqing [root@Locathost ~]# mkdir /opt/ wangqing [root@Localhost ~]# chown -R wangq ing. wangqing /opt/ wangqing/ [root@locathost ~]# Il /opt/ total 0 drwxr-xr-x.2 wangqing wangqing 15 Aug 4 15:05 wangqing //配置共享 [root@locathost ~]# cat >> /etc/ samba/ smb. conf <<EOF

[wangqing] comment = wangqing path = /opt/wangqing browseable = yes guest ok = yes writable = yes write list = share public = yes EOF [root@localhost ~]# tail -8 /etc/ samba/ smb . conf [wangqing] comment = wangqing path = /opt/ wangqing browseable = yes guest ok = yes writable = yes write list = share public = yes //启动smb服务: [root@locathost ~]# sys temctl start smb //重启smb服务: [root@localhost ~]# systemctl restant smb //重新加载smb服务: [root@locathost ~]# sys temctl reload smb //设置s mb服务随系统启动而启动: [root@localhost ~]# systemctl enable smb //在客户机查看samba服务器有哪些共享资源 [root@Locathost ~]# smbclient -L 172.16.12.128 -U share //将s amba服务器的共享资源wangqing挂载到客户机本地 [root@localhost ~]# mount -t cifs //172. 16.12.128/wangqing /opt/smb/ -0 username=share, password=redhat [root@localhost ~]# df -h //在客户机上进入共享目录创建新文件 [root@localhost smb]# ls [root@localhost smb]# touch a [root@localhost smb]# mkdir abc [root@localhost smb]# ls abc //到服务器上验证 [root@locahost ~]# cd /opt/wangqing/ [root@LocaLhost wangqing]# Ls abc 入 配置匿名共享: //使用yum命令安装s amba服务器: [root@localhost ~]# yum -y install samba-* //在全局配置中添加如下内容: [root@localhost ~]# vim /etc/ samba/ smb. conf

See smb. conf. example for a more detailed config file or

read the smb. conf manpage.

Run 'testparm' to verify the config is correct after

you modified it.

[global] workgroup = SAMBA security = user map to guest = Bad User //添加此行内容 //创建-个共享目录wangqing [root@localhost ~]# mkdir /opt/wangqing [root@localhost ~]# chmod 777 /opt/wangqing/ [root@localhost ~]# II /opt/ total 0 drwxrwxrwx.3 root root 26 Aug 4 15:17 wangqing //配置共享 [root@localhost ~]# cat >> /etc/ samba/ smb.conf <<E0F

[wangqing] comment = wangqing path = /opt/ wangqing browseable = yes guest ok = yes writable = yes public = yes EOF [root@localhost ~]# tail -7 /etc/ samba/ smb. conf [wangqing] comment = wangqing path = /opt/wangqing browseable = yes guest ok = yes writable = yes public = yes //启动s mb服务: [root@localhost ~]# systemctl start smb //在客户机查看s amba服务器有哪些共享资源 [root@localhost ~]# smbclient -L 172.16.12.128 -U 'Bad User' Enter SAMBA\root's password: //这里直接敲回车键即可,不用输入密码 0S= [Windows 6.1] Server= [Samba 4.6.2] //将s amba服务器的共享资源wangqing挂载到客户机本地 [root@localhost ~]# mount -t cifs //172. 16.12.128/wangqing /opt/smb/ -0 user name= ' Bad User' [root@localhost ~]# df -h //在客户机上进入共享目录创建新文件 [root@localhost smb]# Is [root@localhost smb]# touch wanglaoji [root@localhost smb]# mkdir jiaduobao [root@localhost smb]# Is j iaduobao wanglaoj i //到服务器上验证 [root@localhost ~]# cd /opt/wangqing/ [root@localhost wangqing]# ls j iaduobao wanglaoj i