新秀篇 ##linux中CIFS文件系统##

本文详细介绍了CIFS(Common Internet File System)在Linux中的作用,包括其作为网络文件共享协议的功能,以及如何通过Samba服务进行安装和配置。CIFS提供了比FTP更优的文件控制,使得Windows用户能够方便地访问网络中的其他主机共享文件夹。文中列举了从安装Samba服务到设置白名单、黑名单、权限控制等多个步骤,指导用户在Linux环境中实现CIFS的全面应用。
摘要由CSDN通过智能技术生成

CIFS (Common Internet File System)简介:

通用Internet文件系统在windows主机之间进行网络文件共享是通过使用微软公司自己的CIFS服务实现的。CIFS 是一个新提出的协议,它使程序可以访问远程Internet计算机上的文件并要求此计算机的服务。CIFS 使用客户/服务器模式。客户程序请求远在服务器上的服务器程序为它提供服务。服务器获得请求并返回响应。CIFS是公共的或开放的SMB协议版本,并由Microsoft使用。SMB协议现在是局域网上用于服务器文件访问和打印的协议。象SMB协议一样,CIFS在高层运行,而不象TCP/IP协议那样运行在底层。CIFS可以看做是应用程序协议如文件传输协议和超文本传输协议的一个实现。

CIFS (Common Internet File System)功能:

    1.访问服务器本地文件并读写这些文件
    2.与其它用户一起共享一些文件块
    3.在断线时自动恢复与网络的连接
    4.使用西欧字符文件名

  一般来说,CIFS使用户得到比FTP更好的对文件的控制。它提供潜在的更直接地服务器程序接口,这比使用HTTP协议的浏览器更好。CIFS最典型的应用是windows用户能够从“网上邻居”中找到网络中的其他主机并访问其中的共享文件夹.

samba的服务安装以及配置:

1.安装samba服务:
服务端(server虚拟机172.25.254.220):

[root@server ~]# yum install samba samba-client samba-common  -y             ##安装服务(samba服务器应用程序  samba-client客户端应用程序   samba-common是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     
Package samba-common-4.1.1-31.el7.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package samba.x86_64 0:4.1.1-31.el7 will be installed
---> Package samba-client.x86_64 0:4.1.1-31.el7 will be installed
--> Finished Dependency Resolution
[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                      ##查看服务使用的端口445 139
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      0          59714      3257/smbd           
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      0          59715      3257/smbd           
tcp6       0      0 :::445                  :::*                    LISTEN      0          59712      3257/smbd           
tcp6       0      0 :::139                  :::*                    LISTEN      0          59713      3257/smbd     

客户端(desktop虚拟机127.25.254.120):

[root@client ~]# yum install samba-client -y               ##安装服务
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     
Resolving Dependencies
--> Running transaction check
---> Package samba-client.x86_64 0:4.1.1-31.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved
[root@client ~]# smbclient -L //172.25.254.220                 ##登陆到服务端的smb
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
    ---------            -------                             ##里面是空的,什么都没有

2.建立用户登陆:必须是虚拟机里真实存在的用户:
服务端(server虚拟机):

[root@server ~]# id student       ##student是存在的 
uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)
[root@server ~]# useradd westos     ##没有westos用户,需要先在虚拟机里添加用户
[root@server ~]# id westos           ##添加成功
uid=1001(westos) gid=1001(westos) groups=1001(westos)
[root@server ~]# smbpasswd -a student    ##添加smb用户student
New SMB password:
Retype new SMB password:
Added user student.
[root@server ~]# smbpasswd -a westos       ##添加smb用户westos
New SMB password:
Retype new SMB password:
Added user westos.
[root@server ~]# pdbedit -L          ##查看smb用户
student:1000:Student User
westos:1001:                 ##添加用户成功
[root@server ~]# getsebool -a | grep samba          ##查看samba服务接口
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off
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
virt_sandbox_use_samba --> off
virt_use_samba --> off
[root@server ~]# setsebool -P samba_enable_home_dirs  on         ##开启samba家目录接口

客户端(desktop虚拟机):

[root@client ~]# smbclient //172.25.254.220/student -U student          ##使用student用户登陆服务端的smb
Enter student's password:                     ##输入刚才设置的密码
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls                               ##可以查看student用户共享的家目录                                                        
NT_STATUS_ACCESS_DENIED listing \*               ##这个报错是在selinux开启的情况下,无法看到用户里面共享的文件,需要在服务端开启服务接口
smb: \> ls

  .                                   D        0  Thu Jul 10 19:06:52 2014
  ..                                  D        0  Fri Jun  1 21:46:23 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. 28597 blocks available                 

3.上传文件实用samba服务进行共享:
客户端(desktop虚拟机):

第一种挂载方式:
[root@client ~]# vim /etc/fstab               ##编辑文件进行挂载
写入://172.25.254.220/student /mnt  cifs defaults,username=student,password=redhat 0 0
[root@client ~]# mount -a          ##挂载
Filesystem               1K-blocks    Used Available Use% Mounted on
/dev/vda1                 10473900 3182012 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值