Samba
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源
配置DHCP服务
安装dhcp服务包
[root@localhost ~]# yum install dhcp -y
修改dhcp主配置文件
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
开启dhcp功能
[root@localhost ~]# systemctl start dhcpd
测试windows10与linux主机的联通性
配置samba服务
安装Samba软件包
[root@localhost ~]# yum install samba -y
安装完成后,对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
[root@localhost samba]# ls
lmhosts smb.conf.bak smb.conf.example
[root@localhost samba]# grep -v "#" smb.conf.bak > smb.conf
[root@localhost samba]# ls
lmhosts smb.conf smb.conf.bak smb.conf.example
匿名访问的配置
配置Samba配置文件
[root@localhost samba]# vim smb.conf
[share]
path=/opt/abc
public=yes //公共访问
browseable=yes //能访问
writable=yes //能写入
create mask=0644
directory mask=0755 //权限
创建文件夹,给于他权限,并关闭防火墙,和安全功能,开启smb服务
[root@localhost samba]# ls /opt
rh
[root@localhost samba]# mkdir /opt/abc
[root@localhost samba]# chmod 777 /opt/abc
[root@localhost samba]# ls -l /opt
总用量 0
drwxrwxrwx. 2 root root 6 11月 5 16:37 abc
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
[root@localhost samba]# systemctl stop firewalld.service
[root@localhost samba]# setenforce 0
[root@localhost samba]# systemctl start smb //开启smb服务
在windows10 客户机测试,输入\192.168.45.130,进行测试
可以直接访问到文件夹,并且可以在里边创建文件,并且可以保存
身份验证访问
配置smb主配置文件
[root@localhost abc]# vim /etc/samba/smb.conf
[test]
path=/opt/test
browseable=yes
writable=yes //代表所有人可以写,删除后下边的write才能生效
create mask=0644
directory mask=0755
valid users=zhangsan, lisi //zhamgsan和lisi可以访问共享文件夹
write list=zhangsan //只有zhangsan可以写
创建两个用户,并为它们创建Samba密码
[root@localhost abc]# useradd zhangsan
[root@localhost abc]# useradd lisi
[root@localhost abc]# smbpasswd -a zhangsan
New SMB password: //输入 密码
Retype new SMB password: //确认密码
Added user zhangsan.
[root@localhost abc]# smbpasswd -a lisi
New SMB password:
Retype new SMB password:
Added user lisi.
[root@localhost abc]# pdbedit -L //查看Samba账号
zhangsan:1001:
lisi:1002:
创建test文件夹,并给于他权限
[root@localhost abc]# cd /opt
[root@localhost opt]# ls
abc rh
[root@localhost opt]# mkdir test
[root@localhost opt]# chmod 777 test
[root@localhost opt]# ls -l
总用量 0
drwxrwxrwx. 3 root root 29 11月 5 17:06 abc
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
drwxrwxrwx. 2 root root 6 11月 5 17:21 test
重启smb服务
[root@localhost opt]# systemctl restart smb
在windows10 测试,发现进test文件夹需要登录
输入刚才创建的zhangsan和lisi用户都可以登录,但发现只有zhangsan能够写入,但lisi不行,只能查看
[root@localhost opt]# cd /etc/samba/
[root@localhost samba]# vim smbusers
# Unix_name = SMB_name1 SMB_name2 ...
root = administrator admin
nobody = guest pcguest smbguest
zhangsan = t01 t02
重启smb服务
[root@localhost samba]# systemctl restart smb
在windows10上用t01登录,并创建tesy文件夹
返回linux主机,进行查看
[root@localhost samba]# ls -l /opt/test
总用量 0
drwxr-xr-x. 2 zhangsan zhangsan 22 11月 5 18:38 text
访问控制列表
进入samba配置文件
[root@localhost samba]# vim smb.conf
重启smb服务
[root@localhost samba]# systemctl stop smb
[root@localhost samba]# systemctl start smb
在windows10 主机上我们可以看到,主机访问不到了
利用linux做客户端,让linux可以把windows的共享文件夹挂载到自己本地
根目录下创建ck文件夹
[root@localhost samba]# mkdir /ck
在windows 10 系统上创建一个文件夹。
并开启guest用户
进入本地安全策略,修改网络连接配置
修改策略,设置为仅来宾
然后刷新策略
然后共享文件夹,设置为guest共享,并设置为权限最大
在linux上查看共享
[root@localhost samba]# smbclient -L 192.168.45.131
Enter SAMBA\root's password:
将windows10 上的benet文件夹挂载到/ck/目录下
[root@localhost samba]# mount.cifs //192.168.45.131/benet /ck
Password for root@//192.168.45.131/benet:
[root@localhost samba]# cd /ck
[root@localhost ck]# ls
bt.txt
[root@localhost ck]# cat bt.txt
һvan'voot@localhost ck]# cp bt.txt /opt/
[root@localhost ck]# ls /opt
abc bt.txt rh test
[root@localhost ck]#