文章目录
- 一、samba概述
- 二、samba配置实例
一、samba概述
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。
在此之前我们已经了解了NFS,NFS与samba一样,也是在网络中实现文件共享的一种实现,但不幸的是,其不支持windows平台,而这次要提到的samba是能够在任何支持SMB协议的主机之间共享文件的一种实现,当然也包括windows。
SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
SMB协议是C/S型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
二、samba配置实例
开启一台centos7.6,,一台win7,均设置DHCP自动获取ip地址,centos作为服务器,共享文件或目录,IP地址为192.168.100.8
[root@promote ~]# setenforce 0 关闭防火墙服务,清空防火墙规则
[root@promote ~]# iptables -F
[root@promote ~]# systemctl stop firewalld.service
[root@promote ~]# yum install samba -y 安装samba包
[root@promote ~]# rpm -qc samba
/etc/openldap/schema/samba.schema
/etc/pam.d/samba
[root@promote ~]# cd /etc/samba/
[root@promote samba]# ls
lmhosts smb.conf smb.conf.example 有samba.conf的配置文件
[root@promote samba]# ls 准备备份配置文件,以防操作失误
lmhosts smb.conf smb.conf.example
[root@promote samba]# mv smb.conf smb.conf.bak
[root@promote samba]# ls
lmhosts smb.conf.bak smb.conf.example
[root@promote samba]# grep -v "#" smb.conf.bak > smb.conf
[root@promote samba]# ls
lmhosts smb.conf smb.conf.bak smb.conf.example
修改配置文件内容,实现匿名用户的读取和写入
在opt目录下创建abc文件,并且赋予777最大权限
[root@localhost samba]# mkdir /opt/abc
[root@localhost samba]# chmod 777 /opt/abc
开启samba服务,139端口,445端口开启
在win 7客户机中访问192.168.100.8服务器
随便写一个txt文件
回到服务器端查看新生成的文件
指定用户读写共享文件的权限,在配置文件底行加入内容
创建zhangsan和lisi用户并给他们设置smb密码
[root@promote abc]# useradd zhangsan
[root@promote abc]# useradd lisi
[root@promote abc]# smbpasswd -a zhangsan
New SMB password:
Retype new SMB password:
Added user zhangsan.
[root@promote abc]# smbpasswd -a lisi
New SMB password:
Retype new SMB password:
Added user lisi.
[root@promote abc]# pdbedit -L 查看smb用户
zhangsan:1001:
lisi:1002:
在opt目录下创建test目录,并给其权限
[root@localhost opt]# mkdir test
[root@localhost opt]# chmod 777 test/
回到客户端,清空缓存;服务端重启服务
重启smb服务
[root@localhost opt]# systemctl restart smb
再次登录共享目录,输入刚才新建的smb用户和对应的密码
多了的lisi和zhangsan目录是自动生成的(因为smb配置文件中写好了自动生成的脚本)
在客户端的test文件中写一个222文件,回到服务端查看是否生效
返回客户端,这时用lisi身份尝试写入文件发现写入失败,权限不够
服务端解锁guest来宾用户
打开win系统中的本地策略,按照步骤配置
进行文件夹共享
从centos访问
[root@localhost /]# smbclient -L 192.168.100.8
Enter SAMBA\root's password:
Sharename Type Comment
--------- ---- -------
ADMIN$ Disk 远程管理
C$ Disk 默认共享
D$ Disk 默认共享
F$ Disk 默认共享
IPC$ IPC 远程 IPC
samnet Disk
Reconnecting with SMB1 for workgroup listing.
do_connect: Connection to 192.168.100.8 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
[root@localhost /]# mount.cifs //192.168.100.8/samnet /gz
Password for root@//192.168.100.8/samnet:
[root@localhost /]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 50G 6.9G 44G 14% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 13M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 181M 834M 18% /boot
/dev/mapper/centos-home xfs 245G 33M 245G 1% /home
tmpfs tmpfs 378M 4.0K 378M 1% /run/user/42
tmpfs tmpfs 378M 48K 378M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt
//20.0.0.12/samnet cifs 200G 96M 200G 1% /gz
挂载成功
[root@localhost /]# cd gz
[root@localhost gz]# ls
shangchuan.txt
[root@localhost gz]# cat shangchuan.txt
֢oˇwindows 7 µŎļþ #编码原因
[root@localhost gz]#