⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000004.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;ruster&nbsp;(尘埃*星辰*领悟),&nbsp;信区:&nbsp;Linux&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;第二章&nbsp;Linux基础(下)&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Thu&nbsp;Dec&nbsp;21&nbsp;13:27:31&nbsp;2000)&nbsp;<BR>&nbsp;<BR>2.4&nbsp;用户和权限&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;本节讨论Linux的用户/文件权限问题。许多用户不了解setuid和setgid,这使得他们&nbsp;<BR>在处理WWW&nbsp;server的cgi功能时出现种种问题。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;2.4.1&nbsp;用户、组和文件属性&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;Linux是一种多用户操作系统,为了确保在多用户环境下的系统运转的安全性,Linux&nbsp;<BR>使用用户权限机制对系统进行管理,这种管理主要是通过文件管理机制完成的。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;Linux对每个文件设置一个16位数字来完成对文件的存取控制,这个数字称为文件属性&nbsp;<BR>。如同我们在前面说的那样,Linux并不使用文件名来区分文件的类型,文件的性质用文&nbsp;<BR>件属性来描述。在这个16位数字中有9位用于设置用户对文件的存取控制,3位用于对可&nbsp;<BR>执行文件进行特殊处理,另外3位用于设置文件的类型。这样说可能会让人有些迷糊,我&nbsp;<BR>们依次来处理这些问题。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;文件类型在文件系统中我们已经提到过,它可以是设备文件,普通文件,目录,链接&nbsp;<BR>中的某一种,下面是一个信手拈来的例子:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;ls&nbsp;-l&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;total&nbsp;48&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;drwxr-xr-x&nbsp;&nbsp;&nbsp;5&nbsp;wanghy&nbsp;&nbsp;&nbsp;wanghy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4096&nbsp;Jan&nbsp;21&nbsp;13:25&nbsp;Desktop&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;drwxrwxr-x&nbsp;&nbsp;&nbsp;2&nbsp;wanghy&nbsp;&nbsp;&nbsp;wanghy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4096&nbsp;Jan&nbsp;28&nbsp;14:25&nbsp;bin&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;-rwxrwxrwx&nbsp;&nbsp;&nbsp;1&nbsp;wanghy&nbsp;&nbsp;&nbsp;wanghy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10&nbsp;Jan&nbsp;27&nbsp;19:43&nbsp;cc&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;lrwxrwxrwx&nbsp;&nbsp;&nbsp;1&nbsp;root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;19&nbsp;Jan&nbsp;27&nbsp;10:33&nbsp;ss&nbsp;-&gt;&nbsp;/etc/X11/XF86&nbsp;<BR>Config&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;lrwxrwxrwx&nbsp;&nbsp;&nbsp;1&nbsp;root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;Jan&nbsp;27&nbsp;10:29&nbsp;test&nbsp;-&gt;&nbsp;zz&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;-rwxrwxrwx&nbsp;&nbsp;&nbsp;1&nbsp;wanghy&nbsp;&nbsp;&nbsp;wanghy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;32&nbsp;Jan&nbsp;27&nbsp;19:31&nbsp;testpar&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;-rw-rw-r--&nbsp;&nbsp;&nbsp;2&nbsp;wanghy&nbsp;&nbsp;&nbsp;wanghy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;Jan&nbsp;27&nbsp;08:52&nbsp;tk&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;-rw-rw-r--&nbsp;&nbsp;&nbsp;2&nbsp;wanghy&nbsp;&nbsp;&nbsp;why&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;Jan&nbsp;27&nbsp;08:52&nbsp;tt&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;-rw-rw-r--&nbsp;&nbsp;&nbsp;1&nbsp;root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;Jan&nbsp;27&nbsp;10:29&nbsp;zz&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;ls&nbsp;–l命令显示出文件的详细信息,它以分栏方式出现,最左面的一栏是文件属性栏&nbsp;<BR>。容易看到在文件属性中&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;drwxrwxr-x&nbsp;&nbsp;&nbsp;2&nbsp;wanghy&nbsp;&nbsp;&nbsp;wanghy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4096&nbsp;Jan&nbsp;28&nbsp;14:25&nbsp;bin&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;最左面的d代表着这个文件是一个目录,它可以出现为一个l(软链接),b(块设备),c&nbsp;<BR>(字符设备),d(目录)或者简单地一个-号(普通文件)。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;接下来的九个字母代表存取控制,从左至右每三个为一组,分成三组,分别代表文件&nbsp;<BR>的拥有者,同组用户和其他用户。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;文件的拥有者是文件逻辑上的主人,只有他才能修改文件的属性。一般来说每当有人&nbsp;<BR>新建一个文件,他就自动地成为文件的拥有者。在第三栏我们看到的wangh就是文件系统&nbsp;<BR>纪录的文件拥有者。在拥有者权限栏位中出现的rwx表示拥有者可以直接读(r)、写(w)、&nbsp;<BR>执行(x)相应的文件。在这个形式&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;-rw-rw-r--&nbsp;&nbsp;&nbsp;2&nbsp;wanghy&nbsp;&nbsp;&nbsp;why&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;Jan&nbsp;27&nbsp;08:52&nbsp;tt&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;rw-表示文件的拥有者可以读和写这个文件,但是不能执行。一个-号代表相应的属性&nbsp;<BR>位没有被设置。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;同组用户是在Linux用户管理中定义的该文件所属组的用户。所属组显示在ls&nbsp;–l输出&nbsp;<BR>的第四栏。所谓组就是在/etc/group文件中设置的一些集合,例如,下面的/etc/group&nbsp;<BR>文件&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;root:x:0:root&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;bin:x:1:root,bin,daemon&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;daemon:x:2:root,bin,daemon&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;sys:x:3:root,bin,adm&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;adm:x:4:root,adm,daemon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;why:x:101:wanghy,adm,test&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;定义了root,bin,daemon,sys,adm和wanghy几个组。其中的why组包含wanghy,ad&nbsp;<BR>m和test三个用户。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;刚才的tt文件在组权限这一栏的值是rw-,表示同组用户可以读和写这个文件,在这个&nbsp;<BR>例子中,就是why组,因此wanghy,adm和test都可以对这个文件进行读写。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;最后,其他用户的权限是r--,意味着所有其它用户只能阅读这个文件,不能修改,也&nbsp;<BR>不能执行。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;文件的拥有者可以用chmod命令更改文件的属性,也可以通过更改文件的属主把文件交&nbsp;<BR>给他人控制。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;chmod命令的用法是&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;chmod&nbsp;属性字&nbsp;文件名&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;属性字有两种用法,最基本的用法是使用字母,用u,g,o分别代表文件拥有者,组用&nbsp;<BR>户和其他用户,+和-号用于调整权限。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;例如,要给tt文件加上“拥有者可以执行”的权限,命令为&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;chmod&nbsp;u+x&nbsp;tt&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;取消tt的所有人可以读的属性的命令是&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;chmod&nbsp;o-s&nbsp;tt&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;chmod另外的一种用法是使用数字,为拥有者,组用户和其他用户分别计算一个数,计&nbsp;<BR>算规则是r=4,w=2,x=1,然后相加(例如,r-x=5),最后将三个数连到一起,例如为tt&nbsp;<BR>分配一个rwxrw-r—的属性的命令是&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;chmod&nbsp;764&nbsp;tt&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;文件的拥有者可以用chown命令将文件的所有权交给其他用户,但一旦交出就不能收回&nbsp;<BR>,例如,下面命令将tt的所有权交给root&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;chown&nbsp;root&nbsp;tt&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;有时需要对一个目录下的所有文件及下级子目录更改属性,这可以使用-R开关,例如&nbsp;<BR>:&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;chmod&nbsp;–R&nbsp;o+r&nbsp;share/*&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;一个有趣的问题是一个新创建的文件具有什么样的属性,这是通过umask命令实现的,&nbsp;<BR>设置了umask之后,你新创建的文件具有0777-umask的属性,例如,大部分系统的缺省u&nbsp;<BR>mask是002,因此用户新创建的文件属性就是777-002=775或者rwxrwxr-x。你总可以用自&nbsp;<BR>己的设置来改变这个umask值,例如&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;umask&nbsp;066&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;将使得你以后的文件自动具有711属性。直接输入不带参数的umask命令则显示当前的&nbsp;<BR>umask。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;2.4.2&nbsp;超级用户和SU&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;UNIX的文件存取控制尽管十分有用,但是你系统在运行中总是会碰到需要绕过UNIX文&nbsp;<BR>件存取控制的情况。这是利用超级用户权限实现的。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;UNIX的root用户大概是它最出名的地方,每个系统必须有一个root用户,这个用户执&nbsp;<BR>行系统的维护和管理。但是你要理解的是,对于系统来说这个名字其实没有意义。系统&nbsp;<BR>内核真正关心的是用户的uid。uid是一个整数,在/etc/passwd文件中定义,如果某个用&nbsp;<BR>户的uid等于零,系统将认为他是超级用户,从而对它不再使用存取限制和安全性验证。&nbsp;<BR>所以root用户可以操作任何人的文件或者象文件的拥有者一样管理文件。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;root用户可以不受文件管理机制的影响,几乎可以做任何事情,由于unix的进程权限&nbsp;<BR>机制,root用户所执行的程序具有root权限,除非它自己将自己切换成为其他用户。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;由于root用户可以访问整个文件系统,因此文件系统和用户组的管理都由它来完成。&nbsp;<BR>但是为了安全,许多实际的系统禁止root用户从服务器控制台以外的地方登陆,这意味&nbsp;<BR>着你不能直接从telnet以root身份进入系统。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;即使能够用root身份远程进入系统,直接以一个uid=0的身份在系统上操作也是危险的&nbsp;<BR>,因为超级用户的误操作可以彻底破坏整个系统。一般的方式是以普通用户的身份进入&nbsp;<BR>系统,需要执行超级用户的任务时再用su命令切换成超级用户。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;su命令本来是用来给普通用户切换成超级用户的,但是也可以用它切换成别的用户,&nbsp;<BR>其语法是&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;su&nbsp;用户名&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;输入后,系统将提示你输入相应用户的口令,只有正确的口令才能完成身份切换。假&nbsp;<BR>如在su命令中没有给出用户名,那么系统缺省认为你要切换成超级用户,将提示你输入&nbsp;<BR>超级用户口令。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;关于超级用户和用户管理的详细内容我们在用户管理一章中讨论。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;刚才我们提到系统识别超级用户是通过uid,实际上整个UNIX的文件存取权限都是基于&nbsp;<BR>uid的,uid在/etc/passwd文件中定义,通常这个文件的属性是444,即全程可读,下面&nbsp;<BR>是一个例子:&nbsp;<BR>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -