文件共享_文件共享软件 - CSDN
精华内容
参与话题
  • Windows中的共享文件文件服务器

    万次阅读 2020-02-01 21:09:26
    目录 共享文件的设置 默认共享 关闭默认共享 关闭共享服务 共享文件夹权限 ...文件服务器资源管理器的搭建 ...文件共享是指主动地在网络上共享...在很早期的Windows中(Windows2000以下),文件共享服务是利用TCP的1...

    目录

    共享文件的设置

    默认共享

    关闭默认共享

    关闭共享服务 

    共享文件夹权限

    文件服务器资源管理器的搭建


    文件共享是指主动地在网络上共享自己的计算机文件。一般文件共享使用P2P模式,文件本身存在用户本人的个人电脑上。大多数参加文件共享的人也同时下载其他用户提供的共享文件。有时这两个行动是连在一起的。在很早期的Windows中(Windows2000以下),文件共享服务是利用TCP的139端口实现的,服务名是SMB。后来,微软又把SMB改名为CIFS,并且使用的是TCP的445端口

    相关文章:Linux文件共享服务之Samba

    哪些用户能够共享文件夹

    • 普通用户是没有权限共享文件夹
    • Administrators 组的账号可以设置共享文件夹
    • Power user 组的账号也可以设置共享文件夹

    共享文件的设置

    共享文件服务端的设置

    1、文件共享服务器需要打开网卡上的 Microsoft 网络的文件和打印共享功能(这个功能默认是开启的)

    2、然后打开高级共享设置,启用网络发现和启用文件、打印机共享(实际上就是打开了TCP的445端口)

    3、选择要共享的文件,右键-->属性-->共享-->然后选择一个用户名去共享,然后就会有一个访问共享文件夹的路径

    隐藏共享文件的设置

    共享文件的时候选择高级共享,然后共享文件名后加一个 $,这样客户端默认看不到这个共享的文件夹,除非访问的时候加上共享文件名和$:  \\WIN-7\file$

    共享文件客户端的访问

    方法一:客户端运行窗口输入:\\WIN-7  或者  \\ip地址,然后用服务器的用户名和密码登录即可访问共享文件夹(看不到隐藏的共享文件夹)。

    方法二:客户端在文件夹窗口输入: \\WIN-7 或者  \\ip地址   ,然后用服务器的用户名和密码登录即可访问共享文件夹(看不到隐藏的共享文件夹)。

    方法三:打开文件夹窗口,点击我的电脑-->计算机-->映射网络驱动器,然后输入: \\WIN-7\file ,然后用服务器的用户名和密码登录即可访问共享文件夹。 (这种方法连接的时候要输入具体共享的文件名)

    客户端使用任意端口访问文件服务器的TCP 445 端口的共享资源

    方法四:在命令行中输入  net  use \\ip\c$  /u:administrator root 。然后在文件夹中打开即可

    默认共享

    默认共享是为管理员管理服务器的方便而设,其权限不能更改,只要知道服务器的管理员账号和密码,不管其是否明确共享了文件夹,都可以访问其所有的分区。 查看默认共享:net share 

    如图,那么黑客只要知道了服务器 Administrator 用户的密码就可以访问其默认共享文件夹了

     

    黑客还可以通过命令行把你的默认共享的盘符挂载到本地:net use k:  \\10.96.10.59\c$    把10.96.10.59计算机上的C盘挂载到本地的k盘,这里的认证用户只能是 administrator

    然后你可以看到本地多了一个k盘,这正是远程主机上的C盘

    net use 查看建立的文件共享

    要删除此共享的话:net  use k: /del

     关闭默认共享

    net share命令关闭默认共享

     很明显,这是非常危险的。所以我们一般都会关闭默认共享

    • net share ipc$    /delete              关闭ipc默认共享
    • net share admin$  /delete          关闭admin账户目录共享
    • net share  c$ /delete                  关闭c盘默认共享
    • net share  e$ /delete                关闭e盘默认共享

    用net share命令来删除,但是机器重启后共享会自动出现。所以我们可以将命令保存为.bat批处理文件,然后把这个批处理文件拖到“程序”→“启动”项,这样每次开机就会运行它,也就是通过net命令关闭共享。

    注册表关闭默认共享

    禁止C$、D$管理共享(如果没有则新建): 

    • HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/lanmanserver/parameters 
    • Name:AutoShareServer                
    • Type:DWORD              
    • Value:0    

    禁止ADMIN$缺省共享: 

    • HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/lanmanserver/parameters 
    • Name:AutoShareWks   
    • Type:REG_DWORD             
    • Value:0x0

    限制IPC$缺省共享:

    • HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa 
    • Name:restrictanonymous 
    • Type:REG_DWORD 
    • Value:0x0(缺省)          0x1 匿名用户无法列举本机用户列表             0x2 匿名用户无法连接本机IPC$共享        说明:不建议使用2,否则可能会造成你的一些服务无法启动,如SQL Server。

    关闭共享服务 

    更彻底点的,文件打印共享和共享文件,很多人用不到,可以直接停掉该服务。

    1. 直接关闭文件网卡上的 Microsoft 网络的文件和打印共享功能
    2. 关闭服务管理里面的Server服务

    共享文件夹权限

    用户必须拥有适当的共享权限才可以访问共享文件夹。共享权限的种类与其所具有的访问能力如下 

    共享权限和NTFS权限的联系和区别

    • 共享权限是基于文件夹的;NTFS 权限是基于文件的
    • 共享权限只有当用户通过网络访问共享文件夹时才起作用;NTFS 权限无论用户是通过网络还是本地登录使用文件都会起作用 
    • 共享权限与文件操作系统无关,只要设置共享就能够应用共享权限;NTFS 权限必须是NTFS 文件系统,否则不起作用 
    • 共享权限只有几种:读者,参与者,所有者;NTFS 权限有许多种,如读,写,执行,修改,完全控制等,我们可以进行非常细致的设置

    共享权限和 NTFS  权限的特点

    • 不管是共享的权限还是 NTFS 权限都有累加性。
    • 不管是共享权限还是 NTFS 权限都遵循“拒绝”权限超越其他权限。
    • 当一个账户通过网络访问一个共享文件夹,而这个文件夹又在一个 NTFS 分区上,那么用户最终的权限是它对该文件夹的共享权限与 NTFS 权限中最为严格的权限

    文件服务器资源管理器的搭建

    使用文件服务器资源管理器高级工具功能

    • 文件夹和卷设置配额
    • 主动屏蔽文件,并生成全面的存储报告

    角色,添加角色,选择文件服务,然后再选择文件服务器资源管理器,接着选择磁盘安装即可

    配额管理:配额管理在文件服务器资源管理器内是以磁盘或文件夹为单位,不论用户是谁,设置配的文件夹总量不允许超过目录配额的限制。

    文件屏蔽:可以限制文件夹存放的文件类型 可以指定某个文件夹的能够存放的文件类型,是基于文件的扩展名来控制的。 通过创建文件屏蔽来控制用户可以保存的文件类型以及在用户尝试保存未经授权的文件时生成通知。 定义可以应用于新的卷或文件夹以及可以在整个组织中使用的文件屏蔽模板。 创建增强文件屏蔽规则灵活性的文件屏蔽例外。

    相关文章:135、137、138、139和445端口

                      IPC$共享和其他共享(C$、D$、Admin$)

    展开全文
  • 基于Linux的三种文件共享方式

    万次阅读 2018-08-22 17:05:34
    linux和windows之间的文件共享方式 用Internet 文件系统(CIFS)也称为服务器信 适用于MicrosoftWindows服务器和客户端的标准文件和打印机共享系统息块(SMB) Samba服务可用于将Linux文件系统作为CIFS/SMB网络...
    • linux和windows之间的文件共享方式

    • 用Internet 文件系统(CIFS)也称为服务器信
    • 适用于MicrosoftWindows服务器和客户端的标准文件和打印机共享系统息块(SMB)
    • Samba服务可用于将Linux文件系统作为CIFS/SMB网络文件进行共享
    • 并将Linux打印机作为CIFS/SMB打印机共享进行共享

    下面的登陆方法实则为在外面查看这个共享文件的信息,并不能对这个共享文件进行管理和使用

    下面的登陆方法可以进入到共享文件系统的内部,对文件进行管理,上传或者删除

    查看smb中共享的文件

    挂载的使用和进入到这个smb文件系统中的使用效果完全一样,挂载使用的更加方便,挂载创建的文件,在文件共享的时候依旧可以查看

    以上的实验是基于selinux关闭的状态,下面修改selinux为ENFORCING状态如何共享文件

    使用以下的命令进行查看samba中的安全上下文的开启或关闭的所有的文件的状态

    当/westos被删除时,重新建立文件的属性会有所改变,需要重新更改安全上下文来允许目录得到共享,而samba_export_all_ro的开放会大大的加大原有的权力的开放--samba_export_all_ro的权力更大一些不到万不得已的时候不要时候,当别的权力不足以支持时在使用这个权力,一般不使用这种权力

    寻找另一台机器,可以是真机来做cifs的文件共享的客户端的测试

    • linux和linux之间的文件共享方式

    • NFS

    在客户端测试,在使用文件共享的时候使用挂载更为方便,在客户端挂载这个文件,便可以开始使用了

     

    在共享文件系统中创建文件,指定文件的所属人为客户端的用户所有,前提时客户端必须存在此用户

    使用exportfs   -rv 重读这个文件,寻找不同网段的主机在客户端进行测试,如果是只读则说明设置成功

    • 基于linux下的网络硬盘共享

    使用fdisk查看时并不能看见新建的共享分区,在设置完成后在查看就可以发现了

    使用umount卸载这个挂载,在配置文件写好之后刷新这个mount,使用df查看挂载到/mnt下,则说明配置文件更改成功

    挂载这个磁盘的实际的大小则为最初的服务器上设置的共享磁盘的大小,则说明实验成功

    使用树型结构来查看文件中的内容

    退出并不能使得使用过的磁盘完整的清除,使用删除可以清除客户端的共享磁盘

    共享磁盘被完整的清除,实验结束

     

     

     

     

     

    展开全文
  • 操作系统 文件共享

    千次阅读 2018-12-12 19:31:23
    操作系统 文件共享 文件共享应用: 文件共享是指当我们一个的文件被其他用户所访问,比如我们的windows操作系统,是多用户多任务的系统,允许 一台计算机注册多个用户来访问。比如windows7操作系统在开机的时候,...

                                              操作系统 文件共享

    文件共享应用:

    文件共享是指当我们一个的文件被其他用户所访问,比如我们的windows操作系统,是多用户多任务的系统,允许

    一台计算机注册多个用户来访问。比如windows7操作系统在开机的时候,有一个切换用户的按钮,当我们输入其他

    用户的用户名和密码的时候,操作系统就会加载属于该用户的文件,包括其他用户声明的共享文件。这种情况并不

    常见。文件共享最常用情况是用于文件传输ftp或者发生在服务器端,比如服务器的数据库需要被多个用户访问,但

    是我们每个用户不一定都需要下载数据库的软件,这时候用户只需要用对应的文件名访问服务器端的数据库就ok。

    文件共享实现:

    1、绕道法:

    在这种情况下需要访问共享文件都要从当前文件位置出发找到共享文件。如果当前目录下没有共享文件,就会回溯到

    与共享文件交叉的文件下,再向下找到要访问的共享文件。具体过程可以按照下图理解:

    这样查找共享文件的弊端还是比较大的,每次我们访问共享文件可能需要回溯多级目录,搜索速度还是比较慢的。

    2、链接法:

    有一个根目录用来记录用户的信息,所有用户的文件都在自己文件夹下。当有一个用户有共享文件的时候,其他

    用户需要共享该文件的时候只需要把对应目录的指针指向共享文件的目录即可。如图所示:

    3、基于索引节点的共享方式:

    在这种情况下,文件的属性和文件的地址不再放在文件的目录中,而是存在索引中。文件目录中存放着文件名

    和指向索引的指针,linux操作系统中把这种索引的结点称为Inode结点。在索引的结点中还有一个计数器,用来

    统计文件被多少用户访问。

    t

    当count=1时候,创建文件的用户才能删除文件。否则不能删除文件。这是在这种共享文件系统下系统的规定,因

    为如果建立共享文件的用户删除了共享文件,系统又在共享的位置建立了新的文件,这样其他用户在共享文件的时

    候就会访问成了其他文件,失去了共享文件的意义。

    假如用户A建立了文件,然后发现不能删除文件,因为创建的共享文件被其他用户所共享,用户来气了,直接删除

    文件的目录文件,这时候便不再去理会,但是加入建立的文件是付费了,这时候这个文件可能还被其他用户使用,

    这时候可能用户A不再访问文件的时候还需要付费。

    这也是需要操作系统处理的,所以有了下面的共享文件方式。

    4、利用符号链实现文件共享

    当用户需要访问共享文件的时候,由系统生成一个链接的文件,用来指向共享文件的目录。其他用户根据这个

    链接文件来访问共享文件。这时候如果文件所有者删除了文件或者修改了文件,就需要其他用户重新生成链接

    文件。原来的链接就会失效。

    5、基本文件目录

    可以看到wang用户的符号目录中的tt.c指向了指向了用户zhang的b.c文件。此时用户zhang删除了6号对应的b.c

    之后。用户王再去访问的时候就会发现id为6的地址反发生了变化,就会重新更新tt.c对应的id。而且这种方式检索

    不仅效率高,而且占用的内存小。

    展开全文
  • 三种常见的文件共享服务--ftp,nfs,samba 标签:samba ftp nfs 原始出处 http://guoting.blog.51cto.com/8886857/1541299 FTP(File Transfer Protocol,文件传输协议),是一种应用层协议,可以...
    artType01.jpg 三种常见的文件共享服务--ftp,nfs,samba

    FTP(File Transfer Protocol,文件传输协议),是一种应用层协议,可以实现很好的实现跨平台,但是无法实现一些其他的功能,像如文件系统挂载等功能。NFS(Network File System,网路文件系统)是工作在内核模式下的,因此不能很好的实现跨平台,一般只能是Linux主机或者Unix主机之间,但可以实现挂载使用等功能。SMB(Service Message Block,服务消息块协议),能够实现Windows和Linux主机之间的文件共享服务,可实现跨平台,在Linux上实现了CIFS(Common Internet File System)协议。

    一、FTP协议

    1、FTP原理知识

    是一种C/S架构,基于套接字通信,用来在两台机器之间相互传输文件。FTP协议用到2种tcp连接:一是命令连接,用于客户端和服务端之间传递命令,监听在tcp/21端口;另一个是数据传输连接,用来传输数据,监听的端口是随机的。

    2、FTP的被动模式、主动模式

    主动模式的原理如下图:

    tcp主动模式

    主动模式存在的问题是,在客户端一般都会有防火墙的设置,当服务端与客户端数据进行数据通信时,客户端的防火墙会将服务端的端口挡在外面。此时,通信就会受阻。因此,被动模式就产生了。

    被动模式的原理图如下:

    tcp被动模式

    被动模式也会存在防火墙的问题,客户端与服务端传输数据时,在服务端也会有防火墙,但在服务端的防火墙有连接追踪的功能,解决了防火墙的问题。因此,一般使用被动模式比较多。

    3、FTP的用户认证

    FTP支持系统用户,匿名用户,和虚拟用户三种用户认证。

    匿名用户:登陆用户名是anonymous,没有密码

    系统用户:是FTP服务器端的本地用户和对应的密码,默认访问的是用户家目录

    虚拟用户:仅用于访问服务器中特定的资源,常见的虚拟用户认证的方式有使用文件认证或使用数据库进行认证。最终也会将这些虚拟用户同一映射为一个系统用户,访问的默认目录就是这个系统用户的家目录。

    4、常见的状态信息码

    1**:提示信息

    2**:成功执行的状态码

    3**:需要进一步提供补充类的信息码,例如在输入用户账号信息后出现此状态,提示继续输入密码

    4**:客户端类的错误

    5**:服务端错误

    5、常见的实现FTP协议的工具

    服务端:

    Linux端:wu-ftpd,pureftp,vsftpd(Centos 6上默认提供的)

    windows端:ServU,FileZilla-Server

    客户端工具:

    Linux操作系统:ftp,lftp,lftpget,wget,cul,gftp等

    windows操作系统:FileZilla

    6、vsftpd

    在CentOS上默认提供的是vsftpd(Very Secure FTP),以安全著称。

    用户认证配置文件:/etc/pam.d/vsftpd      
    服务脚本:/etc/rc.d/init.d/vsftpd      
    配置文件目录:/etc/vsftpd      
    主配置文件:vsftpd.conf      
    匿名用户(映射为ftp用户)共享资源位置:/var/ftp      
    系统用户通过ftp访问的资源的位置:用户自己的家目录      
    虚拟用户通过ftp访问的资源的位置:给虚拟用户指定的映射成为的系统用户的家目录

    7、常见的的vsftpd的参数设置

    匿名用户的配置:

    anonymous_enable=YES    #允许匿名用户登录
    anon_upload_enable=YES     #允许匿名用户上传文件
    anon_mkdir_write_enable=YES    #允许匿名用户创建目录
    anon_ohter_write_enable=YES    #允许其他的写权限(删除目录,文件)


    系统用户的配置:

    local_enable=YES    #允许本地用户的登录
    write_enable=YES    # 本地用户可写
    local_umask=022    # 本地用户的umask


    禁锢所有的ftp本地用户于其家目录中:

    chroot_local_user=YES      #允许本地用户只能访问自己的家目录,不允许访问其他目录,适用于所有的用户

    3

    禁锢文件中指定的ftp本地用户于其家目录中:

    chroot_list_enable=YES

    chroot_list_file=/etc/vsftpd/chroot_list

     

    目录消息:

    dirmessage_enable=YES # 开启目录提示信息

    在对应的目录下创建一个.message的文件,里面的内容当我们在访问时此目录时,会看到提示的信息。

    4

     

    日志:

    xferlog_enable=YES      # 打开传输日志

    xferlog_std_format=YES   # 是否使用标准格式

    xferlog_file=/var/log/xferlog  #日志文件路径

     

    改变上传文件的属主:

    chown_uploads=YES

    chown_username=whoever #上传文件后立即改变文件的属主名

     

    vsftpd使用pam完成用户认证,其用到的pam配置文件:

    pam_service_name=vsftpd   #用户认证文件,在/etc/pam.d/目录下

     

    是否启用控制用户登录的列表文件

    userlist_enable=YES

    userlist_deny=YES|NO   # 为yes的意思是,userlist_file是黑名单文件;是no的意思是userlist_file是白名单文件

    userlist_file=/etc/vsftpd/user_list,默认文件为/etc/vsftpd/user_list

     

    连接限制:

    max_clients: 最大并发连接数;

    max_per_ip: 每个IP可同时发起的并发请求数;

     

    传输速率:

    anon_max_rate: 匿名用户的最大传输速率, 单位是“字节/秒”;

    local_max_rate: 本地用户的最大传输速率, 单位是“字节/秒”;

    8、虚拟用户(基于mysql实现)

    一、安装所需要程序

    1
    2
    3
    4
    5
    1、安装mysql和pam_mysql
     
    # yum -y install vsftpd mysql-server mysql-devel pam_mysql
     
    注意:pam_mysql由epel源提供。

    二、创建虚拟用户账号

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    1.准备数据库及相关表
     
    首先请确保mysql服务已经正常启动。而后,按需要建立存储虚拟用户的数据库即可,
    这里将其创建为vsftpd数据库。
     
    mysql> create database vsftpd;
     
    mysql> grant select on vsftpd.* to vsftpd@'%' identified by 'vsftpd';
    mysql> flush privileges;
     
    mysql> use vsftpd;
    mysql> create table users (
        -> id int AUTO_INCREMENT NOT NULL,
        -> name char(20) binary NOT NULL,
        -> password char(48) binary NOT NULL,
        -> primary key(id)
        -> );
     
    2、添加测试的虚拟用户
     
    根据需要添加所需要的用户,需要说明的是,这里将其密码为了安全起见应该使用PASSWORD
    函数加密后存储。
     
    mysql> insert into users(name,password) values('tom',password('tom'));
    mysql> insert into users(name,password) values('jerry',password('tom'));

    三、配置vsftpd

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    1.建立pam认证所需文件
     
    #vi /etc/pam.d/vsftpd.mysql
    添加如下两行
    auth required /lib/security/pam_mysql.so user=vsftpd passwd=www.magedu.com host=localhost
     db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
    account required /lib/security/pam_mysql.so user=vsftpd passwd=www.magedu.com host=localh
    ost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
     
     
    注意:由于mysql的安装方式不同,pam_mysql.so基于unix sock连接mysql服务器时可能会出问题,
    此时,建议授权一个可远程连接的mysql并访问vsftpd数据库的用户。
     
    2.修改vsftpd的配置文件,使其适应mysql认证
     
    建立虚拟用户映射的系统用户及对应的目录
    # useradd -s /sbin/nologin -d /var/ftproot vuser
    # chmod go+rx /var/ftproot
     
    请确保/etc/vsftpd.conf中已经启用了以下选项
    anonymous_enable=YES
    local_enable=YES
    write_enable=YES
    anon_upload_enable=NO
    anon_mkdir_write_enable=NO
    chroot_local_user=YES
     
    而后添加以下选项
    guest_enable=YES
    guest_username=vuser
     
    并确保pam_service_name选项的值如下所示
    pam_service_name=vsftpd.mysql

    四、启动vsftpd服务

    1
    2
    # service vsftpd start
    # chkconfig vsftpd on

    五、配置虚拟用户具有不同的访问权限

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    vsftpd可以在配置文件目录中为每个用户提供单独的配置文件以定义其ftp服务访问权限,
    每个虚拟用户的配置文件名同虚拟用户的用户名。配置文件目录可以是任意未使用目录,
    只需要在vsftpd.conf指定其路径及名称即可。
     
    1、配置vsftpd为虚拟用户使用配置文件目录
     
    # vim vsftpd.conf
    添加如下选项
    user_config_dir=/etc/vsftpd/vusers_config 
     
    2、创建所需要目录,并为虚拟用户提供配置文件
     
    # mkdir /etc/vsftpd/vusers_config/
    # cd /etc/vsftpd/vusers_config/
    # touch tom jerry
     
    3、配置虚拟用户的访问权限
     
    虚拟用户对vsftpd服务的访问权限是通过匿名用户的相关指令进行的。比如,如果需要让tom用
    户具有上传文件的权限,可以修改/etc/vsftpd/vusers_config/tom文件,在里面添加如下选项即可。
    anon_upload_enable={YES|NO}
    anon_mkdir_write_enable={YES|NO}
    anon_other_write_enable={YES|NO}

    二、NFS协议

    1、NFS的几个概念

    RPC(Remote Procedure Call Protocol远程过程调用协议):

    简单的说是函数调用(远程主机上的函数) 一部分功能由本地程序完成 另一部分功能由远程主机上的函数完成。客户端挂载了nfs服务器的文件系统时,进行一些操作,但是这些操作服务端如何知道呢??这可是在内核级别上实现协议。RPC就解决了这个问题,它会将客户端的操作的函数调用发送到服务器端,由服务器端执行这些函数调用。

    idmapd:

    想想这种情形,nfs客户端在挂载文件系统以后,在本地以某用户的身份创建了一个文件,在服务器端这个文件的属主和属组是哪个用户呢?早期是通过NIS(Network Information Services网络信息服务)来解决这个问题的,但是在传输账号和密码时,使用的是明文传输,现在使用LDAP+clbbler来实现的。但是,NFS使用的是idmapd这个服务,有rpc提供,将所有的用户后映射为nfsnobody,但是在访问的时候,还是以本地UID对应的本地用户来使用的。

    mounted:

    NFS是通过什么来控制那些客户端可以访问,那些不可以访问的呢?NFS只支持通过IP来控制客户端,而这个功能是由守护进程mounted来实现的,它监听的端口是半随机的。所谓的半随机指的是,这个随机端口是由rpc服务来决定的,而rpc是通过随机的方式。作用等等同于小区大门保安的作用。

    2、NFS请求过程

    在CentOS6.5中,NFS服务端监听在tcp和udp的2049端口,服务名是nfs、pc监听于tcp和udp的111号端口,服务名是portmapper。

    请求过程:当客户端试这去挂载使用nfs共享的文件系统是,客户端首先回去与postmapper(tcp/111)端口去注册使用,此时postmapper会随机分配一个端口给mounted,然后mounted这个守护进程会来验证客户端的合法性,验证通过后,会把请求交给nfs服务,客户端此时可以挂载使用了,用户在创建文件时,会使用到idmapd的守护进程来映射属主。其实idmapd也是有rpc服务提供的,只不过在这里,nfs服务使用到用户映射的功能时,会自动的去调用此守护进程。

    3、服务的配置

    在服务端,只需要安装nfs-utils就可以直接使用,nfs服务直接是内核的模块。

    1
    2
    3
    4
    5
    6
    7
    # smod | grep nfs
    nfsd                  309196  13 
    lockd                  73662  1 nfsd
    nfs_acl                 2647  1 nfsd
    auth_rpcgss            44949  1 nfsd
    sunrpc                262768  17 nfsd,lockd,nfs_acl,auth_rpcgss
    exportfs                4236  1 nfsd

    服务端共享的目录是通过 /etc/exports这个文件共享出去的。这个文件的书写格式如下:

    共享目录    客户端(选项1,选项2) 客户端(选项1,选项2) …  示例:

    /mydata   172.16.0.0/16(ro,async,no_root_squash)   www.example.com(ro)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    ########################客户端的表示方式##########################
    主机IP地址:例如 192.168.1.10
    网络地址:例如 172.16.0.0/24
    域名表示:例如 www.example.com(指定主机),*.example.com(对应域名下的所有主机)
    *:表示所有的主机
    ##############################常见的选项###############################
    有几个常用的选项可以对 NFS 实现进行定制。这些选项包括:
    secure: 这个选项是缺省选项,它使用了 1024 以下的 TCP/IP 端口实现 NFS 的连接。
       指定 insecure 可以禁用这个选项。
    rw: 这个选项允许 NFS 客户机进行读/写访问。缺省选项是只读的。
    async: 异步存储(所有的客户端操作先在内存中缓存,等待cpu空闲的时候写入磁盘)。
      这个选项可以改进性能,但是如果没有完全关闭 NFS 守护进程就重新启动了 NFS 服务器,
      这也可能会造成数据丢失。与之相反的是syns,是同步写入磁盘。
    no_wdelay: 这个选项关闭写延时。如果设置了 async,那么 NFS 就会忽略这个选项。
    nohide: 如果将一个目录挂载到另外一个目录之上,那么原来的目录通常就被隐藏起来
      或看起来像空的一样。要禁用这种行为,需启用 hide 选项。
    no_subtree_check: 这个选项关闭子树检查,子树检查会执行一些不想忽略的安全性检查。
      缺省选项是启用子树检查。
    no_auth_nlm: 这个选项也可以作为 insecure_locks 指定,它告诉 NFS 守护进程不要对加
      锁请求进行认证。如果关心安全性问题,就要避免使用这个选项。缺省选项是 auth_nlm 或 
      secure_locks。
    mp (mountpoint=path): 通过显式地声明这个选项,NFS 要求挂载所导出的目录。
    fsid=num: 这个选项通常都在 NFS 故障恢复的情况中使用。如果希望实现 NFS 的故障恢复,
      请参考 NFS 文档。
     
    #####################用户映射的选项############################
    root_squash: 这个选项不允许 root 用户访问挂载上来的 NFS 卷。
    no_root_squash: 这个选项允许 root 用户访问挂载上来的 NFS 卷。
    all_squash: 这个选项对于公共访问的 NFS 卷来说非常有用,它会限制所有的 UID 和 GID,
      只使用匿名用户。缺省设置是 no_all_squash。
    anonuid 和 anongid: 这两个选项将匿名 UID 和 GID 修改成特定用户和组帐号。


    4、常用命令

    showmount是用来查看nfs服务的情况

    用法:showmount [ -adehv ] [ --all ] [ --directories ] [ --exports ] [ --help ] [ --version ] [ host ]

    可以使用短选型,也可以使用长选项。

    -a :这个参数是一般在NFS SERVER上使用,是用来显示已经mount上本机nfs目录的cline机器。  
    -e :显示指定的NFS SERVER上export出来的目录。
     

    exportfs:一般用在当NFS服务启动后,使用此命令来控制共享目录的导出

    用法:exportfs [-aruv]
    -a :全部mount或者unmount /etc/exports中的内容
    -r :重新mount /etc/exports中分享出来的目录
    -u :umount目录
    -v :在export的时候,将详细的信息输出到屏幕上。
    具体例子:
    # exportfs -au 卸载所有共享目录
    # exportfs -rv 重新共享所有目录并输出详细信息

    5、客户端的使用

    先使用 showmont -e SER_NAME 来发现服务端的共享的目录

    然后使用mount挂载使用,格式:

    mount -t nfs SER_NAME:/data /parth/to/someponit [-o 选项]

    mount -t nfs 192.168.1.99:/mydat /mnt -o rsize=4096

    rsize 的值是从服务器读取的字节数。wsize 是写入到服务器的字节数。默认都是1024, 如果使用比较高的值,如8192,可以提高传输速度。

    三、samba服务(基本介绍)

    1、协议

    smb: Service Message Block

    CIFS: Common Internet File System通用网络文件系统,是windows主机之间共享的协议,samba实现了这个协议,所以可以实现wondows与linux之间的文件共享服务。

    监听的端口有:

    tcp/137 udp/137 tcp/139 udp/139

    137:是实现NetBIOS协议,实现解析windows之间主机名的解析,实现在windows的网上邻居可以看到Linux的主机名。

    139:是实现cifs协议

    2、如何访问?

    在Linux中:

    交互式数据访问:

    1
    smbclient -L HOST -U USERNAME

    获取到共享信息之后,

    1
    smbclint //SERVER/shared_name -U USERNAME

    基于挂载的方式访问:

    1
    mount -t cifs //SERVER/shared_name  /mount_point -o username=USERNAME,password=PASSWORD

    3、如何配置samba服务器(Linux)

    # yum -y install samba

    服务脚本:

          /etc/rc.d/init.d/nmb # 实现 NetBIOS协议

          /etc/rc.d/init.d/smb  # 实现cifs协议

    主配置文件:

           /etc/samba/smb.conf

    samba用户:

         账号:都是系统用户, /etc/passwd

         密码:samba服务自有密码文件,

         将系统用户添加为samba的命令:smbpasswd

         smbpasswd:

             -a Sys_User: 添加系统用户为samba用户

             -d :禁用用户

             -e: 启用用户

             -x: 删除用户

    配置文件:

    /etc/samba/smb.conf   配置文件包括全局设定,特定共享的设定,私有家目录,打印机共享,自定义共享

    全局配置:

    1
    2
    3
    workgroup = MYGROUP  # 工作组
    hosts allow = 127. 192.168.12. 192.168.13. # 访问控制,IP控制
    interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 # 接口+ip控制

    自定义共享:

    1
    2
    3
    4
    5
    6
    [shared_name] #共享名称
    path = /path/to/share_directory #共享路径
    comment = Comment String # 注释信息
    guest ok = {yes|no} | public = {yes|no} # 是否启用来宾账号
    writable = {yes|no} |  read only = {yes|no} # 共享目录是否可写
    write list = +GROUP_NAME  # 允许可写的用户列表,前面有+是代表允许可写的组

    测试配置文件是否有语法错误,以及显示最终生效的配置:

    1
    testparm


        至此,三种常见的文件服务介绍完成。



    本文出自 “逆水寒” 博客,请务必保留此出处http://guoting.blog.51cto.com/8886857/1541299

    分享至 一键收藏,随时查看,分享好友!
    展开全文
  • 共享文件的几种方式

    万次阅读 2016-12-29 23:32:47
    1、通过Win自带的共享设置 2、通过软件FileZilla_Server 进行共享 3、手机也能通过局域网访问的共享文件夹 4、通过命令连接ftp
  • windows局域网文件共享的使用

    万次阅读 2018-09-02 11:15:50
    系统:win7与win10 ---------------------------   确保两台机器处于同一局域网或同一网段。 注:适用于以下三种情况 ...win7 共享文件到win10 win7 IP:172.168.43.35 win10 IP:172.168...
  • A电脑配置需要共享的文件夹 新建一个需要共享的文件夹 Share(名称自己定),选中改文件夹,右键选择属性,在属性面板中选择共享: 在共享面板中选择需要共享的用户对象,一般选择访客 Guest 或者所有人 ...
  • 文件共享设置方法

    千次阅读 2019-01-10 18:05:53
    在 Windows 7 中,尝试与其它版本 Windows 系统共享文件时却常常失败。原因往往纷杂不一,例如,工作组名称不同,设置不正确等等。为解决问题,和节约大家的ATT时间,下面给出了一套操作流程供参考。一起来看看具体...
  • Mac 和 Windows 文件相互共享

    万次阅读 多人点赞 2016-01-16 16:28:26
    Mac 和 Windows 文件相互共享 Mac 》》Windows Windows 》》Mac
  • 在使用windows10 1709版本系统时,一位用户发现打开共享文件会遇到提示: 因为文件共享不安全,所以你不能连接到文件共享。此共享需要过时的SMB1协议,而此协议是不安全的,可能会使你的系统遭受攻击。 你的系统...
  • 局域网文件共享一般都是用的这些端口:135,136,137,138,139,445 445这些共享端口最好别用,容易被黑客黑了 服务器有足够强壮的口令; 服务器系统定期更新; 系统文件格式为NTFS,且能够为磁盘目录分配适合应用...
  • VMware虚拟机与主机进行文件共享的方法

    万次阅读 多人点赞 2018-03-23 16:58:48
    简单记录一下自己的操作过程,主机是win10系统,虚拟机的操作系统是Centos7。参考:https://blog.csdn.net/tjcwt2011/article/details/72638977https://jingyan.baidu.com/article/22fe7ced6437433002617fee.html...
  • 场景 本机win10连接远程共享文件时报错 (因为文件共享不安全,所以你不能连接到文件共享。此共享需要过时的SMB1协议,而此协议是不安全的,可能会使你的系统遭受攻击。 你的系统需要SMB2或更高版本。) 错误提示:  ...
  • Hyper-V共享文件方法1.找到虚拟机所在目录下的Virtual Hard Disks文件夹,该文件夹下有一个后缀为vhdx的磁盘映像文件(Tips 如果没有,说明你没有创建)2.这个文件就是你虚拟机里的硬盘文件,可以双击打开,可以管理...
  • 进入之后:先在专用(当前配置文件)中:选择启用网络发现,启用文件和打印机共享,允许windows管理家庭组推荐。 再在所有网络中:按如下的方式选择,最重要的是关闭密码保护共享。 这个设置好了之后,就选择这台...
  • 1. 网络共享文件:虚拟机网络设置为NAT方式。使用Feiq等文件传输工具进行传输。此方法只要主机和虚拟机之间网络互通即可。2. 使用共享文件夹的方式。给虚拟机添加共享文件夹指向一个本机的文件夹。要拷贝文件借此...
  • 远程服务器上设置共享文件夹: 1、在远程服务器上找到自己要共享的文件夹,比如:SharedTest文件夹   ...这就将一个文件夹及其里面的子文件夹与文件设置为共享文件了。可以供具有权限的用户访问
  • 如何开启Windows共享文件夹服务

    万次阅读 2019-11-04 18:17:35
    1、开启对应服务Server 重启电脑,进入命令行界面,输入netstat -an,查看445端口已经处于listen状态 ... ...网络和共享中心-->更改高级共享设置,如下几...启用文件和打印机共享 启用共享以便可以访问网络的用...
  • 因为文件共享不安全,所以你不能连接到文件共享。此共享需要过时的SMB1协议,而此协议是不安全的,可能会使你的系统遭受攻击。 你的系统需要SMB2或更高版本。关于如何解决此问题的信息,请参见 ...
  • 如何在linux系统之间共享文件

    万次阅读 2016-01-19 11:19:42
    我们在window下面共享文件很简单,只要在要共享的文件夹右键共享,分配权限就行了,win7也可以实现多用户共享,具体方法自行百度。 但是我们想在linux系统之间共享文件,这就需要使用NFS服务。 1.首先查看linux有...
1 2 3 4 5 ... 20
收藏数 1,139,668
精华内容 455,867
关键字:

文件共享