SAMBA服务器

来源:互联网 发布:7z ubuntu 解压 编辑:程序博客网 时间:2024/06/06 05:51

一、介绍

SAMBA最初发展的主要目的就是用来进行沟通windows与unix like这两个不同的操作系统平台

主要功能为:

1、共享文件与打印机服务

2、可以提供用户登陆samba主机时的身份认证,以提供不同身份用户的个别数据

3、可以进行windows网络上的主机名解析

4、可以进行设备的共享

协议:SAMBA使用的NetBIOS通信协议,NetBIOS是无法跨越路由的,目前SAMBA还是比较广泛的使用在LAN中,也可以通过NetBIOS over TCP/IP的技术,就可以跨路由使用SAMBA服务器提供的功能。

二、构成

主要使用软件包:

samba.x86_64   :主要提供了SMB服务器所需要的各项服务程序(smbd、nmbd)

samba-client.x86_64    :主要提供客户端所需要的命令

samba-common  :主要提供了客户端与服务端都会使用到的命令


SAMBA服务器主要是通过两个服务

1、nmbd:用来管理工作组、NetBIOS Name等的解析,主要是利用UDP协议开启端口137、138来负责名称解析的任务

2、smbd:用来管理SAMBA主机共享的目录、文件与打印机等,主要是利用可靠的TCP协议来传输数据,开放的端口为139、445

主配置文件   :/etc/samba/smb.conf

三、主要使用命令

服务端:设置火墙策略,添加服务,开启smb服务

[root@serevr ~]# firewall-cmd --permanent --add-service=samba
success
[root@serevr ~]# firewall-cmd --permanent --add-service=samba-client
success

[root@serevr ~]# systemctl restart firewalld.service            永久设置,重启服务

客户端:匿名用户登陆

[root@serevr ~]# smbclient -L //172.25.254.173


服务端:设置samba用户,samba用户必须为服务器端的本地用户

[root@serevr ~]# smbpasswd -a student                ##student用户为本地用户
New SMB password:                                               ##samba用户密码与linux登陆密码可一致也可不一致
Retype new SMB password:
Added user student.
[root@serevr ~]# pdbedit -L                                    ##查看samba用户
student:1000:Student User


客户端:[root@serevr ~]# smbclient -L //172.25.254.173 -U student          ##使用student用户身份登陆
Enter student's password:


[root@serevr ~]# smbclient //172.25.254.173/student -U student   ##进入共享中的student目录



###要是发现进入student目录中ls没有出现的内容,检查selinux的问题,若安全上下文不匹配则ls不能显示出来。

而且会出现挂载不上的问题。


[root@serevr ~]# setsebool -P samba_enable_home_dirs 1


客户端:挂载测试

[root@www ~]# mount -o username=student,password=student //172.25.254.173/student /mnt/


修改配置文件 (此配置文件中#;都是注释符号)

1、设置与主机名有关的信息

 89         workgroup = zhaoyan                                    ##工作组的名称
 90         netbios name=zhaoyanserver                       ##主机的NetBIOS名称,每台主机均不同
 91         server string = Samba Server Version  %v        ##主机的简易名称

客户端:测试



黑白名单

 96 ;       hosts allow = 127. 192.168.12. 192.168.13.                      ##默认是一个网段

 97         hosts deny = 172.25.254.71                                              ##拒绝172.25.254.71主机连接



客户端:测试



加入共享的内容:

        [DATA]
        comment = hahaha
        path = /westos

使用[root@localhost westos]# testparm    测试是否文件是否有错误



##此时在客户端测试挂载时出现报错


##报错原因为服务端/westos的目录权限不够

修改该目录的权限

客户端测试:

[root@www ~]# mount //172.25.254.173/DATA /mnt/ -o username=student,password=111


可以在配置文件中进行开机直接自动挂载

vim /etc/fstab


增加参数:

        [DATA]
        comment = hahaha
        path = /westos
        writable = yes                   ##可写
        guest ok = yes                  ##单纯共享时,让用户随意登陆设置值
让用户student可写

客户端测试:


让student组的用户均可写:


配置文件:


测试:




让某一用户在挂载后使用root的身份



配置文件:



测试:


不能被浏览到资源名称:

配置文件:


测试:



共享资源仅能被student组的用户可以浏览:

配置文件:


若在客户端的student用户将共享资源挂载在/mnt/上,但经过测验,退出student用户westos登陆其本机的帐号密码,/mnt/下仍然是挂载状态,而且若权限与服务端允许,该共享资源的内容是可以被随意改写的,此下,设置权限,改变此不安全的行为。

多用户挂载:[root@www mnt]# yum install cifs-utils.x86_64 -y


在客户端的行为:


建立文件:

vim /root/smbfile


chmod 600 /root/smbfile

测试:

[root@www ~]# mount -o credentials=/root/smbfile,multiuser,sec=ntlmssp //172.25.254.173/DATA /mnt


切换客户端的用户


该切换的用户也可进行一次samba的登陆

[student@www ~]$ cifscreds add -u zhaoyan 172.25.254.173





原创粉丝点击