最近因为工作需要, 我看了一些有关linux在系统安全上对用户文件授权及系统资源限额的资料,在这里和大家分享我的体会。
当你使用的linux系统用户有一定数目的时候, 系统对用户在文件系统安全方面和在系统资源使用方面的控制就变得越来越重要。例如:在文件的权限,文件的属性,文件系统的限额和系统资源方面,linux都提供相应的控制方法。下面就从这四个方面谈谈Linux。
文件权限
文件权限对于每个linux的使用者来说是最为熟悉了。 它是一种对用户文件访问控制的机制,能限制用户对文件系统活动范围,能降低用户对系统安全威胁。
来看一个简单的例子:
[chase@lustre doc]$ ls -l-rw-rw-r-- 1 chase chase 2 Feb 17 00:17 a.txt
这是运行ls -l 的结果。在这里我们可以清楚的看到一些关于文件a.txt的信息。这些信息主要的含义如下:
-rw-rw-r--(文件权限) 1(文件链接数) chase(拥有者)chase(用户组号) 2(文件大小)Feb 17 00:17(最后修改日期) a.txt(文件名)上面的信息表示文件是由chase拥有和属于chase用户组。而在权限位上,我们可以把它分成四部分:
-(文件类型) rw-(拥有者权限) rw-(用户组权限) r--(其他用户权限)
对于第一部分表示文件的类型,在linux下一共有七种文件类型,包括套接字(s),符号链接文件(l),普通文件(-),快设备文件(b),目录(d),字符设备(c)和命名管道(P) (括号中是文件在权限位上的表示符)。其他三部份结构类似,都是用三个字符(rwx)表示。r对应的是读权限,w对应的是写权限,x对应的是有运行的权限。 对于这三部分我们都可以用三位二进制或一位八进制数来表示,当某一位使能时就把这一位符值为1,如rw-就表示读和写位使能,对应的位赋1,所以在这种情况下可以用二进制110或八进制6表示。
当我们要改变文件权限时既可以用字符方式,又可以用八进制数的方式。改变文件权限的命令是chmod。用字符方式的话,其中u代表拥有者,g代表用户组,o代表其他用户和a代表所有人。例如当你要把上文件a.txt的权限改变为用户组只能读,就可以用 [chase@lustre doc]$ chmod g-w a.txt [chase@lustre doc]$ ls -l -rw-r--r-- 1 chase chase 2 Feb 17 00:35 a.txt
这样用户组就对这个文件只读。如果你运行下面的命令 [chase@lustre doc]$ chmod +x a.txt [chase@lustre doc]$ ls -l-rwxr-xr-x 1 chase chase 2 Feb 17 00:35 a.txt |