简介
文件访问条件,是指文件所有者、文件所属组和其它用户,对文件的读、写和执行权限。一般不同用户对文件访问条件是不一样的。设置不同的文件访问条件主要有以下两个目的:便于对文件系统(文件)的维护和管理、提高文件系统(文件)的安全性。以下是Linux中一个文件访问条件:
drwxr-xr-x 5 root root 1024 Sep 13 03:27 Desktop
与文件权限相关联的是第一、第三、第四个域。第三个域是文件的所有者,第四个域是文件的所属组,而第一个域则限制了文件的访问权限。在这个例子中,文件的 所有者是 root,所属的组是 root,文件的访问权限是 drwxr-xr-x。
有关术语文件文件是指由创建者所定义的、具有文件名的一组相关元素的集合,可分为有结构文件和无结构文件两种。在有结构的文件中,文件由若干个相关记录组成;而无结构文件则被看成是一个字符流。文件在文件系统中是一个最大的数据单位,它描述了一个对象集。例如,可以将一个班的学生记录作为一个文件。一个文件必须要有一个文件名,它通常是由一串 ASCII 码或(和)汉字构成的, 名字的长度因系统不同而异。如在有的系统中把名字规定为 8 个字符,而在有的系统中又规定可用 14 个字符。用户利用文件名来访问文件。此外,文件应具有自己的属性,属性可以包括:
(1) 文件类型。可以从不同的角度来规定文件的类型,如源文件、目标文件及可执行文件等。
(2) 文件长度。文件长度指文件的当前长度,长度的单位可以是字节、字或块,也可能是最大允许的长度。
(3) 文件的物理位置。 该项属性通常是用于指示文件在哪一个设备上及在该设备的哪个位置的指针。
(4) 文件的建立时间。这是指文件最后一次的修改时间等。
按存取控制属性分类,根据系统管理员或用户所规定的存取控制属性,可将文件分为三类:
(1) 只执行文件。该类文件只允许被核准的用户调用执行,既不允许读,更不允许写。
(2) 只读文件。该类文件只允许文件主及被核准的用户去读,但不允许写。
(3) 读写文件。这是指允许文件主和被核准的用户去读或写的文件。2
组组是用户和计算机账户、联系人以及其他可作为单个单元管理的组的集合。属于特定组的用户和计算机称为组成员,它位于“计算机管理”中,用户可以利用这一组管理工具来管理单个本地或远程计算机。可以使用“组”保护并管理存储在本地计算机上的组。可以在特定计算机和仅这台计算机上指派本地用户或组账户的权限和权利。
根据组的作用范围不同又可以将组划分为域本地组、全局组、通用组和本地组四种类型。域本地组可以为本域内的资源分配权限,并可以接受任何一个域的用户或者组作为成员。全局组可以为任何域内的资源分配权限,但是只能接受所在域中的用户或者组作为成员。通用组既可以为任何域内的资源分配权限,也可以接受任何域中的用户或者组作为成员,但是通用组只能工作在Windows 2000本机模式以上的域中使用。上述的这三种组都是保存在Active Directory数据库中的。本地组保存在独立服务器或者成员服务器中的安全数据库中,只能为本机的资源分配权限。
Active Directory中组的权限
◆ 简化管理,即为组而不是个别用户指派对共享资源的权限。这样可将相同的资源访问权指派给该组的所有成员。
◆ 委派管理,即使用组策略为某个组指派一次用户权限,然后向该组添加需要拥有与该组相同权限的成员。
◆ 创建电子邮件通讯组。
组类型
在Active Directory中有两种类型的组:通讯组和安全组。可以使用通讯组创建电子邮件通讯组列表,使用安全组给共享资源指派权限。
(1)通讯组。只有在电子邮件应用程序(如Exchange)中,才能使用通讯组将电子邮件发送给一组用户。通讯组不启用安全,这意味着它们不能列在随机访问控制列表(DACL) 中。如果需要组来控制对共享资源的访问,则创建安全组。
(2)安全组。请小心使用,安全组提供了一种有效的方式来指派对网络上资源的访问权。使用安全组,可以:
◆ 给安全组指派对资源的权限。
◆ 将用户权限分配到Active Directory中的安全组。3
linux文件的访问条件Linux是一个多用户操作系统,它允许多个用户同时登录和工作。因此 Linux 将一个文件或目录与一个用户和组联系起来。
有关术语的解释SUID含义:文件的该位被设 置为1,在该文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权,如果所有者是root的话,那么执行人就有超级用户 的特权了,这是该位将变成一个安全漏洞,因此不要轻易设置该位。
SGID含义:运行者将具有文件所有组的权限。
STICKY粘合位: 要求操作系统既是在可执行程序退出后,仍要在内存中保留该程序的映像,这样做是为了节省大型程序的启动时间,但是会占用系统资源,因此设置该位,不如把程序写好。
set uid、set gid、sticky bit的区别:
每一个文件有所有者及组编号,set uid ;set gid可以改变用户对文件具有的权限:写和执行。
setuid: 在执行时具有文件所有者的权限。
setgid::设置目录。一个目录被标上setgid位,此目录下创建的文件继承该目录的属性.
sticky bit:该位可以理解为防删除位. 设置sticky bit位后,就算用户对目录具有写权限,但也只能添加文件而不能删除文件。
操作这些标志与操作文件权限的命令是一样的, 都是 chmod。有两种方法来操作:
1) chmod u+s temp -- 为temp文件加上setuid标志. (setuid 只对文件有效,U=用户)
chmod g+s tempdir -- 为tempdir目录加上setgid标志 (setgid 只对目录有效,g=组名)
chmod o+t temp -- 为temp文件加上sticky标志 (sticky只对文件有效)
2) 采用八进制方式. 这一组八进制数字三位的意义如下,
abc
a - setuid位, 如果该位为1, 则表示设置setuid
b - setgid位, 如果该位为1, 则表示设置setgid
c - sticky位, 如果该位为1, 则表示设置sticky
如:
rwsrw-r-- 表示有setuid标志 (rwxrw-r--:rwsrw-r--)
rwxrwsrw- 表示有setgid标志 (rwxrwxrw-:rwxrwsrw-)
rwxrw-rwt 表示有sticky标志 (rwxrw-rwx:rwxrw-rwt)
理解文件权限文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行。通常Linux 将一个文件或目录与一个用户和组联系起来。请看下面的例子:
drwxr-xr-x 5 root root 1024 Sep 13 03:27 Desktop
与文件权限相关联的是第一、第三、第四个域。第三个域是文件的所有者,第四个域是文件的所属组,而第一个域则限制了文件的访问权限。在这个例子中,文件的 所有者是 root,所属的组是 root,文件的访问权限是 drwxr-xr-x。对于文件和目录讲,每个文件和目录都有一组权限标志和它们结合在一起,在上例中就是第一个域中的内容。下面来仔细分析这个域中各个 符号的意义:
该域由 10 个字符组成,可以把它们分为四组,具体含义分别是:
d rwx r-x r-x
文件类型 所有者权限标志 组权限标志 其他用户权限标志
其中:
文件类型:第一个字符。由于 Linux 系统对与设备、目录、文件都当作是文件来处理,因此该字符表明此文件的类型,字符与对应的意义如下表:
文件标志 文件类型 例子
- 普通文件 数据文件、ASCII 纯文本 文件、程序
d 目录 /bin
b 块设备 /dev/hda(第一个 IDE 硬盘)
c 字符设备 /dev/ttyS1(与 DOS 种的串口 2 等同)
s 套接字 /dev/log
p 命名管道 /dev/initctl(与“|”等同)
l 符号链接 /dev/modem->/dev/ttyS1
权限标志:
对每个文件或目录都有 4 类不同的用户。每类用户各有一组读、写和执行(搜索)文件的访问权限,这 4 类用户是:
root:系统特权用户类,既 UID = 0 的用户。
owner:拥有文件的用户。
group:共享文件的组访问权限的用户类的用户组名称。
world:不属于上面 3 类的所有其他用户。
作为 root,他们自动拥有了所有文件和目录的全面的读、写和搜索的权限,所以没有必要明确指定他们的权限。其他三类用户则可以在耽搁文件或者目录的基础上别 授权或撤消权限。因此对另外三类用户,一共 9 个权限位与之对应,分为 3 组,每组 3 个,分别用 r、w、x 来表示,分别对应 owner、group、world。
权限位对于文件和目录的含义有些许不同。每组 3 个字符对应的含义从左至右的顺序,对于文件来说是:读文件的内容(r)、写数据到文件(w)、做为命令执行该文件(x)。对于目录来说是:读包含在目录中 的文件名称(r)、写信息到目录中去(增加和删除索引点的连接)、搜索目录(能用该目录名称作为路径名去访问它所包含的文件或子目录)。具体来说就是:
1. 有只读权限的用户不能用 cd 进入该目录;还必须有执行权限才能进入。
2. 有执行权限的用户只有在知道文件名并拥有该文件的读权限的情况下才可以访问目录下的文件。
3. 必须有读和执行权限才可以使用 ls 列出目录清单,或使用 cd 进入目录。
4. 如用户有目录的写权限,则可以创建、删除或修改目录下的任何文件或子目录,既是该文件或子目录属于其他用户。4
修改文件权限修改文件的所有权,使用 chown 和 chgrp 命令:
chown new_user file or directory:修改文件或目录的所有者。
chgrp new_group file or directory:修改文件或目录的所属组。
这里需要注意的是:普通用户不能将文件或目录的所有权交与他人,只有 root 有这一权限。但是普通用户有权改变文件或目录的所属组。
由于每类用户的权限都是由 rwx 三位组成,因此可以用三个八进制数字表示文件的访问权。一个八进制数字可以用三个二进制数字表示,那么与其对应,权值为 4 的位对应 r,权值为 2 的位对应 w,权值为 1 的位对应 x。对于一类用户,将这三位与其对应的权值相乘求和,就可以得出对该类用户的访问权限。
改变文件访问权限的命令是 chmod,格式是:
chmod permission file_name
比如 chmod 764 a.txt,它表示对于文件的所有者,具有对该文件读、写、执行的权限。对于文件所属组的用户,拥有读、写的权限。对于其他用户,只有读权限。
这里需要注意的是:文件的创建者是唯一可以修改该文件访问权限的普通用户,另外一个可以修改文件访问权限的用户是 root。
还有一种表示方法,就是用字符串来设定文件访问权限。其中读用 r 表示,写用 w 表示,执行用 x 表示;所有者用 u 表示,组用户用 g 表示,其他用户用 o 表示,所有用户用 a 表示。那么上面例子就写成西面的模样:
chmod a+r,u+w,u+x,g+w a.txt
chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。
一般是三个数字:
第一个数字表示文件所有者的权限
第二个数字表示与文件所有者同属一个用户组的其他用户的权限
第三个数字表示其它用户组的权限。
权限分为三种:读(r=4),写(w=2),执行(x=1) 。 综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。
所以,chmod 755 设置用户的权限为:
1.文件所有者可读可写可执行
2.与文件所有者同属一个用户组的其他用户可读可执行
3.其它用户组可读可执行
chmod 4755与chmod 755 的区别在于开头多了一位,这个4表示其他用户执行文件时,具有与所有者相当的权限。
例如:root用户创建了一个上网认证程序netlogin,如果其他用户要上网也要用到这个程序,那就需要root用户运行chmod 755 netlogin命令使其他用户也能运行netlogin。
但是netlogin执行时可能需要访问一些只有root用户才有权访问的文件,那么其他用户执行netlogin时可能因为权限不够还是不能上网。
这种情况下,就可以用 chmod 4755 netlogin 设置其他用户在执行netlogin也有root用户的权限,从而顺利上网。
linux/unix 下的可执行文件被设置了setuid, 当一个程序一旦设置了该标记以后,使用该可执行程序的进程将拥有该执行文件的所有者的权限,可提升使用者的权限,普通用户可以执行改命令,使自己升级为root权限。
setuid的用法是: chmod 4755 program 或 chmod u+s program (setuid 只对文件有效)
被设置了setgid,同理使用该程序的进程将拥有该程序所有组的权限,单独setGid的文件非常少用,通常都是即setUid又setGid,同时setuid,setgid 是为了绑定某个特殊用户及其组的特殊权限。
setgid的用法是:chmod 2755 dir 或 chmod g+s dir (setgid 只对目录有效)
同时设置setuid,setgid的用法:chmod 6755 program
被设置粘着位,设置的用法是: chmod 1777 file 或 chmod o+t file (sticky只对文件有效)
当一个目录被设置为"粘着位"(用chmod a+t),则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除
也就是说,即便该目录是任何人都可以写,但也只有文件的属主才可以删除文件 。
SPASS的数据文件访问权限数据文件访问权设置,如图,解释如下:
限制仅能访问数据文件路径。 (data_files_restricted) 设置为是时,此选项将限制只能访问标准数据路径和以下数据文件路径中列出的数据文件。
默认数据路径。 (data_file_path) 允许用户读和写数据文件的其他目录的列表。除非启用限制仅能访问数据文件路径选择,否则此选项将被忽略。注意:所有路径名中应使用正斜线。指定多个目录时请使用半角分号隔开(例如,[server install path]/data;c:/data;c:/temp)
限制仅能访问程序文件路径。 (program_files_restricted) 设置为是时,此选项将限制只能访问标准 bin 路径和以下程序文件路径中列出的程序文件。
程序文件路径。 (program_file_path) 允许用户执行程序的其他目录的列表。除非启用限制仅能访问程序文件路径选择,否则此选项将被忽略。注意:所有路径名中应使用正斜线。指定多个目录时请使用半角分号隔开。
最大文件大小 (MB)。 (max_file_size) 流执行期间创建的临时和导出数据文件的最大大小(不适用于 SAS 和 SPSS Statistics 数据文件)。值为 –1 则表示无限制。
临时目录。 (temp_directory) 该目录用于存储临时数据文件(缓存文件)。在理想情况下,该目录应当在独立的高速驱动器或控制器上,因为对该目录的访问速度对性能可能有显著影响。可以指定多个临时目录,并分别用逗号隔开。这些目录应当位于不同的磁盘,其中第一个目录使用最频繁,而其他目录则在执行过程中特定数据准备操作(例如排序)平行应用时,用于存储临时工作文件。允许每个执行线程使用独立磁盘进行临时存储能够提高性能。在所有路径指定中均应使用正斜线。注意:在 SPSS Modeler Server 启动期间会在此目录中生成临时文件。确保您对该目录拥有所需的访问权限(例如,如果临时目录为共享网络文件夹),否则 SPSS Modeler Server 启动将失败。
Python 执行路径。 (python_exe_path) Python 可执行程序的完整路径(包括可执行程序的名称)。注意,根据 Python 安装的位置,可能需要将限制仅能访问程序文件路径设置为否。5