欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

samba服务部署与实践

程序员文章站 2022-05-17 18:04:59
...

1 Samba的介绍

  • SMB是一个协议名,全称是Server Message Block(服务器消息快协议),用于在计算机间共享文件、打印机、串口等,电脑上的网上邻居由它实现。
  • 是应用层(和表示层)协议,使用C/S架构,其工作的端口与其使用的协议有关。
  • 当远程连接计算机访问共享资源时有两种方式: 
  1.         \\共享计算机地址\共IP享资源路径
  2.         \\共享计算机名\共享资源路径

其中,使用计算机名访问时,SMB服务工作在NetBIOS协议之上,用的是TCP的139端口;使用IP地址访问时,用的是TCP的445端口。

  • SMB工作过程:版本协商--->会话请求凭据--->文件路径凭据--->对共享资源进行操作
  • 配置SMB服务就是启用网络发现和打印机共享(如果网络配置为公用默认不开启,需要手工开启)

2 Samba的使用

2.1 samba服务的组成部分

Samba-common – 用来提供一些配置文件
Samba-client – 客户端应用程序
Samba – 服务端应用程序
samba在linux系统上的服务名称:smb
服务端口:通常使用TCP/445进行所有连接。还使用UDP137、UDP138和TCP/139进行向后兼容
主配置文件:/etc/samba/smb.conf

samba服务部署与实践

samba服务部署与实践

samba服务部署与实践

samba服务部署与实践

配置文件:

samba服务部署与实践

samba服务部署与实践

客户端测试:

samba服务部署与实践

samba服务部署与实践

修改共享目录的参数
2.1修改目录说明(comment)

vim /etc/samba/smb.conf
comment=van dir 
systemctl restart smb   
smbclient -L //172.25.60.100  #发现共享出来的目录与文件,会看到目录的comment改变

samba服务部署与实践
 samba服务部署与实践

2.2 设置共享文件隐藏,但并不是代表没有共享,照样可以使用

 vim /etc/samba/smb.conf
 browseable=no   (默认是yes)
 systemctl restart smb  
 smbclient -L //172.25.60.100 发现不了共享目录
 smbclient //172.25.60.100/van -U van  但是可以登陆使用
samba服务部署与实践

samba服务部署与实践

2.3 设置用户登录samba

服务端:
 vim /etc/samba/smb.conf
 valid users=westos   只允许用户westos登陆
 systemctl restart smb 
 客户端:
 smbclient //172.25.60.100/LEE -U van  不可以登陆使用
 smbclient //172.25.60.100/LEE -U westos   可以登陆使用
#####samba用户#####
添加用户smb用户westos2
 useradd westos2 ;smbpasswd -a westos2 
 pdbedit -L 查看该服务用户
 pdbedit -x westos2  删除westos2用户
 

samba服务部署与实践

samba服务部署与实践

samba服务部署与实践

2.4 设置登陆列表 vim /etc/samba/smb.conf

valid users=+westos   允许用户组westos登陆,用户属于westos组都可以登陆(@符也可以)
systemctl restart smb  
useradd -G westos haha
smbclient //172.25.254.133/LEE -U haha  可以登陆使用
smbclient //172.25.254.133/LEE -U van  不可以登陆使用

samba服务部署与实践

samba服务部署与实践

samba服务部署与实践

2.5 设置用户是否可写与可写列表:

服务端:
vim /etc/samba/smb.conf
writable=yes
write list=westos
systemctl restart smb 
smbclient //172.25.254.133/van -U westos  
put和rm不行,文件系统权限没有
setfacl -m u:westos:rwx /van
客户端: 
  smbclient //172.25.60.100/LEE -U westos  可以进行写操作

samba服务部署与实践

samba服务部署与实践

samba服务部署与实践
2.6设置可写用户组

     vim /etc/samba/smb.conf
         write aaa@qq.com
     systemctl restart smb 
         smbclient //172.25.60.100/LEE -U westos  可以写
          useradd tom
          usermod -G  westos tom
          smbclient //172.25.60.100/LEE -U tom  可以写

samba服务部署与实践

samba服务部署与实践

samba服务部署与实践

samba服务部署与实践
2.7设置共享文件的超户
       当我添加了smb用户linux后,把writable=yes可写参数打开
        但是使用linux用户登陆,不可写
         smbclient //172.25.254.233/van -U linux 仍然不能可写
        因为getfacl列表中只对超户westos可写
        我们把linux设置为超户实现linux用户可写
        vim /etc/samba/smb.conf
         admin users=linux
          smbclient //172.25.254.233/van -U linux 可写了
          put linuxfile
          在服务端查看时,cd /van
          ll  上传的linuxfile文件所有人为root

samba服务部署与实践

samba服务部署与实践

samba服务部署与实践

samba服务部署与实践

samba服务部署与实践

2.8设置匿名用户是否可以登陆

   smbclient //172.25.60.100/van  本身匿名用户不能登陆
          vim /etc/samba/smb.conf
          guest ok=yes
          systemctl restart smb 
           smbclient //172.25.60.100 /van   可以登陆了
            但是,该身份仅在smb交互界面可以使用,不能用来挂载
           需要添加参数:
           vim /etc/samba/smb.conf
           map to guest=bad user   
           systemctl restart smb 
           mount //172.25.60.100/van /mnt -o username=guest

 

samba服务部署与实践samba服务部署与实践

samba服务部署与实践samba服务部署与实践

samba服务部署与实践samba服务部署与实践

samba服务部署与实践samba服务部署与实践

samba服务部署与实践samba服务部署与实践

3 samba多用户身份设定

客户端:

  1. 安装软件
yum install cifs-utils -y

samba服务部署与实践

samba服务部署与实践samba服务部署与实践

匿名用户可以直接通过samba用户名和用户密码进行登录,密码裸露在命令行中,是不太安全的。同时所有用户都可以查看共享文件,也是不合理的,我们需要进行设置认证名单。

credentials=/root/smbfile指定挂载时所用到的用户文件
multiuser 支持多用户认证
sec=ntlmssp 认证方式为标准smb认证方式

samba服务部署与实践samba服务部署与实践

首先,在客户端创建一个普通用户linux,将共享目录挂载,root用户可以进入挂载目录并查看目录中的内容。切换到linux用户,进入挂载目录,没有权限)。

samba服务部署与实践samba服务部署与实践

 多用户身份设定

 samba服务部署与实践 

共享目录永久挂载:

 samba服务部署与实践 

 samba服务部署与实践 

 samba服务部署与实践 

 

相关标签: samba