基于linux的CIFS 文件的存储

SMB 文件共享

用 Internet 文件系统 (CIFS) 也称为服务器信是适用于
MicrosoftWindows 服务器和客户端的标准文件和打印机共享
系统息块 (SMB)
Samba 服务可用于将 Linux 文件系统作为 CIFS/SMB 网络文
件共享进行共享 , 并将 Linux 打印机作为 CIFS/SMB 打印机共
享进行共享
Samba 服务的组成部分
软件包 :
Samba-common – Samba 的支持文件
Samba-client – 客户端应用程序
Samba – 服务器应用程序
服务名称 :smb nmb
服务端口 : 通常使用 TCP/445 进行所有连接。还使用
UDP137UDP138TCP/139 进行向后兼容
主配置文件 :/etc/samba/smb.conf

(一)
在服务端:

 yum search samba  ##查询samba的安装包
 yum install samba-client samba-common samba -y ###安装这三个软件
 systemctl start smb  ##开启smb服务
 systemctl enable smb  ##设置开机自启动
 systemctl stop firewalld  ##关闭火墙
 systemctl disable firewalld  ###设置开机不自启动火墙
 netstat -antlupe | grep smb  ###查看smb所开的端口

这里写图片描述

 id student   ##查看用户
 id westos    ###查看用户
 useradd westos    ###建立westos用户
 smbpasswd -a student   ###添加smb用户
 smbpasswd -a westos
 pdbedit -L          ###查看添加的smb用户
 pdbedit -x student  ####删除smb用户

这里写图片描述
这里写图片描述

getsebool -a | grep samba  ###查看samba的sebool值
setsebool -P samba_enable_home_dirs on  ###打开开关

这里写图片描述
在客户端:

yum install samba-client -y
smbclient -L //172.25.254.217  ###查看smb匿名用户
smbclient  //172.25.254.217/student -U student  ##普通用户登陆smb

这里写图片描述

smbclient -L //172.25.254.217 -U student ###查看smb里的student用户

这里写图片描述

smbclient -L //172.25.254.217 -U westos  ###查看smb里的westos用户

这里写图片描述

smbclient  //172.25.254.217/student -U student  ##普通用户登陆smb

这里写图片描述
当服务端samba用户家目录访问开关开启后

(二)
在客户端:

cd /etc/   ###要上传什么文件,就需要先进入其所在目录
smbclient  //172.25.254.217/student -U student
       ####进入后上传passwd
cd /bin/
smbclient  //172.25.254.217/student -U student
       #####进入后上传ls

这里写图片描述
这里写图片描述

mount //172.25.254.217/student /mnt/ -o  username=student,password=123 ##挂载到/mnt下

这里写图片描述
永久挂载

 1. umount /mnt 
     vim /etc/fstab
     写入://172.25.254.217/student /mnt  cifs  defaults,username=student,password=123  0 0
     mount -a  ###刷新挂载

这里写图片描述
这里写图片描述

2.vim /etc/rc.d/rc.local
写入:mount -o username=student,password=123 //172.25.254.217/student /mnt
reboot   ##重启
df   ###查看挂载

这里写图片描述

 cd /mnt/  ###切入/mnt目录
 touch file{1..5}   ###建立5个文件
 ls   ###查看是否建立

这里写图片描述

在服务端:
cd /home/student   ####因为是student登录的,所以建立的东西在/home/student里
ls
####查看里面上传的文件和挂载到/mnt后建立的文件

这里写图片描述
(三)
在服务端:

rpm -qc samba-common
vim /etc/samba/smb.conf
     修改:workgroup = XBW  ###更改工作目录

这里写图片描述
这里写图片描述

vim /etc/samba/smb.conf
写入:hosts allow 172.25.254.117  ###白名单设定
systemctl restart smb

在客户端172.25.254.117上
这里写图片描述
在服务端172.25.254.217上
这里写图片描述

vim /etc/samba/smb.conf
hosts deny 172.25.254.117   ###黑名单设定
systemctl restart smb

这里写图片描述
在客户端172.25.254.117上
这里写图片描述
在服务端172.25.254.217上
这里写图片描述
(四)
在服务端:

 mkdir /westos
 vim /etc/samba/smb.conf   ##共享自己建立的目录
      写入:[DIR]
           comment = westos dir
           path = /westos 
systemctl restart smb
semanage fcontext -a -t samba_share_t '/westos(/.*)?' ##修改/westos安全上下文类型
restorecon -RvvF /westos/   ###刷新
ls -Zd /westos/   ###查看安全上下文类型

这里写图片描述

在客户端:smbclient  //172.25.254.217/DIR -U student  ##登陆并共享DIR目录
         ls     ###进行测试

这里写图片描述

在服务端: touch /mnt/file{1..5}
        ls /mnt/
        vim /etc/samba/smb.conf   ###共享系统已有的目录
     写入:[mnt]
           comment = /mnt dir
           path = /mnt 
systemctl restart smb
setsebool -P samba_export_all_ro on   ###修改sebool值,系统目录samba只读设置
在客户端:smbclient  //172.25.254.217/mnt -U student  ##登陆并共享mnt目录
ls     ###进行测试,查看是否能看见建立的5个文件

这里写图片描述
(五)
在服务端:

vim /etc/samba/smb.conf
写入:           [DIR]
           comment = westos dir
           path = /westos
           browseable = no    ####yes表示可以浏览,no表示目录直接会被隐藏
浏览验证:smbclient -L //172.25.254.217/DIR -U student

DIR目录被隐藏了
这里写图片描述

vim /etc/samba/smb.conf
写入:           [DIR]
           comment = westos dir
           path = /westos
           writable = yes      ##yes表示所有用户可写,no都不可写,做测试时先chmod 777 /westos 增大目录权限,不然都会被拒绝(因为你是用普通用户登陆的)
写验证:
mount //172.25.254.217/DIR /mnt/ -o username=student,password=123
touch /mnt/file   ##验证

这里写图片描述

vim /etc/samba/smb.conf
写入:           [DIR]
           comment = westos dir
           path = /westos
           browseable = yes    ##yes表示可以浏览,no表示目录直接会被隐藏
           writable = yes      ##yes表示所有用户可写,no都不可写,做测试时先chmod 777 /westos 增大目录权限,不然都会被拒绝(因为你是用普通用户登陆的)
           write list = @student  ##(当不加@时表示,只有student可写,当加上@时,只要是student组的用户也可以写)
写验证:
mount //172.25.254.217/DIR /mnt/ -o username=student,password=123
touch /mnt/file   ##验证
umount /mnt 
mount //172.25.254.217/DIR /mnt/ -o username=westos,password=234
touch /mnt/file2  ##验证

此时westos用户不能写:
这里写图片描述
当westos添加student组后便可写:
这里写图片描述
这里写图片描述

在服务端:
vim /etc/samba/smb.conf
写入:           [DIR]
           comment = westos dir
           path = /westos
           browseable = yes    ##yes表示可以浏览,no表示目录直接会被隐藏
           writable = yes      ##yes表示所有用户可写,no都不可写,做测试时先chmod 777 /westos 增大目录权限,不然都会被拒绝(因为你是用普通用户登陆的)
           write list = @student  ##(当不加@时表示,只有student可写,当加上@时,只要是student组的用户也可以写)
           admin users = westos  ##表示westos用户对DIR这个共享目录来说是超户,做之前先 chmod 755 /westos 把权限改为原来的

这里写图片描述
这里写图片描述

在客户端:
写验证:
mount //172.25.254.217/DIR /mnt/ -o username=student,password=123
touch /mnt/file3   ##验证

这里写图片描述
samba的多用户认证

yum install cifs-utils.x86_64 -y  ###安装cifs-utils
vim /root/smbpass
写入:username=student
    password=123
mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.217/DIR /mnt  ####以ntlmssp认证方式挂载到/mnt下
cd /mnt/
ls
useradd linux
su - linux   ###切换一个实际用户,验证是否能够访问
ls /mnt  ###会被deny掉,拒绝
cifscreds add -u westos 172.25.254.217  ##添加一个samba用户,进行验证
输入密码234
ls /mnt  ##就可以看到了

这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/xbw_linux123/article/details/80597180