欢迎来到天天文库
浏览记录
ID:43191820
大小:193.50 KB
页数:47页
时间:2019-10-02
《Linux基础教程 第11章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第11章账号管理11.1了解账号管理11.2Linux系统中的归属关系模式11.3超级用户11.4其他特殊用户11.5普通用户11.6用户组策略11.7账号相关的配置文件11.8小结习题Linux系统通过账号管理维护系统的安全性,防止用户非法或越权使用系统资源。本章介绍账号管理以及与用户账号相关的系统资源的归属和用户组的概念。11.1了解账号管理Linux是一个多用户系统,与单用户的MS-DOS有很大的不同。单用户系统可以由使用者本人负责系统的安全性,而多用户系统中的所有用户都可以共享机器中的资源,包括软件资源和硬件资
2、源。系统对每一个普通用户都设置一定的权限,让其在自己的组内自由工作,而不能跨越这种限制。同时对系统资源设置了访问控制表(accesscontrollist),即属主(文件拥有者)、组用户和其他人对资源的访问是可读、可写还是可执行。从这里可以看出,账号管理实际就是一种安全策略。它源自UNIX,在其他的多用户操作系统如WindowsNT中也广为采用。系统的这种安全机制有效地防止了普通用户对系统的破坏。例如存放于/dev目录下的设备文件分别对应于硬盘驱动器、打印机、光盘驱动器等硬件设备,系统通过对这些文件设置用户访问权限,使
3、得普通用户无法通过覆盖硬盘而破坏整个系统,从而保护了系统。用户账号一般包括普通用户账号、管理账号和系统账号。为了鉴别用户身份以及加强系统安全,系统为每个使用它的人分配了一个账号,这就是普通用户账号。每个人拥有一个独立的普通用户账号,每个账号有不同的用户名和密码。用户可以为自己的文件设置保护,允许或限制别人使用它们。用户账号被用来控制对系统的使用,只有拥有账号的人才被允许使用机器。另外,账号还被用来确认用户,保持系统日志,用发送者的名字标记电子邮件,等等。除了普通用户账号外,系统还提供了具有管理功能的账号,例如系统管理员
4、使用的超级用户root,有了这个账号,管理员可以突破系统的一切限制,方便地维护系统。普通用户也可以用su命令使自己转变为超级用户。#supassword:(此处提示输入root的密码)如果想回到原来用户账号,用exit命令即可。系统中还有一些账号不能被人交互使用,通常这些账号只能被系统守护进程使用。它们经常必须以除root及普通用户账号外的某个特殊用户的UID访问某些文件。系统管理员(拥有管理账号的人)的工作之一就是为系统中的所有普通用户添加账号。为了更好地理解账号管理的必要性,下面介绍Linux和UNIX系统中的归属
5、关系模式。11.2Linux系统中的归属关系模式Linux和UNIX一样,其进程和文件都存在一个相关联的归属关系的概念。文件与进程的拥有者对其有绝对的控制权,可以控制文件和进程是否允许其他用户访问,这种权力只有root用户才可以超越。这些归属关系就是通过规划用户的权限来体现的。Linux中,每个文件都有一个属主和属组,属主可以任意设置文件的访问权限。文件的访问权限包括属主的访问权限,属组的访问权限及其他人的访问权限。属主可以用chmod命令去修改,当然,万能的root也可以这样做。另外,root还可以使用chown和c
6、hgrp命令分别修改文件的属主和属组,但要注意,属主本身只有chgrp的权限,而没有chown这个权限。例如,文件file1的属主为dongyuan,属组为A,而用户dongyuan同时是A组和B组成员,则dongyuan可以用newgrpB命令改变自己当前的属组,进入B组,然后就可以使用chgrp将自己的文件属组改为组B。例如,dongyuan使用chgrp改变file1的属组键入命令:#chgrpBfile1这样file1的属主仍为dongyuan,而属组变成了B。root用户使用chown可以同时改变file1的
7、属组和属主,例如键入命令:#chownlily:Afile1这样file1的属主仍为lily,而属组变成了A。Linux中的每个进程也有类似的归属关系。每个进程都有4个关联的数值:实际UID,有效UID,实际GID,有效GID。通常情况下,实际ID与有效ID是相同的,进程的属主可以给进程发信号,也可以降低进程的优先级,但不可以升高,除非是root。而在某些特殊情况下(如设置了setuid或setgid位的程序进程),当该进程运行另一个用户的程序文件时,它的有效UID或有效GID分别被临时设置为该程序文件的属主的实际UI
8、D或实际GID,从而可以像该属主一样执行该程序文件。比如普通用户用passwd命令修改口令时,可以临时获得root权限,修改/etc/passwd文件的内容。简单地说,就是使程序具备了属主的特权,而不是让程序使用者拥有程序属主的特权。注意,setuid、setgid程序由其他用户执行时,返回的是该用户的shell,而不是程序属主的
此文档下载收益归作者所有