Linux基础教程 第11章.ppt
《Linux基础教程 第11章.ppt》由会员分享,可在线阅读,更多相关《Linux基础教程 第11章.ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第11章章 账账 号号 管管 理理11.1 了解账号管理了解账号管理11.2 Linux系统中的归属关系模式系统中的归属关系模式11.3 超级用户超级用户11.4 其他特殊用户其他特殊用户11.5 普通用户普通用户11.6 用户组策略用户组策略11.7 账号相关的配置文件账号相关的配置文件11.8 小结小结习题习题Linux系统通过账号管理维护系统的安全性,防止用系统通过账号管理维护系统的安全性,防止用户非法或越权使用系统资源。本章介绍账号管理以户非法或越权使用系统资源。本章介绍账号管理以及与用户账号相关的系统资源的归属和用户组的概及与用户账号相关的系统资源的归属和用户组的概念。念。11.1
2、了解账号管理了解账号管理Linux是一个多用户系统,与单用户的是一个多用户系统,与单用户的MS-DOS有很有很大的不同。单用户系统可以由使用者本人负责系统大的不同。单用户系统可以由使用者本人负责系统的安全性的安全性,而多用户系统中的所有用户都可以共享而多用户系统中的所有用户都可以共享机器中的资源机器中的资源,包括软件资源和硬件资源。系统对包括软件资源和硬件资源。系统对每一个普通用户都设置一定的权限,让其在自己的每一个普通用户都设置一定的权限,让其在自己的组内自由工作,而不能跨越这种限制。同时对系统组内自由工作,而不能跨越这种限制。同时对系统资源设置了访问控制表资源设置了访问控制表(access
3、 control list),即属即属主主(文件拥有者文件拥有者)、组用户和其他人对资源的访问是、组用户和其他人对资源的访问是可读、可写还是可执行。从这里可以看出,账号管可读、可写还是可执行。从这里可以看出,账号管理实际就是一种安全策略。它源自理实际就是一种安全策略。它源自UNIX,在其他在其他的多用户操作系统如的多用户操作系统如Windows NT中也广为采用。中也广为采用。系统的这种安全机制有效地防止了普通用户对系统的系统的这种安全机制有效地防止了普通用户对系统的破坏。例如存放于破坏。例如存放于/dev目录下的设备文件分别对应目录下的设备文件分别对应于硬盘驱动器、打印机、光盘驱动器等硬件设
4、备,于硬盘驱动器、打印机、光盘驱动器等硬件设备,系统通过对这些文件设置用户访问权限,使得普通系统通过对这些文件设置用户访问权限,使得普通用户无法通过覆盖硬盘而破坏整个系统,从而保护用户无法通过覆盖硬盘而破坏整个系统,从而保护了系统。了系统。用户账号一般包括普通用户账号、管理账号和系统账用户账号一般包括普通用户账号、管理账号和系统账号。为了鉴别用户身份以及加强系统安全,系统为号。为了鉴别用户身份以及加强系统安全,系统为每个使用它的人分配了一个账号,这就是普通用户每个使用它的人分配了一个账号,这就是普通用户账号。每个人拥有一个独立的普通用户账号,每个账号。每个人拥有一个独立的普通用户账号,每个账号
5、有不同的用户名和密码。用户可以为自己的文账号有不同的用户名和密码。用户可以为自己的文件设置保护,允许或限制别人使用它们。用户账号件设置保护,允许或限制别人使用它们。用户账号被用来控制对系统的使用,只有拥有账号的人才被用来控制对系统的使用,只有拥有账号的人才 被允许使用机器。另外,账号还被用来确认用户,被允许使用机器。另外,账号还被用来确认用户,保持系统日志,用发送者的名字标记电子邮件,等保持系统日志,用发送者的名字标记电子邮件,等等。等。除了普通用户账号外,系统还提供了具有管理功能的除了普通用户账号外,系统还提供了具有管理功能的账号,例如系统管理员使用的超级用户账号,例如系统管理员使用的超级用
6、户root,有了有了这个账号,管理员可以突破系统的一切限制,方便这个账号,管理员可以突破系统的一切限制,方便地维护系统。普通用户也可以用地维护系统。普通用户也可以用su命令使自己转变命令使自己转变为超级用户。为超级用户。#su password:(此处提示输入此处提示输入root的密码的密码)如果想回到原来用户账号如果想回到原来用户账号,用用exit命令即可。命令即可。系统中还有一些账号不能被人交互使用,通常这些账系统中还有一些账号不能被人交互使用,通常这些账号只能被系统守护进程使用。它们经常必须以除号只能被系统守护进程使用。它们经常必须以除root及普通用户账号外的某个特殊用户的及普通用户账
7、号外的某个特殊用户的UID访问访问某些文件。某些文件。系统管理员系统管理员(拥有管理账号的人拥有管理账号的人)的工作之一就是为系的工作之一就是为系统中的所有普通用户添加账号。为了更好地理解账统中的所有普通用户添加账号。为了更好地理解账号管理的必要性,下面介绍号管理的必要性,下面介绍Linux和和UNIX系统中的系统中的归属关系模式。归属关系模式。11.2Linux系统中的归属关系模式系统中的归属关系模式Linux和和UNIX一样,其进程和文件都存在一个相关一样,其进程和文件都存在一个相关联的归属关系的概念。文件与进程的拥有者对其有联的归属关系的概念。文件与进程的拥有者对其有绝对的控制权,可以控
8、制文件和进程是否允许其他绝对的控制权,可以控制文件和进程是否允许其他用户访问,这种权力只有用户访问,这种权力只有root用户才可以超越。这用户才可以超越。这些归属关系就是通过规划用户的权限来体现的。些归属关系就是通过规划用户的权限来体现的。Linux中,每个文件都有一个属主和属组,属主可以中,每个文件都有一个属主和属组,属主可以任意设置文件的访问权限。文件的访问权限包括属任意设置文件的访问权限。文件的访问权限包括属主的访问权限,属组的访问权限及其他人的访问权主的访问权限,属组的访问权限及其他人的访问权限。属主可以用限。属主可以用chmod命令去修改,当然,万能的命令去修改,当然,万能的root
9、也可以这样做。另外,也可以这样做。另外,root还可以使用还可以使用chown和和chgrp命令分别修改文件的属主和属组,但要注命令分别修改文件的属主和属组,但要注意,属主本身只有意,属主本身只有chgrp的权限的权限,而没有而没有 chown这个权限。例如,文件这个权限。例如,文件file1的属主为的属主为dongyuan,属组为属组为A,而用户而用户dongyuan同时是同时是A组组和和B组成员,则组成员,则dongyuan可以用可以用newgrp B命令改变命令改变自己当前的属组,进入自己当前的属组,进入B组,然后就可以使用组,然后就可以使用chgrp将自己的文件属组改为组将自己的文件属
10、组改为组B。例如,例如,dongyuan使用使用chgrp改变改变file1的属组键入命令:的属组键入命令:#chgrp B file1 这样这样file1的属主仍为的属主仍为dongyuan,而属组变成了而属组变成了B。root用户使用用户使用chown可以同时改变可以同时改变file1的属组和属主,的属组和属主,例如键入命令:例如键入命令:chown lily:A file1这样这样file1的属主仍为的属主仍为lily,而属组变成了而属组变成了A。Linux中的每个进程也有类似的归属关系。每个进程中的每个进程也有类似的归属关系。每个进程都有都有4个关联的数值:实际个关联的数值:实际UID
11、,有效有效UID,实际实际GID,有效有效GID。通常情况下,实际通常情况下,实际ID与有效与有效ID是是相同的,进程的属主可以给进程发信号,也可以降相同的,进程的属主可以给进程发信号,也可以降低进程的优先级,但不可以升高,除非是低进程的优先级,但不可以升高,除非是root。而而在某些特殊情况下在某些特殊情况下(如设置了如设置了setuid或或setgid位的程位的程序进程序进程),当该进程运行另一个用户的程序文件时,当该进程运行另一个用户的程序文件时,它的有效它的有效UID或有效或有效GID分别被临时设置为该程序分别被临时设置为该程序文件的属主的实际文件的属主的实际UID或实际或实际GID,
12、从而可以像该从而可以像该属主一样执行该程序文件。比如普通用户用属主一样执行该程序文件。比如普通用户用passwd命令修改口令时,可以临时获得命令修改口令时,可以临时获得root权限,修改权限,修改/etc/passwd文件的内容。简单地说,就是使程序文件的内容。简单地说,就是使程序 具备了属主的特权,而不是让程序使用者拥有程序具备了属主的特权,而不是让程序使用者拥有程序属主的特权。属主的特权。注意,注意,setuid、setgid程序由其他用户执行时,返回的程序由其他用户执行时,返回的是该用户的是该用户的shell,而不是程序属主的而不是程序属主的shell。否则,假否则,假如用户执行完这种程
13、序返回后就变成了该程序的属如用户执行完这种程序返回后就变成了该程序的属主,那么要获得主,那么要获得root身份,只要执行这么一个程序身份,只要执行这么一个程序就可以了,系统就没有安全可言了。所以作为系统就可以了,系统就没有安全可言了。所以作为系统管理员,对这些程序要格外小心。管理员,对这些程序要格外小心。综上所述,账号管理就像是一把锁。劣质的管理就好综上所述,账号管理就像是一把锁。劣质的管理就好比上了一把不用钥匙的锁,人人可以窥探你的隐私。比上了一把不用钥匙的锁,人人可以窥探你的隐私。对于如何保障个人权益,答案是两方面的,作为普对于如何保障个人权益,答案是两方面的,作为普通用户,不要把你的账号
14、和密码告诉别人;作为管通用户,不要把你的账号和密码告诉别人;作为管理员,要执行严格的账号管理。理员,要执行严格的账号管理。11.3 超级用户超级用户超级用户就是拥有超级用户就是拥有root权限的用户。它在权限的用户。它在Linux或或UNIX系统中拥有至高权限、能够胜任所有管理工系统中拥有至高权限、能够胜任所有管理工作。在系统管理员手中,它是系统的守护神;在黑作。在系统管理员手中,它是系统的守护神;在黑客手中,它就成为系统和管理员的灾难。客手中,它就成为系统和管理员的灾难。11.3.1 root的权威性和危险性的权威性和危险性只要掌管了只要掌管了root,就拥有对系统内所有用户的生杀大就拥有对
15、系统内所有用户的生杀大权,对所有文件的处置权,以及对所有服务的使用权,对所有文件的处置权,以及对所有服务的使用权。当然,如果不小心敲错了命令,就可能给系统权。当然,如果不小心敲错了命令,就可能给系统带来毁灭性的打击。一个普通用户只能在系统中做带来毁灭性的打击。一个普通用户只能在系统中做有限的事情,例如编辑自己的文件、修改本组的程有限的事情,例如编辑自己的文件、修改本组的程序、建立自己的目录、决定别人以何种权限序、建立自己的目录、决定别人以何种权限(可读、可读、可写、可执行可写、可执行)访问自己的文件及目录,以及访问自己的文件及目录,以及 同组的用户如何访问它们。而同组的用户如何访问它们。而ro
16、ot不受这些限制,不受这些限制,不管用户对自己的文件作了何种保护,不管用户对自己的文件作了何种保护,root都能置都能置之不理。这一方面体现了之不理。这一方面体现了root的特权性,也从另一的特权性,也从另一方面表现出了极大的危险性。例如,普通用户想删方面表现出了极大的危险性。例如,普通用户想删除目录除目录/home/lily目录下的文件,执行以下命令:目录下的文件,执行以下命令:rm-fr/home/lily 但是不小心在但是不小心在home前多了一个空格,命令成了:前多了一个空格,命令成了:rm-fr/home/lily在在Linux系统中,系统中,rm可以接受多个参数,即要删除可以接受多
17、个参数,即要删除“/”和和“/home/lily”两个目录,而两个目录,而“/”表示整表示整个文件系统。当然作为普通用户权限较小,系统不个文件系统。当然作为普通用户权限较小,系统不允许这么做。但是如果用户以允许这么做。但是如果用户以root身份执行这个命身份执行这个命令的话,没有任何方法阻拦他,可想而知,这对系令的话,没有任何方法阻拦他,可想而知,这对系统将是灾难性的。统将是灾难性的。另外一些特定的操作只能由另外一些特定的操作只能由root执行,如执行,如shutdown命命令,该命令使用一个系统调用使系统脱机,但普通令,该命令使用一个系统调用使系统脱机,但普通用户无权执行这个系统调用,否则系
18、统的稳定性将用户无权执行这个系统调用,否则系统的稳定性将难以预测。例如难以预测。例如:#shutdown 10 The Server will be closed after 10 minutes这个命令通知各个终端用户系统将在这个命令通知各个终端用户系统将在10分钟后关机,分钟后关机,便于普通用户做好充分准备。便于普通用户做好充分准备。以上事实充分说明以上事实充分说明root是一把双刃剑,所以通常情况是一把双刃剑,所以通常情况下系统管理员要为自己分配一个普通用户账号,必下系统管理员要为自己分配一个普通用户账号,必要时才用要时才用su命令将自己改变成为命令将自己改变成为root,以避免因疏以避
19、免因疏忽导致的意外错误。忽导致的意外错误。正因为正因为root用户拥有这种特殊的地位,保护超级用户用户拥有这种特殊的地位,保护超级用户的密码也就成了加强系统安全的关键。这样,从某的密码也就成了加强系统安全的关键。这样,从某种意义来说,对系统的管理问题也就成了对超级用种意义来说,对系统的管理问题也就成了对超级用户密码的管理。系统管理员要严格保护密码,并经户密码的管理。系统管理员要严格保护密码,并经常更换,而且密码要足够复杂、足够长,特别是对常更换,而且密码要足够复杂、足够长,特别是对于重要的系统来说,更要建立严格的密码管理制度。于重要的系统来说,更要建立严格的密码管理制度。11.3.2 root
20、的登录方式的登录方式前面已经提到一种登录方式,就是系统管理员以普通前面已经提到一种登录方式,就是系统管理员以普通用户的身份进入系统,必要的时候再用用户的身份进入系统,必要的时候再用su命令使自命令使自己转变成超级用户。不过己转变成超级用户。不过su命令转换身份有一个环命令转换身份有一个环境变量转变的问题,读者可以用境变量转变的问题,读者可以用env命令查看身份命令查看身份转换前后的环境变量有何变化。转换前后的环境变量有何变化。假设有一个用户要转变成假设有一个用户要转变成root身份,请读者比较使用身份,请读者比较使用以下两条指令会有什么区别:以下两条指令会有什么区别:(1)su root(2)
21、su-root这里的这里的root是默认值,可以不敲。也可以用是默认值,可以不敲。也可以用su转换成转换成其他用户,前提是知道其密码。其他用户,前提是知道其密码。格式同上:格式同上:su 用户账号用户账号 su-用户账号用户账号通过比较,我们可以看出使用第一条命令转变成通过比较,我们可以看出使用第一条命令转变成root后,除了少数变量改变外,其他的变量几乎没有变后,除了少数变量改变外,其他的变量几乎没有变化,好像继承了原用户的环境一样,变化的变化,好像继承了原用户的环境一样,变化的变量根据不同的发行版本不同,如量根据不同的发行版本不同,如XLinux与与RedHat就就有差别。但是加上有差别。
22、但是加上“-”后,环境变量就跟后,环境变量就跟root直接直接登录时一样,即登录时一样,即“-”的意思就是要使用的意思就是要使用root的环境的环境变量。同样,这些规则同样适用于用变量。同样,这些规则同样适用于用su转换成其他转换成其他用户账号的情况。用户账号的情况。这种方式对于远程维护系统是绝对必要的,因为这种方式对于远程维护系统是绝对必要的,因为root不能从网络直接不能从网络直接telnet登录主机。所以系统管理员登录主机。所以系统管理员要实现远程登录,就必须给自己分配一个普通账号。要实现远程登录,就必须给自己分配一个普通账号。另外一种登录方式就是从控制台直接登录,对于另外一种登录方式就
23、是从控制台直接登录,对于UNIX和和Linux系统来说,前面我们提到超级用户主系统来说,前面我们提到超级用户主宰一切,实际上很有可能是宰一切,实际上很有可能是“控制台控制台”主宰一切。主宰一切。这里的控制台指的就是直接通过数据线连接到主机这里的控制台指的就是直接通过数据线连接到主机的显示终端。的显示终端。对于对于Linux而言,普通的而言,普通的Intel平台的平台的RedHat系统,只系统,只要在要在Linux启动时输入以下参数即可不需要密码进启动时输入以下参数即可不需要密码进入单用户模式:入单用户模式:boot:linux 1 而而XLinux甚至可以直接从启动菜单中选择。即使甚至可以直接
24、从启动菜单中选择。即使启动过程不允许输入参数,也可以通过光盘或软盘启动过程不允许输入参数,也可以通过光盘或软盘启动进入系统,这些在安全部分再做介绍。当然对启动进入系统,这些在安全部分再做介绍。当然对于商业模式,我们可以采用物理隔离的办法来保护于商业模式,我们可以采用物理隔离的办法来保护主机。不过对于系统管理员来说,应该重视控制台主机。不过对于系统管理员来说,应该重视控制台的安全,养成良好的习惯。的安全,养成良好的习惯。11.3.3 与与root环境变量相关的脚本文件环境变量相关的脚本文件在在root根目录下有几个重要的脚本文件,熟知它们的根目录下有几个重要的脚本文件,熟知它们的内容有助于更好地
25、控制自己的行为,养成良好的习内容有助于更好地控制自己的行为,养成良好的习惯。如惯。如PATH环境变量一般没有当前路径环境变量一般没有当前路径“.”,这,这样就会督促系统管理员使用绝对路径。样就会督促系统管理员使用绝对路径。root跟其他用户一样,其基本行为和环境变量由跟其他用户一样,其基本行为和环境变量由/etc/bashrc(以以bash shell为例为例)和和/etc/profile设设定。定。root根目录下有两个配置文件根目录下有两个配置文件.bashrc和和.bash-profile,这两个文件可以由用户个人修改,这两个文件可以由用户个人修改,以添加一些个人爱好的环境设置。修改后必
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux基础教程 第11章 Linux 基础教程 11
限制150内