精华内容
下载资源
问答
  • 关于文件共享的正确描述是
    万次阅读
    2019-02-06 22:13:10

    问题描述:

    使用ES文件浏览器的局域网功能,连接时无论如何输入帐号和密码都不能登入。

    解决办法:

    前置条件

    1. 首先确保输入的帐号是正确的,而且帐号是要本地帐号。
    2. 确保smb服务开启。

    关键步骤

    1. 使用小娜的搜索框打开组策略。或者使用win键+r键打开运行,输入gpedit.msc打开。
    2. 依次点开【计算机配置】>【Windows设置】>【安全设置】>【本地策略】>【安全选项】>【网络访问:本地账户的共享和安全模型】。将其更改为“经典-对本地用户。。。”并确定保存。
    3. 重新尝试ES登入。
    更多相关内容
  • 浅谈文件描述符及文件系统

    千次阅读 2017-12-17 14:57:01
    之前在讲IO操作的时候,其中系统级IO中的open,write,read,close都用到了文件描述符(file descriptor),其中open的返回值为文件描述符,write、read和close都是在传参的时候需要传文件文件描述符。那么,文件...

    之前在讲IO操作的时候,其中系统级IO中的open,write,read,close都用到了文件描述符(file descriptor),其中open的返回值为文件描述符,write、read和close都是在传参的时候需要传文件的文件描述符。

    那么,文件描述符到底是个什么样的概念呢?
    简单地来说,文件描述符就是一个小整数,它是非负数,最小值为0,操作系统内核利用文件描述符来访问文件。而实际上,它是一个索引,指向内核为每一个进程所维护的该进程打开文件的记录表。当我们打开一个文件时,内核要在内存中创建数据结构来描述目标文件,于是便有了我们的file结构体,它表示一个已经打开的文件对象。而当进程执行open系统调用接口的时候,我们需要让进程和文件关联起来,每个进程都有一个文件指针*files,它指向一张文件结构表。这张表里最重要的东西就是一个指针数组,里面存放的都是指向各种文件的指针。而文件描述符,就是这个指针数组的下标。
    这里写图片描述

    从图中可以看到,系统在打开一个文件的时候,会先默认打开三个文件标准输入,标准输出,标准错误,它们三个分别占据了这个文件描述符数组的前三个,也就是下标0,1,2。这样我们新打开一个文件,这个文件的文件描述符只有被存放到3中了,那么一定是每次打开第一个文件,它的文件描述符都是3吗?我们通过一段代码来看一下。

    #include <stdio.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <unistd.h>
    #include <stdlib.h>
    
    int main()
    {
    	//close(0);
    	close(2);
    	int fd=open("close1",O_RDONLY);
    	if(fd<0)
    	{
    		perror("open!\n");
    		return 1;
    	}
    	printf("%d\n",fd);
    
    	close(fd);
    	return 0;
    }
    
    

    这里我们在程序一开始就关闭了文件描述符为0或2的文件(注意不能关1,当然其实也可以,只不过这样我们的结果就出不到终端窗口了,因为1是标准输出),看一下我们的结果
    这里写图片描述

    这里写图片描述
    我们可以看到,我们关了0,那么打开的文件的文件描述符即为0,;我们关了2,那么打开的文件的文件描述符即为2。由此可见,文件描述符的分配规则是,找到当前未被使用的最小的一个下标,作为新打开文件的文件描述符。

    关于输出重定向的问题
    之前我们说不能关闭1,因为会看不到结果,那么我们就要关闭1,会有什么结果呢?看代码

    #include <stdio.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <unistd.h>
    #include <stdlib.h>
    
    int main()
    {
    	//close(0);
    	//close(2);
    	umask(0);
    	close(1);
    	int fd=open("close1",O_WRONLY|O_CREAT,0666);
    	if(fd<0)
    	{
    		perror("open!\n");
    		return 1;
    	}
    	printf("%d\n",fd);
    	fflush(stdout);
    
    	close(fd);
    	return 0;
    }
    
    

    这里写图片描述
    我们可以看到,本来是要输出到显示器上的内容,输出到了我们的文件close1当中,并且,该文件的fd为1,也就是我们关闭的标准输出的原始文件描述符。这叫做输出重定向,下面我们来看一下它的本质。
    这里写图片描述

    printf函数的输出结果一般是往标准输出输出的。但stdout在底层寻找文件的时候,还是找的fd=1的文件。这里原来fd=1的文件是stdout,但此时我们改成了close1,所以输出的任何信息都会往该文件中写入,实现了输出重定向。

    在这里顺便提下能够输出到显示器的函数printf,fwrite,write进行重定向时的区别
    printf和fwrite是C库函数,它们两个自带用户级别的缓冲区。当写入普通文件时,缓冲方式为全缓冲;当写入显示器时,缓冲方式为行缓冲。当进行了输出重定向后,在缓冲区中的数据不会被立即刷新,当进程退出的时候,会统一刷新。而write属于系统调用接口,它没有缓冲区。下面给一份代码来感受一下它们的区别:

    #include <stdio.h>
    #include <unistd.h>
    #include <string.h>
    
    int main()
    {
    	char* msg1="pringf!\n";
    	char* msg2="fwrite!\n";
    	char* msg3="write!\n";
    
    	printf("%s",msg1);
    	fwrite(msg2,1,strlen(msg2),stdout);
    	write(1,msg3,strlen(msg3));
    
    	fork();
    	return 0;
    }
    

    输入结果如下
    这里写图片描述

    当我们把输出结果重定向到一个file文件中之后,再来看看结果
    这里写图片描述

    正如之前所说,在发生输出重定向之时,printf以及fwrite中的缓冲区并没有立即刷新,即便是调用了fork。fork之后,子进程会写时拷贝一份父进程的数据,所以当父进程准备刷新的时候,子进程也就有了同样的一份数据,便有了如上的两份数据。write并没有缓冲区,它是直接输出的,而且是第一个输出,因为别的都还在缓冲。

    关于文件系统

    Linux中有一个很重要的理念,即“一切皆文件”,任何目录,进程,命令,设备等,归根结底在Linux看来都是文件。它们被分成若干个基本存储单元,存放在磁盘的不同物理地址上,并具有特定的权限。

    那么既然任何东西都可以被看成是文件,操作系统就需要来管理文件,而文件系统,就是操作系统来管理文件的方式。简单的说,操作系统通过文件系统来管理分布在磁盘上的各个文件。

    通过stat指令可以查看文件的状态信息
    这里写图片描述
    上图中的Links表示该目录下有的链接数,如果该文件是目录,Links表示该目录还有多少目录(包括隐藏目录.和…);如果该文件是普通文件,Links表示指向该文件的硬链接数加上它本身(即如果有一个硬链接指向该文件,那么该文件的Links就是2)。该数也可以通过stat结构体的st_nlink字段获得

    这里我们需要解释几个概念
    磁盘 :存放文件的设备,如下图的/dev/sda
    这里写图片描述
    分区:磁盘上划分出来的空间,如下图的/dev/sda1
    这里写图片描述

    Block :块,是系统文件读写和存放数据的最小单位。每个Block里只能存放一个文件的数据。如果文件大于Block大小,则该文件会占用多个Block;如果文件小于Block大小,他也会完全占用该Block,剩余的空间也不会再被使用(磁盘空间会浪费)。因此,在对Block大小进行设置的时候要考虑当前系统存放的数据的特点,如果有很多小于Block大小的文件,格式化的时候却把Block设置成较大,这样会造成很多的磁盘空间浪费;反之,如果系统里以大文件居多,这时却把Block设置成较小,固然不会浪费磁盘空间,但也导致Block较多,影响读写性能。

    Sector :扇区,是磁盘控制器每次对磁盘进行读写的最小单位。扇区是最小的物理存储的单位,一般为512字节,由磁盘生产商确定,用户改不了。磁盘读到的Sectoer数据会先放在磁盘的缓存里,直到整个Block的所有Sector都缓存到了才会传输给内存,交由文件系统处理。

    超级块(super Block):也是一个block,用来记录文件系统的整体信息,包括 inode/block总量,使用量,剩余量,以及文件系统的格式与相关信息等

    indoe :这是一个非常重要的概念,是Linux非常厉害的一个设计。它将文件的属性,权限等和文件的数据分开存放。
    这里写图片描述

    下面我们来看一下操作系统是如何将文件的属性和数据分开来存放的。
    我们先创建一个新的文件,如下图所示(ls -i可以显示文件对应的i节点号)
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uUdU4oIU-1608188736410)(https://img-blog.csdn.net/20171217123112831?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHZ5aWJpbjg5MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)]

    目录:也是文件的一种,自然也有自己的inode和block,目录的inode主要记录目录的属性,权限等,目录的block主要记录目录下的文件名和对应的inode
    这里写图片描述

    目录有以下属性:

    1.创建的时候会分配一个inode给目录,如果目录是空的,则不占用block,如果目录下文件过多,可能会占用多个block

    2.访问文件时,先访问文件所在目录的inode,验证是否有权限,如果有则访问对应父目录的block,获得该文件对应inode,验证是否有该文件的权限,若有则访问该文件的block

    3.父目录的inode从父目录的父目录获得!这样层层递推,Linux对所有文件的访问都是从最上层的根目录开始的

    4.根目录的inode是固定的,一般是2号inode,根目录的上层目录就是他自己

    存储一个文件的过程

    1. 内核先找到一个空闲的i节点,这里是137,把文件属性信息记录到其中。
    2. 内核在数据区找到几个空闲的磁盘块(假设需要三个磁盘块分别是300,500,800),将内核缓冲区的第一块数据复制到第一块磁盘块(300),往后以此类推,直到存完数据
    3. 文件内容按顺序300,500,800存放。内核在inode上的磁盘分布区记录了上述记录。
    4. 新的文件名为pigff,内核将入口(137,pigff)添加到目录文件。文件名和inode之间的对应关系将文件名和文件的内容及其属性连接起来(如上面目录的图)。

    从磁盘上读取一个文件的过程

    1. 程序调用read函数请求读文件
    2. read函数根据给的文件描述符参数,拿到对应文件的文件表项,在文件表项中拿到目录项模块,找到对应文件的inode
    3. 在inode中,根据文件表项中的偏移量计算出要读取的页
    4. 通过inode找到文件对应的address_space(该结构体是用来管理文件(struct inode)映射到内存的页面(struct page)的
    5. 在address_space中访问该文件的页缓存树,查找对应的页缓存节点:如果页缓存命中,那么直接返回文件内容;如果页缓存缺失,那么发生缺页异常,将会创建一个缓存页,通过inode找到文件该页的磁盘地址,读取相应的页填充该缓存页;然后重新查找缓存页
    6. 文件内容读取成功

    往文件里写文件的过程

    1. 程序调用write函数请求写文件

    2. write函数根据给的文件描述符参数,拿到对应文件的文件表项,在文件表项中拿到目录项模块,找到对应文件的inode

    3. 在inode中,根据文件表项中的偏移量计算出要往文件中写的页

    4. 通过inode找到文件对应的address_space

    5. 在address_space中访问该文件的页缓存树,查找对应的页缓存节点:
      a). 如果页缓存命中,那么直接把文件内容修改更新在页缓存的页中,写文件就结束了;这时候文件修改位于页缓存,并没有写回到磁盘文件中去
      b). 如果页缓存缺失,那么发生缺页异常,将会创建一个缓存页,通过inode找到文件该页的磁盘地址,读取相应的页填充该缓存页;然后重新查找缓存页

    6. 一个页缓存中的页如果被修改,那么会被标记成脏页。脏页需要写回到磁盘中的文件块。有两种方式可以把脏页写回磁盘:
      a). 手动调用sync()或者fsync()系统调用把脏页写回;
      b). pdflush进程会定时把脏页写回到磁盘;
      注意: 脏页不能被置换出内存,如果脏页正在被写回,那么会被设置写回标记,这时候该页就被上锁,其他写请求被阻塞直到锁释放。

    实际上读写文件发生了两次拷贝,从磁盘拷贝到页缓存,再从页缓存拷贝到用户空间。这期间都发生了系统调用,要从用户态切换到内核态。

    理解硬链接
    事实上,真正找到磁盘上的文件的并不是文件名,而是inode。我们通过硬链接可以让多个文件对应于同一个inode。目录没有硬链接。
    这里写图片描述
    这里写图片描述
    可以看到第一列,两个文件对应的inode都是137,它们被称为指向文件的硬链接。内核记录了这个链接数,inode137对应的硬链接数为2。每次新创建一个文件的时候在删除文件的时候,我们干了两件事:1.将目录中对应的记录删除。2.将文件的硬链接数-1,如果为0,则将对应的磁盘释放。

    在用mv命令为一个文件更名的时候,该文件的实际内容并未移动,只需要构造一个指向现有i节点的新目录项,并解除与旧目录项的链接。

    以便于简单理解,我们可以把硬链接理解为C++当中的引用。即硬链接的两个文件,实际上都是一个文件,tmp可以当作是pigff的别名。当我们修改其中一个文件的内容时,另一个文件也会随之修改。上图可以看到两者出了名字其余信息全部相同。
    这里写图片描述
    如上图,我们把ls的输出结果重定向到了tmp文件中,tmp文件的大小从之间的0变到了82,而同时pigff文件的大小也变为了82。
    总而言之,硬链接就是两个指向相同inode文件的文件,他们除了名字不同其他都相同。删除原文件,不会对硬链接文件有影响

    理解软链接
    硬链接是通过inode引用另外一个文件,软链接是通过名字引用另外一个文件。
    这里写图片描述
    如图我们在ln命令加一个-s选项,便是软链接,他有一个指向关系,从显示结果的第一列我们可以看到 lyb文件的类型是一个链接文件“l”。

    简单地理解,我们可以把软链接理解为Windows下常用的快捷方式,或者是复制了一份文件从而变成一份新的文件。当我们删除新的文件的时候,原文件不会随之删除,反之如果删除原文件,那么软链接就变成了死链接。

    动态库和静态库

    • 静态库(.a):程序在编译链接的时候把库的代码链接到可执行文件中。程序运行的时候将不再需要静态库。我们用的最多的函数printf便是在链接的时候链接到可执行文件当中的。
    • 动态库(.so):程序在运行的时候才去链接动态库的代码,多个程序共享使用库的代码。
    • 一个与动态库链接的可执行文件仅仅包含它用到的函数入口地址的一个表,而不是外部函数所在目标文件的整个机器码。
    • 在可执行文件开始运行之前,外部函数的机器码由操作系统从磁盘上的该动态库复制到内存中,这个过程称为动态链接。
    • 动态库可以在多个程序间共享,所以动态链接使得可执行文件更小,节省了磁盘空间。操作系统采用虚拟内存机制允许物理内存中的一份动态库被要用到该库的所有进程公用,节省了内存和磁盘空间。

    下面我们通过一段程序来生成静态库和动态库
    add.h
    这里写图片描述
    add.c
    这里写图片描述
    sub.h
    这里写图片描述
    sub.c
    这里写图片描述
    main.c
    这里写图片描述
    这里写图片描述

    生成静态库
    这里写图片描述
    ar是gnu归档工具,rc表示替换或创建
    t:列出静态库中文件
    v:详细信息

    这里写图片描述
    -L:指定库路径
    -l: 指定库名

    如上图,我们可以看到程序运行处了正确的结果,此时我们删除静态库,程序依然可以运行成功。
    这里写图片描述

    生成动态库

    • shared:表示生成共享库格式
    • fPIC:产生位置无关码
    • 库名规则:libxxx.so

    这里写图片描述

    使用动态库
    编译选项

    • L:链接库所在路径
    • l:链接动态库,只要库名即可(去掉lib以及版本号)
    gcc main.c -o main -L . -lmymath
    
    

    运行动态库

    • 拷贝.so文件到系统共享库路径下,一般是/usr/lib

    • 更改LD_LIBRARY_PATH
      这里写图片描述

    • ldconfig配置/etc/ld.so.conf.d/ , ldconfig更新
      在/etc/ld.so.conf.d目录中创建一个my.conf,里面只有一句话,就是刚才创建的动态库的路径/usr/lib/libmymath.so,保存退出后执行ldconfig。

    展开全文
  • 一 : 关于Windows的默认共享介绍 网上其实到处都有谈论到,现我也只是整理一下: 在在Windows 系统中,在“我的电脑”上右击“管理”,依次选择“系统工具→共享文件夹→共享”,就会看到一些带有美元“$”标记的...

    一 : 关于Windows的默认共享介绍

    网上其实到处都有谈论到,现我也只是整理一下:

    在在Windows 系统中,在“我的电脑”上右击“管理”,依次选择“系统工具→共享文件夹→共享”,就会看到一些带有美元“$”标记的符号就是Windows系统默认共享,也就是Windows在安装完毕后自动共享的功能。

    当然在cmd命令下输入net share 同样可以查看得到。

    IPC$、ADMIN$、C$、D$都是什么?

    IPC$(Internet Process Connection)可以被理解为一种“专用管道”,可以在连接双方建立一条安全的通道,实现对远程计算机的访问。Windows NT/2000/XP提供了IPC$功能的同时,在初次安装系统时还打开了默认共享,即所有的逻辑共享(C$,D$,E$……)和系统目录(ADMIN$)共享。所有这些共享的目的,都是为了方便管理员的管理,但在有意无意中,导致了系统安全性的隐患。

    默认共享是一项非常有用的功能,只是我们平时用不到罢了。微软的初衷是便于网管进行远程管理。

    默认共享是管理员级别或是有相对应权限的账户的操作。不是别人想查看你共享的东西就能查看到的,主要的限制就是你的管理员密码。同时当共享方式为仅来宾方式时,任何连接的用户权限只能是guest级别的。Windows XP安装后的默认共享方式就是”仅来宾”的方式。
    同时,微软这么说过:“服务器服务需要使用默认 IPC$ 系统管理共享。因此,您不可以删除此共享,我们建议您不要删除由 Windows 为根分区和卷创建的(如 C$)和为系统根文件夹创建的 (ADMIN$) 系统管理共享。删除这些文件夹可能会给依赖这些共享的管理员和程序或服务带来问题。” 只要服务器服务”Server”正在运行当中,就不可能删除IPC$。试图删除只会出现”拒绝访问”的错误提示。当你停止了Server服务后。IPC$会自动消失。

    默认共享不是个漏洞。造成安全隐患的并不是默认共享本身。而是系统使用者本身。

    ///

    当然,针对IPC$ ,额、度娘和谷姐很好,有很多文章-.-  就不转了…

    //

    怎么访问那些共享?

    访问WindowsXP默认共享非常简单:

    一是通过“开始”→“运行”,输入“计算机名或IP地址D$或admin$”(不包括两侧的引号,下同);

    二是使用IE等浏览器,在地址栏中输入上述格式或“file://10.80.34.33/d$”(如图):

    //

    未知的共享开了是不是有些不爽?

    现在来看下怎样关闭这些共享:

    先来看看cmd命令 net share 的使用

     

    C:Documents and SettingsAdministrator>net share ?
    此命令的语法是:

    NET SHARE
    sharename
    sharename=drive:path [/GRANT:user,[READ | CHANGE | FULL]]
    [/USERS:number | /UNLIMITED]
    [/REMARK:"text"]
    [/CACHE:Manual | Documents| Programs | BranchCach
    e | None]
    sharename [/USERS:number | /UNLIMITED]
    [/REMARK:"text"]
    [/CACHE:Manual | Documents | Programs | BranchCache | None]
    {sharename | devicename | drive:path} /DELETE
    sharename computername /DELETE
    参数说明:

    sharename:指共享资源的网络名。如果此名字后面加上“$”字符则此共享就会成为隐含的。
    drive:path:指定将被共享的文件夹的绝对路径(包括驱动器名)。如:C:My Documents。
    /USERS:设置可以同时访问共享资源的最大用户数,“number”指具体的用户数。
    /UNLIMITED:指不限定同时访问共享资源的用户数。
    /REMARK:添加一个有关共享资源的描述性注释,注释内容的文本应该包含在引号(“)中。
    /CACHE:指定访问共享时启动缓存的方法,以便脱机访问此共享。分三种类型:“Manual”指启用脱机客户缓存和手动重新集成,“Automatic”允许启用脱机客户缓存和自动重新集成,“No”不允许使用脱机客户缓存。
    devicename:指一个或多个被共享名所共享的打印机设备(从LPT1:到LPT9:)。
    /DELETE:关闭共享。

    命令:

    net share
    含义:直接显示出本计算机上所有的共享(效果如下图中红色方框所示)

    net share Tmxt
    含义:直接显示出名为Tmxt的共享的详细信息

    (效果如下图中红色方框所示)

    net share admin$ /del
    含义:关闭名admin$的共享。

    ///

    此为一种方法,现还附上其他的关闭默认共享的方法:

    方法二:查找键值:

    禁止C$、D$、E$、ADMIN$一类的共享

    “开始”→“运行”输入“regedit”确定后,打开注册表编辑器,找到“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparameters”项,双击右侧窗口中的“AutoShareServer”项将键值由1改为0,这样就能关闭硬盘各分区的共享。如果没有AutoShareServer项,可自己新建一个再改键值。然后还是在这一窗口下再找到“AutoShareWks”项,也把键值由1改为0,关闭admin$共享。最后到“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa”项处找到“restrictanonymous”,将键值设为1,关闭IPC$共享。

    注意:本法必须重启机器,但一经改动就会永远停止共享。

    方法三:用批处理:将下面两部分代码保存为两个文件,放在同一目录,运行Name.BAT 即可。

    将下面的代码保存为.BAT文件:

    @ECHO OFF
    TITLE 正在取消默认的分区共享…
    net share admin$ /del
    net share c$ /del
    net share d$ /del
    net share e$ /del
    net share f$ /del

    ……(你有几个硬盘分区就写几行这样的命令)

    保存为NotShare.bat(注意后缀!),然后把这个批处理文件拖到“程序”→“启动”项,这样每次开机就会运行它,也就是通过net命令关闭共享。

    如果哪一天你需要开启某个或某些共享,只要重新编辑这个批处理文件即可(把相应的那个命令行删掉)。

    方法四:将下面的代码保存为 Share.reg 文件:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparameters]
    “AutoShareServer”=dword:00000000
    “AutoShareWks”=dword:00000000
    方法五:停止服务
    控制面板——管理工具——服务——SERVER服务
    (右击)——属性——常规——启动类型——己禁用
    到“计算机管理”窗口中,单击展开左侧的“服务和应用程序”并选中其中的“服务”,此时右侧就列出了所有服务项目。共享服务对应的名称是“Server”(在进程中的名称为services),找到后双击它,在弹出的“常规”标签中把“启动类型”由原来的“自动”更改为“已禁用”。然后单击下面“服务状态”的“停止”按钮,再确认一下就OK了。

    方法六:右键“停止共享”法

    到“计算机管理”窗口中某个共享项(比如H$)上右键单击,选择“停止共享” 并确认后就会关闭这个共享,它下面的共享图标就会消失,重复几次所有的项目都可以停止共享。

    注意:但这种方法治标不治本,如果机器重启的话,这些共享又会恢复。此法比较适合于永不关闭的服务器,简单而且有效。
    方法七:卸载“文件和打印机共享”法

    右击“网上邻居”选“属性”,在弹出的“网络和拨号连接”窗口中右击“本地连接”选“属性”,从“此连接使用下列选定的组件”中选中“Microsoft网络的文件和打印机共享”后,单击下面的“卸载”按钮并确认一下。

    注意:本方法最大的缺陷是当你在某个文件夹上右击时,弹出的快捷菜单中的“共享”一项消失了,因为对应的功能服务已经被卸载掉了!>

    /

    说到底,其实默认共享好像形不成对windows的威胁吧 ,别人如果想进来还得你给他分配权限 ,否则他也进不来。

    ///

    关闭了默认共享,在实际使用中我们也没有出现任何故障,实际上默认共享只在某些情况下用到,关闭默认共享并不会影响上网聊天、收发邮件等普通操作,不过对于域控制器或网络中使用了C/S类型的软件等环境来说,盲目删除默认共享带来的危害是巨大的。下面是从众多故障中选出几个有代表性的分析:

    现象1
    危害指数:★★★★
    危害对象:欲登录域环境的客户机
    出现环境:域环境

    将域控制器上的默认共享全部关闭后,当网络中有客户端计算机想加入这个域时,则会出现问题。现象为Windows 98或Microsoft Windows Millennium Edition的客户端计算机登录到域时会出现“域登录密码不正确”、“没有权限登录域”等提示。一些Windows 2000或Windows XP的计算机登录到网络时也可能出现“域服务器不可用”等信息。如果我们手工将计算机加入域时会出现“域控制器名称没找到”的提示。
    出现上述信息后,我们的客户机根本无法加入建立的域中,只能进行本机登录,在安全性和管理性上都无法达到统一,使企业网络管理无法正常进行,规划好的域无法运行。

    为什么客户端无法正常加入到域中呢?究其原因是客户机在寻找域控制器时是通过广播查找NETLOGON$这个默认共享的,如果此共享被关闭则会出现故障。

    现象2
    危害指数:★★★
    危害对象:网络共享服务
    出现环境:工作组环境、域环境

    在网络中任意一台计算机上禁止所有默认共享后,在网络中其他计算机上使用UNC 路径、映射的驱动器、net use命令、net view命令或通过在“网上邻居”中浏览网络,以远程方式访问或查看关闭默认共享的计算机时会收到“远程服务器不容许访问”、“系统53错误,网络路径不可达”等信息。

    出现上述信息后,网络中的其他计算机就无法访问关闭默认共享的计算机。

    现象3
    危害指数:★★
    危害对象:WINS服务
    出现环境:普通网络、域环境在关闭默认共享的计算机上WINS服务可能无法启动或者WINS控制台显示红色的叉,更有甚者两个故障同时存在。虽然WINS服务在当前网络中应用的范围越来越少,但是通过WINS服务我们还是可以大大加快局域网中主机名的解析速度。WINS服务无法启动或者WINS控制台显示红叉,那么在解析主机名过程中会出现问题。

    WINS服务的异常也是我们将默认共享关闭了所带来的,关闭默认共享会使WINS相关服务与组件的运行出现问题。

    现象4
    危害指数:★★★★★
    危害对象:内网安全体制
    出现环境:普通网络

    网络中使用了瑞星网络版杀毒软件,在使用中将服务器端的默认共享关闭后,客户端出现无法正常连接瑞星杀毒服务器的现象,同时,服务器也无法正常检测客户端的漏洞以及控制客户端升级等操作。

    上述故障自然也是将默认共享关闭造成的,瑞星网络版通过默认共享admin$来管理客户机,当客户机的admin$关闭后服务器将无法通过自身的扫描模块寻找客户机以及它们的漏洞,关闭服务器的admin$后则会出现客户机无法找到网络中的瑞星杀毒服务器的问题。

    值得注意的是,该问题不仅出现在网络版瑞星杀毒软件上,对于大多数网络版杀毒软件来说盲目关闭默认共享都可能带来此危害,甚至某些网络管理软件也会因为admin$的关闭而无法工作。

    /

    那好吧,现在看看怎么开启这些默认共享:

    第一步:检查AutoShareServer和AutoShareWks注册表值,以确保未将它们设置为0。依次点击“开始→运行”,输入regedit,然后按回车键进入注册表编辑器。

    第二步:找到并单击HKEY_LOCAL_
    MACHINESystemCurrentControlSetServic
    esLanmanServerParameters。

    第三步:如果LanmanServerParameter
    s子项中的AutoShareServer 和AutoShareW
    ks DWORD值配置的数值为0,则将该值更改为1(图2)。

    第四步:重新启动计算机。通常运行Windows Server 2003、Windows XP、Windows 2000的计算机会在启动过程中自动创建。

    第五步:启动计算机后,我们可以通过运行CMD进入命令行模式,然后运行net share,在共享列表中应该会查找到Admin$、C$和IPC$等默认共享的存在。

    而通过关闭Server服务、在网卡上去掉Microsoft客户端驱动、以及在网卡上去掉“文件和打印共享”选项等都可关闭默认共享。当使用这些方法关闭默认共享后出现上述问题时,就需要通过开启相应的Server服务,在网卡中添加相应驱动或选项来恢复默认共享。

    //

    一个小东西,-.-整了这么一大串….

    by duke

    二 : win7默认共享文件夹在哪里?win7关闭默认共享文件夹

    有时候我们在使用电脑的时候,不想系统默认共享文件夹,怎么关闭呢,下面小编来分享一下方法,一起来看看吧!

    步骤

    第一步右键桌面上的“计算机”点击“管理

    第二步进去之后,我们在列表中找到“共享文件夹

    第三步点击打开共享文件夹,点击“共享”,我们可以在右方看到系统的共享文件夹

    第四步鼠标右键我们要取消的共享文件夹,选择“停止共享

    第五步我们点击之后,会弹出一个警告对话框,点击“”,如下图所示:

    第六步点击之后,我们可以看到刚刚的共享文件夹已经关闭了,如下图所示:

    以上就是win7关闭默认共享文件夹方法介绍,操作很简单的,大家学会了吗?希望这篇文章能对大家有所帮助!

    三 : win7旗舰版统下如何关闭默认共享文件?win7旗舰版统下关闭默认共享文件的四种方法

     win7旗舰版统下关闭默认共享文件的四种方法 三联

      win7旗舰版统下关闭默认共享文件的四种方法

             方法一:批处理自动关闭法

      1、打开win7系统记事本,在其中输入:net share admin$ /deletenet share c$ /delete;

      2、然后对照“计算机管理工具”中查看的隐藏共享列表,每个一行,然后将文件保存为bat格式,将编辑好的批处理文件拖到开始菜单的启动项中,这样每次开机都会系统就会执行批处理命令,自动将这些默认共享关闭。

      方法二:直接关闭法

      1、双击win7系统桌面上的计算机图标,然后计算机窗口中鼠标右击盘符选择“共享和安全”命令;

            2、在打开的“共享”文件夹选项卡中可以清楚地看到“共享此文件夹”被选中,共享文件名后面有一个“$”标志,这时我们只需选中“不共享此文件夹”选项,然后点击确定按钮,这时会提示你该共享是为管理创建的,但重新启动后共享又会自动被建立;

            3、单击“是”按钮即可关闭。

      方法三:进入计算机管理进行关闭

      1、鼠标右击“计算机”选择“管理”;

            2、在打开的计算机管理左侧选择“共享文件夹”下的“共享”项,这样在右侧则会显示所有隐藏的共享,这时只需要将它们选中并右击,在弹出的菜单中选择“停止共享”命令就可以了。

    进入计算机管理进行关闭

      方法四:通过服务进行关闭

      1、进入win7系统的控制面板,打开“管理工具”中的“服务”;

           2、在右侧的服务列表中找到并双击“Server”服务,单击“停止”按钮,然后将 “启动类型”设为“已禁用”,设置好后单击“确定”按钮即可。

           备注:这个方法会导致正常的共享服务也无法使用了。这对需要使用共享服务的朋友来说就会显的不够便利。

    双击“Server”服务

            以上就是 对win7旗舰版统下关闭默认共享文件的四种方法的就诶是,有此需求的朋友可以动手尝试下。

    四 : win10|win8.1|win7管理共享关闭图文教程

    大家知道win10|win8.1|win7会创建一些隐藏共享文件夹,在文件名称末尾以美元“$”标志区别开。当用户在文件资源管理器的网络节点,或者使用命令查看网络共享时,无法查看到这些隐藏共享,现在就分享win10|win8.1|win7管理共享关闭图文教程,教大家关闭win系统管理共享功能 

           win系统管理共享创建一些隐藏共享文件夹在XP、Vista、Windows7、Windows8/Windows 8.1和Windows10中都存在,目的是让系统管理员、程序以及相关服务能够以此管理网络环境。

      Windows在默认情况下会开启以下隐藏管理共享:

      • 根分区或卷

      • 系统根目录

      • FAX$共享

      • IPC$共享

      • PRINT$共享

      这些共享的开启可以让任何有管理权限进入你的电脑或者活动目录(Active Directory)域(连接状态下)的用户进入任何分区,而并不需要你主动分享文件,因为他已经拿到了你的账户凭据。

            在基于Windows NT架构的系统(XP、Vista、Win7、Win8/Win8.1和Win10等都是)中,所有分区都通过“管理共享”功能对管理员开放共享。

            因此这种机制存在安全隐患,你可以采取以下三种方式彻底关闭该共享功能。

      1、关闭Server服务

      ①在运行、任务管理器或Cortana搜索栏(Win10)/开始菜单搜索栏(Win7)/开始屏幕搜索栏(Win8.1)输入services.msc后回车,打开“服务”

      ②找到Server,双击打开

      ③在“启动类型”中选择“禁用”,然后在“服务状态”点击“停止”后确定

      这种方法能够关闭文章开头提到的管理共享,不过对于需要开启打印和传真等共享和某些文件共享的用户来说,这种方式有些“矫枉过正”。后面两种方式更适合这部分用户。

      2、在注册表中关闭“管理共享”

      虽然是在注册表中操作,但这种方法其实并不费事,不过最好在修改前备份一下注册表,以防修改错误导致不必要的麻烦。可以用软媒魔方的清理大师来完成该操作,方便快捷。

      具体方法如下:

      ①在运行、任务管理器或Cortana搜索栏(Win10)/开始菜单搜索栏(Win7)/开始屏幕搜索栏(Win8.1)输入regedit后回车,打开注册表编辑器

      ②定位到

      HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters

      ③新建DWORD(32位)值,重命名为AutoShareWks,并将其数值数据设置为“0”后点击确定

      3、用软媒魔方的设置大师关闭“管理共享”

      用魔方操作更为简洁,并且不会影响到正常的共享功能,方便高效。

      ①打开最新版软媒魔方,找到“设置大师”

      ②在“网络设置”中选择“网络共享设置”

      ③在“共享设置”中勾选想要取消的管理共享,一般来说前三项都要勾选,记得点击“保存设置”;然后在“共享列表”中可以选择清除IPC共享,该项目风险较高

      至此,三种方法介绍完毕,操作上都没太大难度,对目前主流Windows系统都适用。关键是系统首次安装之后最好就关闭这些“危险因素”,及早预防。

    展开全文
  • linux 共享内存 shm_open ,mmap的正确使用

    万次阅读 多人点赞 2019-11-06 11:30:53
     linux共享内存是通过tmpfs这个文件系统来实现的,tmpfs文件系的目录为/dev/shm,/dev/shm是驻留在内存 RAM 当中的,因此读写速度与读写内存速度一样,/dev/shm的容量默认尺寸为系统内存大小的一半大小,使用df -h...

      在linux系统开发当中,时常需要在多个进程之间交换数据,在多个进程之间交换数据,有很多方法,但最高效的方法莫过于共享内存。

      linux共享内存是通过tmpfs这个文件系统来实现的,tmpfs文件系的目录为/dev/shm,/dev/shm是驻留在内存 RAM 当中的,因此读写速度与读写内存速度一样,/dev/shm的容量默认尺寸为系统内存大小的一半大小,使用df -h命令可以看到。但实际上它并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节,仅在使用shm_open文件时,/dev/shm才会真正占用内存。

    在Linux系统使用共享内存,一般用到以下几个函数:

    int shm_open(const char *name, int oflag, mode_t mode);
    void *mmap(void *addr, size_t length, int prot, int flags,int fd, off_t offset);
    int munmap(void *addr, size_t length);
    int shm_unlink(const char *name);
    int ftruncate(int fd, off_t length);

    int shm_open(const char *name, int oflag, mode_t mode);

    功能说明:shm_open 用于创建或者打开共享内存文件。笔者认为shm_open 也许仅仅是系统函数open的一个包装,不同之处就是shm_open操作的文件一定是位于tmpfs文件系统里的,常见的Linux发布版的tmpfs文件系统的存放目录就是/dev/shm。

    返回值:成功返回fd>0,  失败返回fd<0

    参数说明:

    name:要打开或创建的共享内存文件名,由于shm_open 打开或操作的文件都是位于/dev/shm目录的,因此name不能带路径,例如:/var/myshare 这样的名称是错误的,而 myshare 是正确的,因为 myshare 不带任何路径。如果你一定要在name添加路径,那么,请在/dev/shm目录里创建一个目录,例如,如果你想创建一个  bill/myshare 的共享内存文件,那么请先在/dev/shm目录里创建 bill这个子目录,由于不同厂家发布的linux系统的tmpfs的位置也许不是/dev/shm,因此带路径的名称也许在别的环境下打开不成功。

    oflag:打开的文件操作属性:O_CREAT、O_RDWR、O_EXCL的按位或运算组合

    mode:文件共享模式,例如 0777

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

    void *mmap(void *addr, size_t length, int prot, int flags,int fd, off_t offset);

    功能说明: 将打开的文件映射到内存,一般是将shm_open打开的文件映射到内存,当然也可以将硬盘上的用open函数打开的文件映射到内存。这个函数只是将文件映射到内存中,使得我们用操作内存指针的方式来操作文件数据。

    参数说明:

    addr:要将文件映射到的内存地址,一般应该传递NULL来由Linux内核指定。

    length:要映射的文件数据长度。

    prot:映射的内存区域的操作权限(保护属性),包括PROT_READ、PROT_WRITE、PROT_READ|PROT_WRITE

    flags:标志位参数,包括:MAP_SHARED、MAP_PRIVATE与MAP_ANONYMOUS。
                MAP_SHARED:  建立共享,用于进程间通信,如果没有这个标志,则别的进程即使能打开文件,也看不到数据。
                MAP_PRIVATE: 只有进程自己用的内存区域
                MAP_ANONYMOUS:匿名映射区

    fd:   用来建立映射区的文件描述符,用 shm_open打开或者open打开的文件。

    offset:映射文件相对于文件头的偏移位置,应该按4096字节对齐。

    返回值:成功返回映射的内存地址指针,可以用这个地址指针对映射的文件内容进行读写操作,读写文件数据如同操作内存一样;如果 失败则返回NULL。

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

    int munmap(void *addr, size_t length);

    功能说明: 取消内存映射,addr是由mmap成功返回的地址,length是要取消的内存长度,munmap 只是将映射的内存从进程的地址空间撤销,如果不调用这个函数,则在进程终止前,该片区域将得不到释放。

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

    int shm_unlink(const char *name);

    功能说明:删除/dev/shm目录的文件,shm_unlink 删除的文件是由shm_open函数创建于/dev/shm目录的。可以用系统函数unlink来达到同样的效果,用/dev/shm + name 组成完整的路径即可,但一般不要这么做,因为系统的tmpfs的位置也许不是/dev/shm。用shm_open 创建的文件,如果不调用此函数删除,会一直存在于/dev/shm目录里,直到操作系统重启或者调用linux命令rm来删除为止。

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

    int ftruncate(int fd, off_t length);

    功能说明:重置文件大小。任何open打开的文件都可以用这个函数,不限于shm_open打开的文件。

    好了,以下是共享内存操作的实践代码:

    1.writer.c ,创建内存共享文件并写入数据。

    #include <stdio.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <stdio.h>
    #include <sys/mman.h>
    #include <string.h>
    #include <errno.h>
    #include <unistd.h>
    
    #define MMAP_DATA_SIZE 1024
    
    #define USE_MMAP 1
    
    int main(int argc,char * argv[])
    {
            char * data;
            int fd = shm_open("shm-file0001", O_CREAT|O_RDWR, 0777);
    
            if (fd < 0) {
                    printf("shm_open failed!\n");
                    return -1;
            }
    
            ftruncate(fd, MMAP_DATA_SIZE);
            if (USE_MMAP) {
                    data = (char*)mmap(NULL, 1024, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
                    if (!data) {
                            printf("mmap failed\n");
                            close(fd);
                    }
    
    
                    sprintf(data, "This is a share memory! %d\n", fd);
    
                    munmap(data, MMAP_DATA_SIZE);
            }
            else {
                char buf[1024];
                int len = sprintf(buf,"This is a share memory by write! ! %d\n",fd);
                if (write(fd, buf, len) <= 0) {
                    printf("write file %d failed!%d\n",len,errno);
                 }  
            }
    
            close(fd);
            getchar();
    
            shm_unlink("shm-file0001");
    
            return 0;
    }
    

    编译:
    ​​​​​​​gcc -o writer writer.c -lrt 

    2. reader.c 打开内存共享文件读数据

    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/mman.h>
    #include <string.h>
    #include <fcntl.h>
    #include <sys/stat.h>
    #include <sys/types.h>
    #include <unistd.h>
    
    #define MMAP_DATA_SIZE 1024
    
    int main(int argc,char * argv[])
    {
            char * data;
            int fd = shm_open("shm-file0001", O_RDWR, 0777);
            if(fd < 0)
            {
                    printf("error open shm object\n");
                    return -1;
            }
            
            data = (char*)mmap(NULL, MMAP_DATA_SIZE, PROT_READ, MAP_SHARED, fd, 0);
            if (!data) {
                    printf("mmap failed!\n");
                    close(fd);
                    return -1;
            }
    
            printf(data);
    
            munmap(data,MMAP_DATA_SIZE);
    
            close(fd);
            getchar();
    
            return 0;
    }
    

    编译:
    ​​​​​​​gcc -o reader reader.c -lrt

    如果写入程序调用了 shm_unlink("shm-file0001");则读者程序将无法打开共享内存文件。

    注意:笔者认为,共享内存 与 内存映射是两个概念,并不是用shm_open 打开的文件一定要用mmap来映射才能在进程间共享,用常规的Linux函数write写入数据以后,仍然能够共享。

    展开全文
  • Linux文件共享服务之Samba

    千次阅读 2018-09-17 17:57:44
    Samba最大的功能就是可以用于 Linux 与 windows 系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于 NFS(网络文件系统) 可以很好的完成...
  • 1、-t vfstype 指定文件系统的类型,通常不必指定,mount 会自动选择正确的类型。 光盘或光盘镜像:iso9660 DOS fat16文件系统:msdos Windows 9x fat32文件系统:vfat Windows NT ntfs文件系统:ntfs Mount W
  • 网络文件共享服务 - Samba详解

    千次阅读 2020-07-18 10:38:55
    SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同操作系统的计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过...
  • 雷晓东NANA2019.02.28采纳率:63%等级:39已帮助:99445人另外的那台电脑要开机,你说的有点乱,如果你是要共享文件夹,建议你参考以下正确共享方法设置XP与win7共享文件win7系统端电脑设置1.首先打开“计算机”...
  • 一切皆是文件:UNIX,Linux 操作系統的設計哲學

    万次阅读 多人点赞 2020-08-19 10:37:27
    Linux的进程、线程、文件描述符是什么 说到进程,恐怕面试中最常见的问题就是线程和进程的关系了,那么先说一下答案:在 Linux 系统中,进程和线程几乎没有区别。 Linux 中的进程就是一个数据结构,看明白就可以理解...
  • 1.下面有关static类变量和实例变量的描述正确的有? static类变量又叫静态成员变量,它不需要创建对象就可以已经在内存中存在了 在创建实例对象的时候,内存中会为每一个实例对象的每一个非静态成员变量...
  • windows共享文件分析

    千次阅读 2018-06-12 09:11:44
    文件共享失败的原因以及解决办法  3.1 所在工作组不一样是否影响共享文件?  3.2 防火墙未正确设置  3.3 用户被禁用     3.3.1Guest用户被禁用    3.3.2其他用户被禁用的    3.4用户没有权限访问...
  • 讨论关于并发环境下,多个进程对同一文件写入的问题,我们会涉及到文件共享的知识。在开始之前,我们先讨论一些有关文件共享的知识。 1. 文件共享 Unix系统支持在不同进程间共享打开的文件。为此,我们先介绍一下...
  • python开发工程师考证试题选择题题目关于 Python 程序格式框架的描述,以下选项中错误的是 ( A )A: Python 语言不采用严格的“缩进”来表明程序的格式框架B: Python 单层缩进代码属于之前最邻近的一行非缩进代码,...
  • 为了防止文件共享可能会导致文件被破坏或未经核准的用户修改文件,文件系统必须控制用户对文件的存取,即解决对文件的读、写、执行的许可问题。为此,必须在文件系统中建立相应的文件保护机制。 文件保护通过口令...
  • 引入虚拟文件描述符机制的痛点:单个进程可以轻易拥有超过系统限制的打开文件数 虚拟文件描述符机制的原理概述:VFD作为LRU池管理文件描述符,并根据需要打开和关闭实际需要的OS文件描述符。 FD LRU池的结构如下图...
  • Samba共享服务详解

    千次阅读 2020-04-27 21:17:30
    1.配置SMB共享(Linux与Windows) Samba服务基础 • Samba 软件项目 – 用途:为客户机提供共享使用的文件夹 – 协议:SMB(TCP 139)、CIFS(TCP 445) • 所需软件包:samba • 系统服务:smb #############################...
  • C语言 目标文件和可执行文件(ELF文件

    万次阅读 多人点赞 2019-05-15 18:55:15
    1.C语言创建程序 1.1C语言创建(分为4个步骤) 编辑 ...编译器的输出结果成为目标代码,存放它们的文件称为目标文件。扩展名为.o或者.obj。 (该部分编译是指汇编器编译汇编语言或者编译器编译...
  • 日常Java练习题(每天进步一点点系列)

    千次阅读 多人点赞 2021-07-18 11:24:42
    提示:好多小伙伴反映,直接看到答案不太好,那我把答案的颜色设置为透明,答案位置还是在题目后面,需要鼠标选中才能...正确答案: C 你的答案: C(正确) toString(),equals() clone(),equals() hashCode(),equals() ge
  • Samba服务器的安装与配置(linux与windows共享文件)
  • 操作系统-文件的结构以及文件管理

    千次阅读 2020-07-29 22:21:48
    文件的管理,文件的结构有哪几种,文件类型,文件属性,文件常用的几种操作你都了解多少?
  • 安装 NTFS # 在master上安装 yum install -y nfs-utils rpcbind # 在两个node上安装 yum install -y nfs-utils 集群文件共享 可以将node3看成文件共享服务器,保存了这个集群中所有要共享的文件数据,通过目录挂载...
  • linux新手到高手的成长历程...一篇文章将再次为大伙儿描述linux的文件目录,为事后的学习培训做铺垫。第一步,sys文件目录里边储放着于linux系统相关的文档,自然,这里边的文档還是比较多的,我能在事后的文章内容...
  • 超详细|一篇搞定操作系统——文件管理

    千次阅读 多人点赞 2021-01-06 00:28:16
    文章目录5.1 文件管理概述5.2 文件结构5.2.1 文件的逻辑结构5.2.2 文件的物理结构5.3 文件目录管理5.4 文件的存储设备5.4.1 文件的存储设备5.4.2 磁盘调度算法5.4.3 存储空间的分配与回收5.5 文件共享与安全 ...
  • 操作系统学习笔记:文件管理

    千次阅读 2020-12-13 21:50:17
    对于文件文件系统的概念、存放文件的介质、文件存放形式、文件操作形式、文件系统的安全性、磁盘调度算法的知识进行了相关的介绍!
  • NetBIOS 下的文件共享机制

    千次阅读 2010-10-23 16:27:00
    Technorati 标签: Samba,NetBIOS,文件共享,PDC,AD,域 IBM 的 NetBIOS 在个人计算机和局域网发展的早期,为了在个人计算机上实现网络能力,Microsoft和IBM合作开发了一套协议NetBIOS,这是一套用于网络通讯的调用接口...
  • windows访问Linux共享文件

    千次阅读 2014-08-25 22:25:07
    我们在做一些项目的时候,...我们都知道windows下有网络驱动器或者共享文件夹,可以帮助我们实现windows平台之间共享文件。如何才能在windows平台下和Linux之间共享文件呢?下面我们使用samba来实现我们需要的功能。
  • HCNA-Storage (H13-611)题库 v4.0

    千次阅读 2021-11-13 18:42:42
    以下关于华为 RAID2.0+技术,描述正确的是:(多选) A. 硬盘域中每个存储层的硬盘类型相同 B. 硬盘的空间被划分成固定大小的块 C. 用户可以为存储池(storage pool)中的每一个存储层分别设置“RAID 策略” D. ...
  • gcc编译生成可执行文件的过程中发生了什么

    千次阅读 多人点赞 2019-04-15 11:46:05
    一直好奇程序的编译过程到底做了哪些工作,后来学会在Ubuntu上使用gcc编译程序,知道了生成可执行文件需要分为预编译、编译、汇编和链接4个步骤,逐渐了解了其中的细节,但是过一段时间之后总是记不太清楚了,所以...
  • win10系统共享文件夹时在资源管理器中的网络里能够看到所共享的文件夹,但在打开文件 夹时却出现 Windows无法访问 \\Desktop-r8ceh55\新建文件夹 请检查名称的拼写。否则, 网络可能有问题。要尝试识别并解决网络...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 211,021
精华内容 84,408
关键字:

关于文件共享的正确描述是