Samba文件共享

 

cifs是实现文件共享服务的一种文件系统,主要用于实现windows系统中的文件共享,linux系统中用的比较少

linux系统中利用cifs文件系统实现文件共享,需要安装smaba服务

samba

samba是在linux和unix系统上实现smb协议的一个免费软件,由服务器及客户端程序构成smb(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。smb协议是 客户机/服务器型协议,客户及通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源smaba实现的是linux和windows不同平台的资源共享.

服务器端:

1.安装smb服务
  yum install samba samba-client samba-common -y

  systemctl start smb                      ##开启服务

  systemctl stop firewalld             ##关闭火墙
  smbclient -L //172.25.254.145     ##查看172.25.254.145主机的smb共享,匿名用户登陆
  enter                                                 ##不需要密码

2.添加smb用户

  smbpasswd -a westos          ##此用户必须是主机已有用户,否则无效
  pdbedit -L                                 ##查看smb用户信息
  pdbedit -x westos                 ##删除smb用户
   

  smbclient -L //172.25.254.145 -U student      ##-L是列出的意思 使用smb用户查看172.25.254.145共享列表

                                                                                  ##默认共享出来的是用户的加目录
  smbclient //172.25.254.145/student -U student #student查看自己的家目录 但是不能看到student家目录里面的内容,是由于selinux的限制.有两种方法可以解决
1.此时将selinux限制打开(setenforce 1),就可以看到student家目录里边的内容

 

2.在enforcing状态下登陆smb用户

getsebool -a | grep samba                                

setsebool -P samba_enable_home_dirs on   ##开启家目录的访问权限

 

ls             ## 查看当前目录下的文件及目录
  !ls            ##当前用户在系统中所处路径下存在的文件及目录(从根下登陆smb)

 put:只能上传相对路径下的文件

3.挂载 

挂载后上传及创建文件比起使用smbclient命令更方便

临时挂载文件系统:
mount -o username=student,password=student //172.25.254.145/student /mnt     
 df


永久挂载该文件系统

vim /etc/fstab

//172.25.254.145/student /mnt cifs defaults,username=student,password=student 0 0

mount -a

切换到挂载在目录/mnt下,建立一个文件,再次用student登陆samba服务,ls可以看到建立的文件

在服务端/home/student下也看到,三者同步,客户端的一个文件保存

 

二 、自定义添加共享目录  

第一种情况:自建目录的共享

服务端:(172.25.254.145)

 1.添加新的共享目录的基本设定
   mkdir /westos                                         ##新建目录
   touch /westos/westosfile{1..3}           ##新建目录下新建文件
   vim /etc/samba/smb.conf                   ##将新建的文件目录编辑进去
    [DATA]                                                   ##共享名称 使用smbclient命令进入此目录时,需使用linux而不是westos
     comment=对共享目录的描述
     path=共享目录的绝对路径
     browseable=yes ##隐藏共享文件,yes时不隐藏


 
  systemctl restart smb   ##重启服务

客户端:(172.25.254.245)

  smbclient -L //172.25.254.145 -U student ##查看共享信息,可
                         以看到刚刚编辑的DATA(也就是westos目录)

此时虽然可以看到共享目录(出现linux),但用户却无法访问

方法一:setenforce 0(这里指的是服务端的selinux)

方法二:改变/westos的安全上下文(服务端:172.25.254.145)

semanage fcontect -a -t samba_share_t '/westos(/.*)?'     ##改变此目录的安全上下文列表

restorecon -RvvF /westos                                                         ##改变完成后记得刷新查看

修改完客户端安全上下文之后在客户端(172.25.254.245)查看

方法三:修改服务端(172.25.254.145)setsebool -P samba_export_all_ro on打开这个权限 就可以进行访问(172.25.254.245),并且自己建立的目录不改变安全上下文也可以进行访问(因为这个开放的权限大)

第二种情况:系统级目录的共享(/mnt为例)

服务端(172.25.254.145):

vim /etc/samba/smb.conf   ##在主配置文件里编辑好相关配置信息:名字、说明、绝对路径

重启服务后,使用student用户登陆/mnt目录时(客户端172.25.254.245),查看不到共享的文件file1,file2,file3

设置  setsebool -P samba_export_all_ro on(服务端)  权限比给单独文件设置安全上下文大

客户端测试:

三、挂载共享目录权限的设定

 1.本地用户访问配置
   rpm -qc  samba                     ##查看smb服务相关配置文件
   vim /etc/samba/smb.conf
   91 hosts allow = 172.25.254.45     ##仅允许该ip主机进行访问
   92 hosts deny = 172.25.254.45      ##仅拒绝该用户主机访问

    systemctl restart smb
   测试:
   在测试主机 sbmclient //172.25.254.145/student -U student

1)设置只允许172.25.254.45主机访问

基本配置信息

workgroup ##工作组的设定

server string  ##全局共享信息

hosts deny    ##客户端黑名单

在已经安装了samba-client的客户机测试(172.25.254.45)

2)设置只拒绝172.25.254.45主机访问服务器端smb共享文件

在已经安装了samba-clent的客户机(172.25.254.245)中访问


   3)如果设置为
   hosts allow = 172.25.254.0/24  ##表示服务重启后ip为172.25.254这个网段的ip都可以挂载

在客户端(172.25.254.245)中测试;


2,本地用户挂载配置

1) valid users= westos   设置有效用户为westos(westos必须是系统中存在且添加到smb服务中的用户)

5)valid users= @westos   用户在westos组中都为有效用户

3.本地用户写权限配置

1)writeable = yes  允许用户可写(选项为no时即使给777的权限也不能有写权限)

2)writelist = westos  设置可写的用户名单


 2.匿名用户挂载配置
 1)vim /etc/samba/smb.conf
   map to guest = bad user   ##匿名用户为除了本地用户外的用户
   writeable = yes           ##可写权限
   guest ok = yes            ##匿名用户可登陆
   systemctl restart smb

##进行这一步时需要将上一步本地用户权限注释掉

2)browseable = no   用户在查询目录时不隐藏linux目录

browseable = yes   用户在查询目录时隐藏linux目录

3)admin users = westos  设置westos为超级用户

设定student用户为当前共享的root(因为将文件改为755只有超级用户可以建立文件而且不用重启服务即可生效)

chmod  755  /westos/              

 2) 在服务端进行匿名用户挂载,挂载上以后载/mnt目录下新建文件的所属人和所属组都为nobody说明为匿名用户:
  mount  //172.25.254.145/linux /mnt -o username=guest


  cd /mnt
  ls
  touch sj
  ls -l

##客户端也可以进行挂载

 2) 在服务端进行匿名用户挂载,挂载上以后载/mnt目录下新建文件的所属人和所属组都为nobody说明为匿名用户:
  mount  //172.25.254.145/linux /mnt -o username=guest

 smb多用户挂载(在客户端中完成):

 在客户端下载认证插件:yum install cifs-utils


 1.在客户端/root下新建文件:vim /root/smbauth(文件名自定义),将用户身份和密码编辑进去,
  username=shijin
  password=shijin


 chmod 600 /root/smbauth   ##文件设置权限设置
 

 然后挂载:

mount      -o credentials=rootsmbauth,multiuser,sec=ntlmssp //172.25.254.145/DATA /mnt
    ##credendtials=/root/smbauth  ##为指定挂载时用到的用户文件,即用户名和密码

    ##multiuser 表示多用户认证

   ##sec=ntlmssp表示认证方式为标准smb认证方式
df


ls /mnt
然后切换到新建的本地用户tom,tom想要查看/mnt目录的文件。或者写入,则需要经过用户认证,
输入/root/smbauth中的密码才可以进入:
su - tom
cifscreds add -u shijin  172.25.254.145
shijin        ##密码
ls /mnt

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断
Samba 是一个开源软件套件,它允许 Linux 和 UNIX 系统与 Windows 操作系统之间共享文件和打印机。Samba 通过实现 SMB/CIFS 协议,使得 Windows 客户端能够访问 Linux/UNIX 系统上的共享资源。 使用 Samba 文件共享系统,你可以在局域网内轻松地共享文件和打印机。以下是一些关于 Samba 的重要知识点: 1. 安装和配置:你需要在 Linux/UNIX 系统上安装 Samba 软件包,并进行相应的配置。配置文件一般为 /etc/samba/smb.conf,你可以在其中定义共享的文件夹和权限设置。 2. 共享文件夹:通过 Samba,你可以将指定的文件夹设置为共享文件夹,并控制对该文件夹的访问权限。你可以设置只读或读写权限,并可以限制特定用户或用户组的访问。 3. 认证和权限控制:Samba 支持多种认证方式,包括本地用户、LDAP、Active Directory 等。你可以根据需要配置不同的认证方式,并设置相应的用户权限。 4. 客户端访问:在 Windows 客户端上,你可以使用资源管理器或运行命令来访问 Samba 共享的文件夹。你需要输入正确的网络路径或 IP 地址,并进行身份验证(如果需要)。 5. 打印机共享:除了文件共享Samba 还支持打印机共享。你可以将打印机设置为共享,并允许 Windows 客户端连接并使用打印机。 通过 Samba 文件共享系统,你可以方便地实现 Linux/UNIX 系统与 Windows 客户端之间的文件共享和打印机共享。它是一个功能强大且广泛使用的解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值