配置SMB共享

一、samba服务基础

配置SMB共享,跨平台的共享,Windows与Linux的共享,是第一代反向编译思维的软件,

用途:为客户机提供共享使用的文件夹

协议:SMB(tcp139)协议,CIFS(tcp445)协议

所需软件:samba

系统服务:smb

Samba共享帐号:默认情况下,访问samba共享必须通过用户验证,专门用于访问samba共享时验证的用户与密码,与系统用户为同一用户,但是密码时samba独立密码

二、使用 pdbedit 管理工具

添加用户:pdbedit -a 用户名

查询用户:pdbedit -L [用户名]

删除用户:pdbedit -x 用户名  

三、Samba配置文件

 Samba配置文件位置:/etc/samba/smb.conf

修改 /etc/samba/smb.conf

[自定共享名]

path = 文件夹绝对路径

; public = no|yes //默认no

; browseable = yes|no //默认yes

; read only = yes|no //默认yes

; write list = 用户1 .. .. //默认无

; valid users = 用户1 .. .. //默认任何用户

; hosts allow = 客户机地址 .. ..

; hosts deny = 客户机地址 .. ..

四、修改防火墙的默认区域为trusted

虚拟机Server

[root@server0 ~]# firewall-cmd --set-default-zone=trusted 

虚拟机desktop

[root@desktop0 ~]# firewall-cmd --set-default-zone=trusted

搭建samba服务

一、smb服务端:虚拟机server

1、安装可以提供smb共享功能的软件

[root@desktop0 ~]# yum -y install samba

2、建立samba共享验证的用户

[root@server0 ~]# useradd harry

[root@server0 ~]# useradd kenji

[root@server0 ~]# useradd chihiro

[root@server0 ~]# pdbedit -a harry #添加为Samba共享帐号

[root@server0 ~]# pdbedit -a kenj #添加为Samba共享帐号

[root@server0 ~]# pdbedit -a chihiro #添加为Samba共享帐号vi

[root@server0 ~]# pdbedit -L #查看所有Samba共享帐号

3、创建共享目录文件

[root@server0 ~]# mkdir /common

[root@server0 ~]# ls /common

[root@server0 ~]# echo 123 >/common/123.txt

4、修改配置文件/etc/samba/smb.conf

[root@server0 ~]#tail   -5   /etc/samba/smb.conf

[global]

Workgroup = STAFF     #指定工作组名

[common]                     #指定共享名

path = /common           #指定共享文件夹的实际绝对路径

5、重起smb的服务

[root@server0 ~]# systemctl restart  smb

[root@server0 ~]# systemctl enable smb

6、服务端虚拟机server(布尔值)

-需要加-P选择才能实现永久设置

SElinux策略:布尔值(所有功能的开关)

6.1 查看samba布尔值

[root@server0 ~]# getsebool  -a | grep samba

6.2 修改SElinux策略的布尔值

[root@server0 ~]# getsebool  -a | grep samba

samba_create_home_dirs --> off

samba_export_all_ro --> off

virt_use_samba --> off

[root@server0 ~]# setsebool samba_export_all_ro on

6.3 查看samba布尔值

[root@server0 ~]# getsebool  -a | grep samba

samba_create_home_dirs --> off

samba_export_all_ro --> off

virt_use_samba --> off

二、smb客户端虚拟机desktop

1、安装客户端软件,访问samba共享

[root@desktop0 ~]# yum -y install samba-client

2、查看服务端samba共享,目的查看

[root@desktop0 ~]# smbclient -L  //172.25.0.11

Enter root's password:  #直接敲回车

Anonymous login successful

Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]

Sharename       Type      Comment

---------       ----      -------

common          Disk      

IPC$            IPC       IPC Service (Samba Server Version 4.1.1)

3、以harry身份,访问服务端

[root@desktop0 ~]# smbclient -U harry  //172.25.0.11/common

Enter harry's password:  #输入密码

Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]

smb: \> 

三、科学访问mount挂载

1、使用mount挂载

所需软件包:cifs-utils #支持cifs协议

[root@desktop0 ~]# yum -y install cifs-utils

[root@desktop0 ~]# mkdir /mnt/samba

[root@desktop0 ~]# mount -o user=harry,pass=123   //172.25.0.11/common   /mnt/samba/

[root@desktop0 ~]# df -h

文件系统              容量  已用  可用 已用% 挂载点

/dev/vda1              10G  3.1G  7.0G   31% /

//172.25.0.11/common   10G  3.1G  7.0G   31% /mnt/samba

2、开机自动挂载

 _netdev:网络设备(没有ip禁止使用netdev)

先启动网络服务,具备网络参数后,在进行挂载

[root@desktop0 ~]# yum -y install cifs-utils

[root@desktop0 ~]# mkdir /mnt/samba

[root@desktop0 ~]# df -h

[root@desktop0 ~]# vim /etc/fstab

[root@desktop0 ~]# tail -1 /etc/fstab

//172.25.0.11/common   /mnt/samba  cifs defaults,user=harry,pass=123,_netdev 0  0 

[root@desktop0 ~]# mount -a 

[root@desktop0 ~]# df -h #查看是否挂载成功

文件系统              容量  已用  可用 已用% 挂载点

/dev/vda1              10G  3.1G  7.0G   31% /

//172.25.0.11/common   10G  3.1G  7.0G   31% /mnt/samba

创建读写samba共享

一、服务端虚拟机Server:

1.部署共享

#追加写入

[root@server0 ~]# mkdir /devops

[root@server0 ~]# echo nsd >/devops/test.txt

[root@server0 ~]# vim /etc/samba/smb.conf  #修改配置文件

[root@server0 ~]# tail -5 /etc/samba/smb.conf #查看配置文件后5行

[common]

    path = /common

[devops] #共享名

    path = /devops #共享路径

    write list = chihiro #允许chihiro用户写入

[root@server0 ~]# systemctl restart smb

[root@server0 ~]# systemctl  enable smb

2.修改SELinux策略

[root@server0 ~]# getsebool -a | grep samba

[root@server0 ~]# setsebool samba_export_all_rw on

[root@server0 ~]# getsebool -a | grep samba

3.用户本身的本地权限

[root@server0 ~]# setfacl -m u:chihiro:rwx /devops

[root@server0 ~]# getfacl /devops

[root@server0 ~]# ls -l /devops

二、客户端实现自动挂载desktop

1.实现开机自动挂载

[root@desktop0 ~]# mkdir /mnt/pub

[root@desktop0 ~]# vim /etc/fstab

[root@desktop0 ~]# tail -2 /etc/fstab

//172.25.0.11/devops   /mnt/pub    cifs defaults,user=chihiro,pass=123,_netdev 0  0 

[root@desktop0 ~]# mount -a

[root@desktop0 ~]# ls /mnt/pub/

[root@desktop0 ~]# df -h

文件系统              容量  已用  可用 已用% 挂载点

/dev/vda1              10G  3.1G  7.0G   31% /

//172.25.0.11/common   10G  3.1G  7.0G   31% /mnt/samba

//172.25.0.11/devops   10G  3.1G  7.0G   31% /mnt/pub

2、修改SElinux策略

[root@server0 ~]# getsebool  -a | grep samba

samba_create_home_dirs --> off

samba_export_all_ro --> on

samba_export_all_rw --> off

virt_use_samba --> off

[root@server0 ~]# setsebool samba_export_all_rw on

[root@server0 ~]# getsebool  -a | grep samba

samba_create_home_dirs --> off

......

samba_export_all_ro --> on

samba_export_all_rw --> on

......

virt_use_samba --> off

3、重新加在服务

[root@server0 ~]# systemctl restart smb

[root@server0 ~]# systemctl  enable smb

4、修改客户权限

[root@server0 ~]# setfacl -m u:chihiro:rwx   /devops/

[root@server0 ~]# getfacl /devops/

总结思路:客户端访问服务端资源

1、服务本身的访问控制

2、本地目录的权限

3、防火墙

4、SElinux

 

 

你可能感兴趣的:(linux,samba,文件共享)