- 作者:xiaoxiao
- 发表时间:2020-12-23 11:00
- 来源:未知
Wi n d o w s使应用程序能通过操作系统内建的文件系统服务在网络上通信。I/O重定向的概念:?IO在操作系统中,要访问远程的机子,操作系统必需对远程的资源通过网络进行重新的定向,这就是重定向的大致概念。例如,Wi n d o w s允许我们将一个本地磁盘标识符(如E :)映射或重定向到远程计算机上的一个目录共享入口。应用程序若指出自己需要使用E :时,操作系统便会将I / O请求自动重定向至一个设备,那个设备叫作"重定向器"(R e d i r e c t o r)。重定向器会建立到远程计算机的一个网络信道,以便访问指定的远程目录。随后,应用程序可自由使用一些常规的文件系统A P I函数,比如R e a d F i l e(读文件)和Wr i t e F i l e(写文件)等。虽然实际是通过网络访问的,但表面上却与访问本地文件无异。?如何通过重定向器将普通的I / O请求"重定向"到远程设备:??名词解释:????UNC:资源定位符。格式://[Server]/[ShareName]/[Address]????MUP:资源定位器。????MSNP:微软网络提供者。客户户户机:应用程序 <--> MUP <--> 重定向器(网络提供者) <--> 传送驱动程序 <--> 网络接口卡
服户务户器:本地I/O <--> 重定向器服务器服务 <--> 传送驱动程序 <--> 网络接口卡 ?网络接口卡(客户端)
访问令牌:用户登录进入一个Windows NT系统后,系统会对用户的帐号名和密码进行验证,两者统称为"登录凭据"。若用户登录成功(即验证通过),系统便会创建一个相应的访问令牌,并将该用户的S I D分配给它。对面向这名用户执行的任何进程来说,都会拥有该访问令牌的一个拷贝。若一个进程试图访问一个受到保护(即保密)的对象,访问令牌中的这个S I D便会与D A C L中分配给S I D的访问权限进行对比。
实例1:使用M S N P重定向器,通过一个网络,Wi n 3 2应用程序可分别使用C r e a t e F i l e、R e a d F i l e和Wr i t e F i l e这三个A P I函数,来创建、访问以及修改文件:HANDLE CreateFile(? LPCTSTR lpFileName,????????? // pointer to name of the file? DWORD dwDesiredAccess,?????? // access (read-write) mode? DWORD dwShareMode,?????????? // share mode? LPSECURITY_ATTRIBUTES lpSecurityAttributes,?????????????????????????????? // pointer to security attributes? DWORD dwCreationDisposition,? // how to create? DWORD dwFlagsAndAttributes,? // file attributes? HANDLE hTemplateFile???????? // handle to file with attributes to ?????????????????????????????? // copy);函数原型举例:CreateFile("Myserver//Myshare//Sample.txt",??????? GENERIC_WRITE | GENERIC_READ, ??????? FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,??????? CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL)???????? CloseHandle(FileHandle);