基于linux下的cifs文件系统

普通网络文件系统:cifs,可针对windows用户。

SMB 文件共享:

Internet文件系统 (CIFS) 也称为服务器信是适用MicrosoftWindows 服务器和客户端的标准文件和打印机
共享系统信息块 (SMB)Samba 服务可用于将 Linux 文件系统作为 CIFS/SMB 网络文件共享进行共享 , 并将
Linux 打印机作为 CIFS/SMB 打印机共享进行共享。
服务端口 : 通常使用 TCP/445 进行所有连接。还使用UDP137,UDP138TCP/139进行向后兼容。
主配置文件 :/etc/samba/smb.conf。

配置环境:

重置虚拟机,配置IP,yum源,更改主机名字:

desktop(客户端),访问CIFS共享:

hostnamectl set-hostname client.example.com 更改主机名字

这里写图片描述

[root@client ~]# yum install samba-client -y   安装服务

这里写图片描述

[root@client ~]# smbclient -L //172.25.254.221 匿名进行访问,什么也看不到
Enter root's password: 
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

    Sharename       Type      Comment
    ---------       ----      -------
    IPC$            IPC       IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------

这里写图片描述

server:(服务端)

hostnamectl set-hostname server.example.com

这里写图片描述

在服务端开启用户访问:

[root@server ~]# yum search samba   寻找samba安装包
Loaded plugins: langpacks
rhel_dvd                                                 | 4.1 kB     00:00     
(1/2): rhel_dvd/group_gz                                   | 134 kB   00:00     
(2/2): rhel_dvd/primary_db                                 | 3.4 MB   00:00     
============================== N/S matched: samba ==============================
samba-client.x86_64 : Samba client programs    客户端应用程序
samba-common.x86_64 : Files used by both Samba servers and clients  Samba的支持文件
samba-libs.i686 : Samba libraries
samba-libs.x86_64 : Samba libraries
samba-python.x86_64 : Samba Python libraries
samba-winbind.x86_64 : Samba winbind
samba-winbind-modules.i686 : Samba winbind modules
samba-winbind-modules.x86_64 : Samba winbind modules
samba.x86_64 : Server and Client software to interoperate with Windows machines   服务器应用程序

  Name and summary matches only, use "search all" for everything.
[root@server ~]# yum install samba samba-client.x86_64 samba-common -y  安装samba服务

这里写图片描述

[root@server ~]# systemctl start smb   开启服务
[root@server ~]# systemctl enable smb.service   开机自动启动
ln -s '/usr/lib/systemd/system/smb.service' '/etc/systemd/system/multi-user.target.wants/smb.service'
[root@server ~]# systemctl stop firewalld   关闭防火墙
[root@server ~]# systemctl disable firewalld  开机自动关闭
rm '/etc/systemd/system/basic.target.wants/firewalld.service'
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
[root@server ~]# netstat -antlupe | grep smb   查看samba端口
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      0          72127      3611/smbd           
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      0          72128      3611/smbd           
tcp6       0      0 :::445                  :::*                    LISTEN      0          72125      3611/smbd           
tcp6       0      0 :::139                  :::*                    LISTEN      0          72126      3611/smbd           
[root@server ~]# id student   查看用户信息
uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)
[root@server ~]# id westos   westos用户没有建立
id: westos: no such user
[root@server ~]# smbpasswd -a student  添加student用户访问
New SMB password:
Retype new SMB password:
Added user student.

这里写图片描述

[root@server ~]# smbpasswd -a westos  报错由于没有westos用户
New SMB password:
Retype new SMB password:
Failed to add entry for user westos.
[root@server ~]# useradd westos      建立westos用户
[root@server ~]# smbpasswd -a westos 添加westos用户访问
New SMB password:
Retype new SMB password:
Added user westos.
[root@server ~]# pdbedit -L    查看访问用户信息
student:1000:Student User
westos:1001:
[root@server ~]# pdbedit -x student  删除student用户访问
[root@server ~]# pdbedit -L      查看访问用户已经删除student
westos:1001:
[root@server ~]# smbpasswd -a student 重新添加student访问用户
New SMB password:
Retype new SMB password:
Added user student.
[root@server ~]# pdbedit -L   查看已经建立student用户
student:1000:Student User
westos:1001:

这里写图片描述

在客户端访问:

[root@client ~]# smbclient -L //172.25.254.200 -U student  用student用户进行访问
Enter student's password: 
session setup failed: NT_STATUS_LOGON_FAILURE
[root@client ~]# smbclient -L //172.25.254.221 -U student
Enter student's password: 
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

    Sharename       Type      Comment
    ---------       ----      -------
    IPC$            IPC       IPC Service (Samba Server Version 4.1.1)
    student         Disk      Home Directories   disk表示可以访问挂载。
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------
[root@client ~]# smbclient //172.25.254.221/student -U student  直接登录,由于selinux功能影响
Enter student's password: 
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \*   报错功能不允许代表服务端家目录没有开启所以不能访问
smb: \> quit

这里写图片描述

服务端打开家目录:

[root@server ~]# getsebool -a | grep samba  查看samba家目录为off
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off  布尔值允许本地 Linux 主目录作为 CIFS 文件共享导出至其他系统
samba_export_all_ro --> off
samba_export_all_rw --> off
samba_portmapper --> off
samba_run_unconfined --> off
samba_share_fusefs --> off
samba_share_nfs --> off
sanlock_use_samba --> off
use_samba_home_dirs --> off    布尔值允许挂载远程 CIFS 文件共享并将其用作本地 Linux 主目录
virt_sandbox_use_samba --> off
virt_use_samba --> off
[root@server ~]# setsebool -P samba_enable_home_dirs on  打开samba家目录,-P永久打开家目录

这里写图片描述

客户端可以访问:

[root@client ~]# smbclient //172.25.254.221/student -U student  
Enter student's password: 
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
  .                                   D        0  Thu Jul 10 19:06:52 2014
  ..                                  D        0  Fri Jun  1 21:47:02 2018
  .bash_logout                        H       18  Wed Jan 29 07:45:18 2014
  .bash_profile                       H      193  Wed Jan 29 07:45:18 2014
  .bashrc                             H      231  Wed Jan 29 07:45:18 2014
  .ssh                               DH        0  Thu Jul 10 18:19:10 2014
  .config                            DH        0  Thu Jul 10 19:06:53 2014

        40913 blocks of size 262144. 28596 blocks available
smb: \> quit

这里写图片描述

SMB挂载:

在客户端:

[root@client ~]# pwd  查看当前路径
/root
[root@client ~]# ls
anaconda-ks.cfg  Documents  Music     Public     Videos
Desktop          Downloads  Pictures  Templates
[root@client ~]# cd /etc/   在哪个路径就可以上传里面的东西
[root@client etc]# smbclient //172.25.254.221/student -U student  student用户访问
Enter student's password: 
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
  .                                   D        0  Thu Jul 10 19:06:52 2014
  ..                                  D        0  Fri Jun  1 21:47:02 2018
  .bash_logout                        H       18  Wed Jan 29 07:45:18 2014
  .bash_profile                       H      193  Wed Jan 29 07:45:18 2014
  .bashrc                             H      231  Wed Jan 29 07:45:18 2014
  .ssh                               DH        0  Thu Jul 10 18:19:10 2014
  .config                            DH        0  Thu Jul 10 19:06:53 2014

        40913 blocks of size 262144. 28581 blocks available
smb: \> !ls 显示/etc/下的所有东西
smb: \> put passwd
putting file passwd as \passwd (65.3 kb/s) (average 65.3 kb/s)
smb: \> put /bin/ls   上传不了/bin/下面的东西
NT_STATUS_OBJECT_PATH_NOT_FOUND opening remote file \/bin/ls
smb: \> quit

这里写图片描述

[root@client etc]# cd /bin/  切换到/bin/路径下才可以上传ls
[root@client bin]# smbclient //172.25.254.221/student -U student
Enter student's password: 
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> !ls  显示/bin/目录下的所有文件
smb: \> put mcat  上传文件
putting file mcat as \mcat (9924.0 kb/s) (average 9924.0 kb/s)
smb: \> touch file  还是不能建立文件
touch: command not found
smb: \> quit

这里写图片描述

在服务端:(查看客户端上传的文件)

客户端上传的文件在服务端家目录下面:
[root@server ~]# cd /home/student/  切换到家目录下
[root@server student]# ls
mcat  passwd

这里写图片描述

在客户端进行SMB的临时挂载:

[root@client ~]# mount  //172.25.254.221/student /mnt/ -o username=student,password=xfl 临时挂载  
Filesystem               1K-blocks    Used Available Use% Mounted on
/dev/vda1                 10473900 3182020   7291880  31% /
devtmpfs                    469344       0    469344   0% /dev
tmpfs                       484932     140    484792   1% /dev/shm
tmpfs                       484932   12804    472128   3% /run
tmpfs                       484932       0    484932   0% /sys/fs/cgroup
/dev/mapper/vg0-vo          483670    2339    451840   1% /home
//172.25.254.221/student  10473900 3157336   7316564  31% /mnt
[root@client ~]# cd /mnt/ 
[root@client mnt]# ls
mcat  passwd
[root@client mnt]# touch file{1..10}在服务端测试
[root@client mnt]# rm -fr *
[root@client mnt]# ls

这里写图片描述

在服务端:

[root@server student]# ls  客户端建立的文件
file1   file2  file4  file6  file8  
file10  file3  file5  file7  file9  
[root@server student]# ls 客户端删除所有服务端家目录就看不到文件

这里写图片描述

在客户端进行SMB的永久挂载:

[root@client mnt]# cd
[root@client ~]# umount /mnt/  解除挂载
[root@client ~]# df
Filesystem         1K-blocks    Used Available Use% Mounted on
/dev/vda1           10473900 3182020   7291880  31% /
devtmpfs              469344       0    469344   0% /dev
tmpfs                 484932     140    484792   1% /dev/shm
tmpfs                 484932   12804    472128   3% /run
tmpfs                 484932       0    484932   0% /sys/fs/cgroup
/dev/mapper/vg0-vo    483670    2339    451840   1% /home

这里写图片描述

[root@client ~]# vim /etc/fstab 添加永久挂载,但是这种方式需要先启动服务端不然客户端起不来

这里写图片描述

[root@client ~]# mount -a  刷新
[root@client ~]# df    已经挂载成功
Filesystem               1K-blocks    Used Available Use% Mounted on
/dev/vda1                 10473900 3182040   7291860  31% /
devtmpfs                    469344       0    469344   0% /dev
tmpfs                       484932     140    484792   1% /dev/shm
tmpfs                       484932   12804    472128   3% /run
tmpfs                       484932       0    484932   0% /sys/fs/cgroup
/dev/mapper/vg0-vo          483670    2339    451840   1% /home
//172.25.254.221/student  10473900 3157152   7316748  31% /mnt
[root@client ~]# umount /mnt/ 解除挂载
[root@client ~]# df
Filesystem         1K-blocks    Used Available Use% Mounted on
/dev/vda1           10473900 3182020   7291880  31% /
devtmpfs              469344       0    469344   0% /dev
tmpfs                 484932     140    484792   1% /dev/shm
tmpfs                 484932   12804    472128   3% /run
tmpfs                 484932       0    484932   0% /sys/fs/cgroup
/dev/mapper/vg0-vo    483670    2339    451840   1% /home

这里写图片描述

[root@client ~]# vim /etc/fstab  将写入的注释掉
[root@client ~]# vim /etc/rc.d/rc.local 编辑脚本文件,不会影响服务的启动

这里写图片描述

[root@client ~]# chmod +x /etc/rc.d/rc.local  加入执行权限
[root@client ~]# reboot 重启
Connection to 172.25.254.121 closed by remote host.
Connection to 172.25.254.121 closed.
[kiosk@foundation21 network-scripts]$ ssh root@172.25.254.121 连接
root@172.25.254.121's password: 
Last login: Fri Jun  1 21:14:51 2018 from 172.25.254.21
[root@client ~]# df  查看已经永久挂载完成
Filesystem               1K-blocks    Used Available Use% Mounted on
/dev/vda1                 10473900 3180960   7292940  31% /
devtmpfs                    469344       0    469344   0% /dev
tmpfs                       484932      80    484852   1% /dev/shm
tmpfs                       484932   12752    472180   3% /run
tmpfs                       484932       0    484932   0% /sys/fs/cgroup
/dev/mapper/vg0-vo          483670    2339    451840   1% /home
//172.25.254.221/student  10473900 3157152   7316748  31% /mnt

这里写图片描述

组的设定:

在客户端:

[root@client ~]# smbclient -L //172.25.254.221 一开始访问组信息为mygroup
Enter root's password: 
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

    Sharename       Type      Comment
    ---------       ----      -------
    IPC$            IPC       IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------

这里写图片描述

在服务端:

[root@server student]# vim /etc/vimrc 永久加入行号

这里写图片描述

[root@server student]# vim /etc/samba/smb.conf 编辑主配置文件

这里写图片描述

[root@server student]# systemctl restart smb.service 重启服务

这里写图片描述

在客户端:

[root@client ~]# smbclient -L //172.25.254.221  测试已经变成了westos
Enter root's password: 
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]

    Sharename       Type      Comment
    ---------       ----      -------
    IPC$            IPC       IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------

这里写图片描述

白名单的设定:

在服务端:

[root@server student]# vim /etc/samba/smb.conf 编辑主配置文件

这里写图片描述

[root@server student]# systemctl restart smb.service 重启服务

这里写图片描述

在客户端:

[root@client ~]# smbclient -L //172.25.254.221 可以访问
Enter root's password: 
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]

    Sharename       Type      Comment
    ---------       ----      -------
    IPC$            IPC       IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------

这里写图片描述

在真机测试:

[root@foundation84 ~]# yum install samba-client -y没有安装服务需要安装
[root@foundation84 ~]# smbclient -L //172.25.254.221 不能访问
Enter root's password: 
protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE

这里写图片描述

黑名单的设定:

在服务端:

[root@server student]# vim /etc/samba/smb.conf 编辑主配置文件

这里写图片描述

[root@server student]# systemctl restart smb.service 重启服务

这里写图片描述

在客户端:

[root@client ~]# smbclient -L //172.25.254.221  不可以访问
Enter root's password: 
protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE

这里写图片描述

在真机:

[root@foundation21 ~]# smbclient -L //172.25.254.221  可以访问
Enter root's password: 
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]

    Sharename       Type      Comment
    ---------       ----      -------
    IPC$            IPC       IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[WESTOS] OS=[Unix] Server=[Samba 4.1.1]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------

这里写图片描述

还原配置文件,将配置文件加入的黑白名单删除,还原组信息,重启服务:

这里写图片描述

共享自己的目录:

在服务端:

[root@server ~]# mkdir /westos  建立目录
[root@server ~]# vim /etc/samba/smb.conf   编写主配置文件

这里写图片描述

[root@server ~]# systemctl restart smb.service   重启服务

这里写图片描述

在客户端:

[root@client ~]# smbclient -L ///172.25.254.221  直接回车可以看到DIR目录
Enter root's password: 
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

    Sharename       Type      Comment
    ---------       ----      -------
    DIR             Disk      westos dir
    IPC$            IPC       IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------
[root@client ~]# smbclient ///172.25.254.221/DIR -U student 访问被拒绝得在服务端修改安全上下文
Enter student's password: 
Connection to  failed (Error NT_STATUS_UNSUCCESSFUL)

这里写图片描述

在服务端:

[root@server ~]# semanage fcontext -a -t samba_share_t '/westos(/.*)?' 修改安全上下文
[root@server ~]# restorecon -FvvR /westos/  刷新
restorecon reset /westos context unconfined_u:object_r:default_t:s0->system_u:object_r:samba_share_t:s0
[root@server ~]# ls -Zd /westos/  查看安全上下文是否更改成功
drwxr-xr-x. root root system_u:object_r:samba_share_t:s0 /westos/

这里写图片描述

在客户端:

[root@client ~]# smbclient //172.25.254.221/DIR -U student  修改安全上下文后可以登录访问
Enter student's password: 
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
  .                                   D        0  Sat Jun  2 01:50:55 2018
  ..                                  D        0  Sat Jun  2 01:50:55 2018

        40913 blocks of size 262144. 28580 blocks available
smb: \> SMBecho failed (NT_STATUS_CONNECTION_DISCONNECTED). The connection is disconnected now

这里写图片描述

共享本地目录/mnt/:

在服务端:

[root@server ~]# vim /etc/samba/smb.conf  写入本地目录

这里写图片描述

[root@server ~]# systemctl restart smb.service  重启服务
[root@server ~]# touch /mnt/file{1..5}  建立文件之后客户端看不到
[root@server ~]# ls /mnt/
file1  file2  file3  file4  file5

这里写图片描述

在客户端:

[root@client ~]# smbclient -L //172.25.254.221  直接回车可以看到/mnt/目录
Enter root's password: 
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

    Sharename       Type      Comment
    ---------       ----      -------
    DIR             Disk      westos dir
    mnt             Disk      /mnt dir
    IPC$            IPC       IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------
[root@client ~]# smbclient //172.25.254.221/mnt -U student 看不到建立的文件
Enter student's password: 
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
  .                                   D        0  Thu Mar 13 07:51:26 2014
  ..                                  D        0  Sat Jun  2 01:50:55 2018

        40913 blocks of size 262144. 28580 blocks available

这里写图片描述

在服务端:

[root@server ~]# setenforce 0  设置selinux为警告可以看到文件
[root@server ~]# setenforce 1  设置selinux为强制不可以看到文件
[root@server ~]# setsebool -P samba_export_all_ro on  设定布尔值之后就可以直接看到,ro表示只读

这里写图片描述

在客户端:

[root@client ~]# smbclient //172.25.254.221/mnt -U student 看不到建立的文件
Enter student's password: 
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]  
smb: \> ls      设置selinux为警告可以看到文件
  .                                   D        0  Sat Jun  2 02:01:15 2018
  ..                                  D        0  Sat Jun  2 01:50:55 2018
  file1                               N        0  Sat Jun  2 02:01:15 2018
  file2                               N        0  Sat Jun  2 02:01:15 2018
  file3                               N        0  Sat Jun  2 02:01:15 2018
  file4                               N        0  Sat Jun  2 02:01:15 2018
  file5                               N        0  Sat Jun  2 02:01:15 2018

        40913 blocks of size 262144. 28579 blocks available  设置selinux为强制不可以看到文件
smb: \> ls
  .                                   D        0  Sat Jun  2 02:01:15 2018
  ..                                  D        0  Sat Jun  2 01:50:55 2018

        40913 blocks of size 262144. 28579 blocks available
smb: \> quit
[root@client ~]# smbclient //172.25.254.221/mnt -U student  设定布尔值连接可以看到文件
Enter student's password: 
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
  .                                   D        0  Sat Jun  2 02:01:15 2018
  ..                                  D        0  Sat Jun  2 01:50:55 2018
  file1                               N        0  Sat Jun  2 02:01:15 2018
  file2                               N        0  Sat Jun  2 02:01:15 2018
  file3                               N        0  Sat Jun  2 02:01:15 2018
  file4                               N        0  Sat Jun  2 02:01:15 2018
  file5                               N        0  Sat Jun  2 02:01:15 2018

        40913 blocks of size 262144. 28578 blocks available
smb: \> quit

这里写图片描述

参数的讲解:

1,browseable是否允许浏览

在服务端:

[root@server ~]# vim /etc/samba/smb.conf  编辑主配置文件

这里写图片描述

[root@server ~]# systemctl restart smb.service  重启服务

这里写图片描述

在客户端:

[root@client ~]# smbclient -L //172.25.254.221  看不到DIR目录
Enter root's password: 
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

    Sharename       Type      Comment
    ---------       ----      -------
    mnt             Disk      /mnt dir
    IPC$            IPC       IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------

这里写图片描述

在服务端:

[root@server ~]# vim /etc/samba/smb.conf  编辑主配置文件,打开允许浏览

这里写图片描述

[root@server ~]# systemctl restart smb.service  重启服务

这里写图片描述

在客户端:

[root@client ~]# smbclient -L //172.25.254.221 可以看到DIR目录
Enter root's password: 
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

    Sharename       Type      Comment
    ---------       ----      -------
    DIR             Disk      westos dir
    mnt             Disk      /mnt dir
    IPC$            IPC       IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------

这里写图片描述

2.writeable可写参数:

在服务端:

[root@server ~]# vim /etc/samba/smb.conf   编辑主配置文件

这里写图片描述

[root@server ~]# systemctl restart smb.service 重启服务

这里写图片描述

在客户端:

[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=student,password=xfl 挂载
[root@client ~]# cd /mnt/
[root@client mnt]# ls
[root@client mnt]# touch file 不可写因为没有权限
touch: cannot touch ‘file’: Permission denied

这里写图片描述

在服务端:

[root@server ~]# ls -ld /westos/  查看权限
drwxr-xr-x. 2 root root 6 Jun  2 01:50 /westos/
[root@server ~]# chmod 777 /westos/ 赋予权限不然不可写

这里写图片描述

在客户端:

[root@client mnt]# touch file  可以建立文件
[root@client mnt]# ll
total 0
-rw-r--r-- 1 student student 0 Jun  2 02:40 file
[root@client mnt]# rm -fr file  可以删除文件因位权限为777
[root@client mnt]# ll
total 0
[root@client mnt]# cd
[root@client ~]# umount /mnt/  卸载
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=westos,password=xfl用westos用户挂载测试可写
[root@client ~]# touch /mnt/file  可以建立文件
[root@client ~]# ll /mnt/  只能看到ID
total 0
-rw-r--r-- 1 1001 1001 0 Jun  2 02:41 file
[root@client ~]# id westos因为客户端没有westos用户
id: westos: no such user

这里写图片描述

在服务端:

[root@server ~]# id westos  服务端有westos用户
uid=1001(westos) gid=1001(westos) groups=1001(westos)

这里写图片描述

3.write list设定指定用户可写:

在服务端:

[root@server ~]# vim /etc/samba/smb.conf  编辑主配置文件
327         write list = student  只有student用户可写

这里写图片描述

[root@server ~]# systemctl restart smb.service  重启服务

这里写图片描述

在客户端:

[root@client ~]# umount /mnt/
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=westos,password=xfl
[root@client ~]# touch /mnt/aaa     westos用户不可写
touch: cannot touch ‘/mnt/aaa’: Permission denied
[root@client ~]# umount /mnt/
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=student,password=xfl 
[root@client ~]# touch /mnt/aa  student用户可写
[root@client ~]# ls /mnt/
aa  file

这里写图片描述

4.write list= @student设定指定组可写:

+=@代表组用户可写

在服务端:

[root@server ~]# vim /etc/samba/smb.conf  编辑主配置文件
327         write list = @student  只有student用户的组可以写

这里写图片描述

[root@server ~]# systemctl restart smb.service 重启服务

这里写图片描述

在客户端:

[root@client ~]# umount /mnt/ 卸载
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=westos,password=xfl[root@client ~]# cd /mnt/  用westos挂载,因为westos不在student组里面不可写
[root@client mnt]# touch bb
touch: cannot touch ‘bb’: Permission denied

这里写图片描述

在服务端:

[root@server ~]# id westos
uid=1001(westos) gid=1001(westos) groups=1001(westos)
[root@server ~]# usermod -G student westos 将westos组加入student

这里写图片描述

在客户端:

[root@client mnt]# umount /mnt/
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=westos,password=xfl 用westos挂载
[root@client ~]# touch /mnt/fil  更改组之后可以建立文件
[root@client ~]# ls -l /mnt/
total 0
-rw-r--r-- 1 student student 0 Jun  2 02:50 aa
-rw-r--r-- 1    1001    1001 0 Jun  2 02:55 fil

这里写图片描述

5.指定共享目录的超级用户,建立在可写功能打开:

在服务端:

[root@server ~]# chmod 755 /westos/  将权限改到超级用户可以执行
[root@server ~]# ls -ld /westos/  查看权限
drwxr-xr-x. 2 root root 36 Jun  2 02:55 /westos/

这里写图片描述

在客户端:

[root@client ~]# umount /mnt/
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=westos,password=xfl westos不是超级用户
[root@client ~]# touch /mnt/xfl  无法建立文件
touch: cannot touch ‘/mnt/xfl’: Permission denied

这里写图片描述

在服务端:

[root@server ~]# vim /etc/samba/smb.conf 编辑主配置文件
328         admin users= westos  指定westos目录为超级用户

这里写图片描述

[root@server ~]# systemctl restart smb.service  重启服务

这里写图片描述

在客户端:

[root@client ~]# umount /mnt/
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=westos,password=xfl westos已经为超级用户
[root@client ~]# touch /mnt/xfl 可以建立文件
[root@client ~]#  ll /mnt/
total 0
-rw-r--r-- 1 student student 0 Jun  2 02:50 aa
-rw-r--r-- 1    1001    1001 0 Jun  2 02:55 fil
-rw-r--r-- 1    1001    1001 0 Jun  2 02:55 file
-rw-r--r-- 1 root       1001 0 Jun  2 03:03 xfl  文件用户为root,组为1001

这里写图片描述

多用户挂载:

在客户端操作:

[root@client ~]# useradd linux  建立用户
[root@client ~]# su - linux  切换到linux用户
[linux@client ~]$ cd /mnt/   
[linux@client mnt]$ ls  不知道smb用户密码就可以看到挂载之后的内容不合理
aa  fil  file  xfl
[linux@client mnt]$ cd
[linux@client ~]$ logout
[root@client ~]# df   查看挂载
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/vda1             10473900 3180848   7293052  31% /
devtmpfs                469344       0    469344   0% /dev
tmpfs                   484932      80    484852   1% /dev/shm
tmpfs                   484932   12784    472148   3% /run
tmpfs                   484932       0    484932   0% /sys/fs/cgroup
/dev/mapper/vg0-vo      483670    2355    451824   1% /home
//172.25.254.221/DIR  10473900 3157764   7316136  31% /mnt
[root@client ~]# umount /mnt/ 解除挂载

这里写图片描述

由于任何用户都可以看到挂载内容,所以需要添加认证:

[root@client ~]# yum install cifs-utils.x86_64 -y  安装加密服务

这里写图片描述

[root@client ~]# vim /root/smbpass  编辑文件
[root@client ~]# cat /root/smbpass  写入smb用户密码,写入student用户
username=student
password=xf

这里写图片描述

[root@client ~]# mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.221/DIR /mnt将上一个实验的DIR目录进行多用户挂载,认证方式为ntlmssp
[root@client ~]# cd /mnt/
[root@client mnt]# ls
aa  fil  file  xfl
[root@client mnt]# su - linux 
Last login: Sat Jun  2 03:27:42 EDT 2018 on pts/0
[linux@client ~]$ cd /mnt/
[linux@client mnt]$ ls  已经没有权限查看/mnt/里面内容
ls: reading directory .: Permission denied

这里写图片描述

不知道密码认证无法通过:

[linux@client mnt]$ cifscreds add -u westos 172.25.254.221  建立认证
Password:   随便输入密码也不可以通过认证
[linux@client mnt]$ ls  操作被拒绝
ls: reading directory .: Permission denied
[linux@client mnt]$ cifscreds add -u westos 172.25.254.221 再次认证会出现缓存必须清除认证信息
You already have stashed credentials for 172.25.254.221 (172.25.254.221)
If you want to update them use:
    cifscreds update
[linux@client mnt]$ cifscreds clearall 清除认证信息

这里写图片描述

知道密码进行认证:

[linux@client mnt]$ cifscreds add -u westos 172.25.254.221  认证westos用户,密码为xfl
Password: 
[linux@client mnt]$ ls  可以看到文件
aa  fil  file  xfl
[linux@client mnt]$ touch /mnt/file2  同时可以建立文件
[linux@client mnt]$ ll /mnt   文件属性用户为root,组用户为linux
total 0
-rw-r--r-- 1 student student 0 Jun  2 02:50 aa
-rw-r--r-- 1 linux   linux   0 Jun  2 02:55 fil
-rw-r--r-- 1 linux   linux   0 Jun  2 02:55 file
-rw-r--r-- 1 root    linux   0 Jun  2 03:35 file2
-rw-r--r-- 1 root    linux   0 Jun  2 03:03 xfl
[linux@client mnt]$ df  查看挂载
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/vda1             10473900 3184764   7289136  31% /
devtmpfs                469344       0    469344   0% /dev
tmpfs                   484932      80    484852   1% /dev/shm
tmpfs                   484932   12756    472176   3% /run
tmpfs                   484932       0    484932   0% /sys/fs/cgroup
/dev/mapper/vg0-vo      483670    2355    451824   1% /home
//172.25.254.221/DIR  10473900 3157812   7316088  31% /mnt
[linux@client mnt]$ logout

这里写图片描述

smb的匿名访问:

客户端:

[root@client ~]# df  查看挂载,有挂载的话解除挂载
Filesystem         1K-blocks    Used Available Use% Mounted on
/dev/vda1           10473900 3182816   7291084  31% /
devtmpfs              469344       0    469344   0% /dev
tmpfs                 484932      80    484852   1% /dev/shm
tmpfs                 484932   12756    472176   3% /run
tmpfs                 484932       0    484932   0% /sys/fs/cgroup
/dev/mapper/vg0-vo    483670    2355    451824   1% /home
[root@client ~]# smbclient //172.25.254.221/DIR 匿名用户访问被拒绝
Enter root's password: 
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
tree connect failed: NT_STATUS_ACCESS_DENIED

这里写图片描述

服务端:

[root@server ~]# vim /etc/samba/smb.conf 编辑主配置文件
125         map to guest = bad user  写入一个smb的映射,将所有用户映射成guest用户
329         guest ok = yes guest访问打开

这里写图片描述
打开guest访问:
这里写图片描述

[root@server ~]# systemctl restart smb.service 重启服务

这里写图片描述

客户端:

[root@client ~]# smbclient //172.25.254.221/DIR   当服务端配置文件设置好了之后可以匿名用户访问
Enter root's password: 
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
  .                                   D        0  Sat Jun  2 03:35:03 2018
  ..                                  D        0  Sat Jun  2 01:50:55 2018
  file                                N        0  Sat Jun  2 02:55:24 2018
  aa                                  N        0  Sat Jun  2 02:50:56 2018
  fil                                 N        0  Sat Jun  2 02:55:29 2018
  xfl                                 N        0  Sat Jun  2 03:03:49 2018
  file2                               N        0  Sat Jun  2 03:35:03 2018

        40913 blocks of size 262144. 28575 blocks available
smb: \> quit
[root@client ~]# mount //172.25.254.221/DIR /mnt -o username=guest,password=""  可以使用guest用户空密码挂载
[root@client ~]# df
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/vda1             10473900 3182776   7291124  31% /
devtmpfs                469344       0    469344   0% /dev
tmpfs                   484932      80    484852   1% /dev/shm
tmpfs                   484932   12756    472176   3% /run
tmpfs                   484932       0    484932   0% /sys/fs/cgroup
/dev/mapper/vg0-vo      483670    2355    451824   1% /home
//172.25.254.221/DIR  10473900 3158220   7315680  31% /mn

这里写图片描述

猜你喜欢

转载自blog.csdn.net/aaaaaab_/article/details/80560512