samba服务
- 一、samba概述
- 二、samba构成
- 三、实验
一、samba概述
samba 是基于SMB协议(ServerMessage Block,信息服务块)的开源软件,samba也可以是SMB协议的商标。SMB是一种Linux、UNIX系统上可用于共享文件和打印机等资源的协议,这种协议是基于Client\Server型的协议,Client端可以通过SMB访问到Server(服务器)上的共享资源。当Windows是 Client,CentOS是服务器时,通过Samba就可以实现window访问Linux的资源,实现两个系统间的数据交互。
二、samba构成
1.samba软件包的构成
主要包括服务端软件samba、客户端软件samba-client,用于提供服务端和客户端程序的公共组件samba-commom.
2.samba服务提供smbd、nmbd两个服务,分别完成不同的功能。其中,smbd负责为客户机提供服务器中共享资源(目录和文件)的访问,nmbd负责提供基于NetBIOS协议的主机名称解析,以便Windows网络中的主机进行查询服务。
3.安装好软件包以后,系统中会添加名为smb和nmb的标准系统服务,管理员可以通过service工具来控制samba服务的启动与终止。
三、实验
1.配置linux的dhcp
[root@localhost ~]# yum -y install dhcp //安装dhcp
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
root@localhost ~]# vim /etc/dhcp/dhcpd.conf //配置dhcp配置文件
subnet 192.168.220.0 netmask 255.255.255.0 {
range 192.168.220.128 192.168.220.180;
option routers 192.168.220.110;
option domain-name-servers 192.168.220.110;
}
[root@localhost ~]# systemctl restart dhcpd
2.win10 自动获取IP地址
3.安装samba包
[root@localhost ~]# yum -y install samba //安装samba包
[root@localhost ~]# cd /etc/samba/
[root@localhost samba]# ls
lmhosts smb.conf smb.conf.example
[root@localhost samba]# mv smb.conf smb.conf.bak //备份samba配置文件
[root@localhost samba]# grep -v "#" smb.conf.bak > smb.conf //过滤samba中#注释掉的句子
[root@localhost samba]# ls
lmhosts smb.conf smb.conf.bak smb.conf.example
4.配置samba匿名访问
[root@localhost samba]# vim smb.conf
[global]
map to guest = Bad User //加这句话为匿名者
[share]
path = /opt/abc //指定文件路径
public = yes //公共文件
browseable = yes //可访问
writable = yes //可写
create mask = 0644 //上传权限
directory mask = 0755 //文件目录权限
:wq
[root@localhost samba]# mkdir /opt/abc //创建路径目录文件
[root@localhost samba]# ls -l /opt
总用量 0
drwxr-xr-x. 2 root root 6 7月 16 09:46 abc //查看abc权限
drwxr-xr-x. 2 root root 6 10月 31 2018 rh
[root@localhost samba]# chmod 777 /opt/abc/ //给abc目录可读可写可执行权限
t@localhost samba]# ls -l /opt/
总用量 0
drwxrwxrwx. 2 root root 6 7月 16 09:46 abc //查看权限
drwxr-xr-x. 2 root root 6 10月 31 2018 rh
[root@localhost samba]# setenforce 0 //关闭核心防护
[root@localhost samba]# service firewalld stop //关闭防火墙
Redirecting to /bin/systemctl stop firewalld.service
[root@localhost samba]# systemctl start smb //开启samba服务
[root@localhost samba]# netstat -antp //查看端口信息,139,445端口
tcp6 0 0 :::139 :::* LISTEN 14452/smbd
tcp6 0 0 :::445 :::* LISTEN 14452/smbd
.......... //省略部分
进win10客户端匿名登录
匿名用户上传写入
进linux查看
[root@localhost samba]# cd /opt/abc/ //出现创建的目录文档
[root@localhost abc]# ls
111.txt
ocalhost abc]# cat 111.txt //查看文档内容
123456
[root@localhost abc]# ll /opt/abc/ //查看文档所属者和所属组,均为匿名用户nobody
总用量 4
-rw-r--r--. 1 nobody nobody 7 7月 16 11:02 111.txt
[root@localhost abc]# id nobody //查看nobody信息
uid=99(nobody) gid=99(nobody) 组=99(nobody)
5、配置身份验证登录
仅zhangsan,lisi可以访问;zhangsan有写权限,lisi没有写权限
[root@localhost samba]# vim smb.conf
[global]
删除这句话 map to guest = Bad User
[test]
path=/opt/test
create mask=0644
directory mask=0755
valid users=zhangsan,lisi //zhangsan,lisi可访问
write list=zhangsan //仅zhangsan可写
:wq
[root@localhost abc]# systemctl start smb
root@localhost abc]# useradd zhangsan //添加zhangsan账户
[root@localhost abc]# useradd lisi //添加lisi账户
[root@localhost abc]# smbpasswd -a zhangsan //添加zhangsan密码
New SMB password:
Retype new SMB password:
Added user zhangsan.
[root@localhost abc]# smbpasswd -a lisi //添加lisi密码
New SMB password:
Retype new SMB password:
Added user lisi.
[root@localhost abc]# pdbedit -L //查看用户
zhangsan:1001:
lisi:1002:
[root@localhost abc]# cd /opt/
[root@localhost opt]# mkdir test //创建test共享目录
[root@localhost opt]# chmod 777 test/ //增加权限
[root@localhost opt]# ll //查看test权限
总用量 0
drwxrwxrwx. 2 root root 21 7月 16 11:02 abc
drwxr-xr-x. 2 root root 6 10月 31 2018 rh
drwxrwxrwx. 2 root root 6 7月 16 11:40 test
登录zhangsan账户
登录lisi账户
6.使用别名登录
给zhangsan新建一个t01的别名
[root@localhost opt]# cd /etc/samba/
[root@localhost samba]# ls
lmhosts smb.conf smb.conf.bak smb.conf.example
[root@localhost samba]# echo 'zhangsan = t01' > /etc/samba/smbusers //新建一个smbusers目录,写入zhangsan别名
[root@localhost samba]# vim smb.conf //进入配置文件
[global]
username map=/etc/samba/smbusers //添加此内容
[root@localhost samba]# systemctl start smb //启动服务
清除缓存,用别名登录
7.设置访问控制列表
[root@localhost samba]# vim smb.conf //进入配置文件
[global]
hosts deny=192.168.220. //在全局模式下禁止220网段的访问文件
[root@localhost samba]# systemctl start smb
登录拒绝访问
8.linux作为客户端,windows10作为服务端
[root@localhost samba]# cd ~
[root@localhost ~]# mkdir ck //创建一个目录
[root@localhost ~]# ls
anaconda-ks.cfg ck initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
win10下创建文件及内容
linux客户端