Linux基础教程 第11章.ppt

上传人:s****8 文档编号:67256236 上传时间:2022-12-24 格式:PPT 页数:47 大小:193.50KB
返回 下载 相关 举报
Linux基础教程 第11章.ppt_第1页
第1页 / 共47页
Linux基础教程 第11章.ppt_第2页
第2页 / 共47页
点击查看更多>>
资源描述

《Linux基础教程 第11章.ppt》由会员分享,可在线阅读,更多相关《Linux基础教程 第11章.ppt(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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,这两个文件可以由用户个人修改,这两个文件可以由用户个人修改,以添加一些个人爱好的环境设置。修改后必

26、须执行以添加一些个人爱好的环境设置。修改后必须执行后方可生效,如修改完后方可生效,如修改完“.bashrc”文件后,执行文件后,执行如下如下:#.bashrc普通用户也可以自行设置自己的环境参数,建议读者普通用户也可以自行设置自己的环境参数,建议读者动手修改这些脚本,只有试验过才会有更深的体会。动手修改这些脚本,只有试验过才会有更深的体会。11.4 其他特殊用户其他特殊用户除了除了root和普通账号之外,系统中还存在一些账号,和普通账号之外,系统中还存在一些账号,它们不能供任何人登录使用,只能由系统内核使用。它们不能供任何人登录使用,只能由系统内核使用。这些账号有这些账号有bin、sys、no

27、body、daemon等。这些账等。这些账号在不同的操作系统中有很大区别,甚至名称也不号在不同的操作系统中有很大区别,甚至名称也不一样,如一样,如AIX中的中的system就相当于就相当于sys。尽管其中许尽管其中许多已经没有被使用,多已经没有被使用,Linux系统中仍保留了这些账系统中仍保留了这些账号。号。Linux系统中更多地依赖管理员的安全意识,系统中更多地依赖管理员的安全意识,也体现了它是玩家的宠物,没有过多地考虑操作的也体现了它是玩家的宠物,没有过多地考虑操作的安全性。安全性。11.5 普通用户普通用户任何一个提供用户服务的主机都需要对用户账号进行任何一个提供用户服务的主机都需要对用

28、户账号进行规划、管理,因为系统资源是共享的,又要保证用规划、管理,因为系统资源是共享的,又要保证用户的隐私,必须设置足够的安全屏障,一个认真负户的隐私,必须设置足够的安全屏障,一个认真负责的系统管理员就必须建好这个安全屏障。系统管责的系统管理员就必须建好这个安全屏障。系统管理员一般都有大量的工具软件包,以帮助自己顺利、理员一般都有大量的工具软件包,以帮助自己顺利、便捷地完成工作。为了让读者对工具的幕后工作有便捷地完成工作。为了让读者对工具的幕后工作有所了解,所了解,11.7节还将介绍如何通过修改配置文件达节还将介绍如何通过修改配置文件达到目的。到目的。11.5.1增加普通用户增加普通用户Lin

29、ux中有一条管理用户的命令中有一条管理用户的命令useradd,还有一条命还有一条命令叫令叫adduser,这两者是一回事,这两者是一回事,adduser是是useradd的符号链接。的符号链接。通常情况下,增加用户可以不必指定用户的组,下面通常情况下,增加用户可以不必指定用户的组,下面的命令会自动完成相应的工作,例如用下面的命令的命令会自动完成相应的工作,例如用下面的命令将为将为cheng创建一个普通用户账号:创建一个普通用户账号:#useradd cheng系统默认处理用户系统默认处理用户ID与组与组ID相同,但是相同,但是AIX和和Solaris都需要指定用户组。同时命令脚本为用户都需要

30、指定用户组。同时命令脚本为用户创建主目录和相应的环境变量。创建主目录和相应的环境变量。上面的命令实际上完成了以下几个工作:上面的命令实际上完成了以下几个工作:(1)向向/etc/passwd、/etc/shadow、/etc/group中写中写入用户信息入用户信息(2)建立用户主目录建立用户主目录/home/cheng(3)将将/etc/skel下的内容拷贝到下的内容拷贝到/home/cheng下,为下,为用户建立环境变量和准备脚本环境用户建立环境变量和准备脚本环境读者可以自己通过试验比较文件内容的变化。如果通读者可以自己通过试验比较文件内容的变化。如果通过过root权限手工创建主目录,一定要

31、重新设置该主权限手工创建主目录,一定要重新设置该主目录及该目录下文件的属主和属组。目录及该目录下文件的属主和属组。11.5.2设置用户口令设置用户口令现在已经成功地在系统中添加了一个用户,但是用户现在已经成功地在系统中添加了一个用户,但是用户还不能登录。为了让用户还不能登录。为了让用户cheng使用系统,必须为使用系统,必须为cheng设置口令。不同的系统在处理用户口令的问设置口令。不同的系统在处理用户口令的问题上也有不同的策略,题上也有不同的策略,Alpha的的RedHat版本在设置版本在设置口令之前会禁止用户登录,系统管理员必须为用户口令之前会禁止用户登录,系统管理员必须为用户设置一个第一

32、次登录使用的密码,可以使用如下命设置一个第一次登录使用的密码,可以使用如下命令:令:#passwd cheng系统会提示你输入密码,并提示确认你的输入。只有系统会提示你输入密码,并提示确认你的输入。只有当两次输入一致,密码设置才算成功。用户用这个密当两次输入一致,密码设置才算成功。用户用这个密码登录以后可以自己修改密码,命令格式同上,即码登录以后可以自己修改密码,命令格式同上,即“#passwd”,然后根据系统提示输入密码,不过系然后根据系统提示输入密码,不过系统会要求你先提供老的密码,即未修改前的密码。统会要求你先提供老的密码,即未修改前的密码。密码成功设置完毕,这个用户就拥有了系统的使用权

33、。密码成功设置完毕,这个用户就拥有了系统的使用权。不同的用户可以设置自己的目录和文件访问权限。默不同的用户可以设置自己的目录和文件访问权限。默认情况下,用户之间是不可以互相访问的。用户的密认情况下,用户之间是不可以互相访问的。用户的密码信息保存在码信息保存在/etc/passwd和和/etc/shadow配置文件中。配置文件中。11.5.3删除用户删除用户删除一个用户账户可以用命令完成,也可以手工进行,删除一个用户账户可以用命令完成,也可以手工进行,需要以下的步骤:需要以下的步骤:(1)删除删除/etc/passwd文件中此用户的信息记录。文件中此用户的信息记录。(2)删除删除/etc/gro

34、up用户列表中出现的此用户,默认用户列表中出现的此用户,默认设置为一行。设置为一行。(3)删除用户的主目录以及由此用户创建的文件,还删除用户的主目录以及由此用户创建的文件,还有此用户在有此用户在/var/spool/mail中的信箱也要一并删中的信箱也要一并删除。除。用命令用命令userdel能完成所有这些工作。命令如下:能完成所有这些工作。命令如下:#userdel-r cheng注意,如果不加参数注意,如果不加参数-r,userdel将保留用户的主目录,将保留用户的主目录,只删除其他的几项内容。只删除其他的几项内容。一般情况下,用户只有对主目录的写权限,随着主目一般情况下,用户只有对主目录

35、的写权限,随着主目录的删除,其相关文件也随之消失。但也有可能对录的删除,其相关文件也随之消失。但也有可能对该用户开放了其他的目录写权限,因此保存在其他该用户开放了其他的目录写权限,因此保存在其他位置的文件就要用位置的文件就要用find命令查找。利用命令查找。利用find命令的命令的-user、-uid选项可以很方便的找到属于某个用户的选项可以很方便的找到属于某个用户的文件。命令如下:文件。命令如下:#find/-user cheng-ls 或或#find/-uid userid-ls 该命令用该命令用ls-l显示所有属主为显示所有属主为cheng的文件。读者可的文件。读者可以用以下命令查看以用

36、以下命令查看find命令的功能,它带有许多参命令的功能,它带有许多参数,熟练使用它们可以带来许多便利。数,熟练使用它们可以带来许多便利。注意:注意:使用使用-user选项时选项时/etc/passwd文件中必须有文件中必须有用户的记录信息。当一条命令要用到用户的登录名用户的记录信息。当一条命令要用到用户的登录名或组名时,系统在执行这个命令的过程中,就需要或组名时,系统在执行这个命令的过程中,就需要根据根据/etc/passwd和和/etc/group中的相关记录,将中的相关记录,将命令行中的登录名和组名转化为命令行中的登录名和组名转化为UID和和GID。如果如果找不到相关的记录,系统就不能够识

37、别给出的登录找不到相关的记录,系统就不能够识别给出的登录名和组名,这时就要直接使用该用户的名和组名,这时就要直接使用该用户的UID和和GID来标识用户。当管理员使用来标识用户。当管理员使用userdel命令删除了用户命令删除了用户信息后,就必须根据用户的信息后,就必须根据用户的UID查找属于该用户的查找属于该用户的其他文件,其他文件,UID就是上例中就是上例中-uid参数后的参数后的userid。11.5.4 禁用用户禁用用户有时,由于用户本身的原因或者考虑到系统安全的需有时,由于用户本身的原因或者考虑到系统安全的需要,需要查封一个账号。大多数系统都采用了要,需要查封一个账号。大多数系统都采用

38、了shadow技术,对于这种系统,最简单的做法就是在技术,对于这种系统,最简单的做法就是在/etc/shadow文件中找到该用户,并在其文件中找到该用户,并在其password域的前面插入一个域的前面插入一个“*”符号,以后要解封时只要符号,以后要解封时只要删除这个标记即可。删除这个标记即可。如用户如用户lily被禁用,则被禁用,则/etc/shadow中关于中关于lily用户的用户的表述为:表述为:lily:*1QRfSIh.26UokDtNIau1sjTsEAe3Kp0:11258:0:99999:7:另外有些版本的另外有些版本的UNIX在在/etc/passwd文件中对用户的文件中对用户

39、的password域符号有特殊规定,比如域符号有特殊规定,比如AIX 3中就规定中就规定“!”代表可登录账号,而其他符号表示该账号不代表可登录账号,而其他符号表示该账号不可登录。对这类系统只要简单地在此处改写一下登可登录。对这类系统只要简单地在此处改写一下登录符号即可。录符号即可。第第11.7节将在配置文件中介绍什么是节将在配置文件中介绍什么是password域等概域等概念。念。11.5.5 修改用户信息修改用户信息很多系统都提供了一些专用命令,如很多系统都提供了一些专用命令,如usermod、groupmod、chfn等等来修改用户信息,这些信息等等来修改用户信息,这些信息存放在存放在/et

40、c/passwd和和/etc/group文件中;文件中;passwd命令可以用来修改用户密码,输入的密码经加密后,命令可以用来修改用户密码,输入的密码经加密后,存放在存放在/etc/shadow文件中。如修改用户所在的属文件中。如修改用户所在的属组组:#usermod-g B lily,即把即把lily的属组改为的属组改为B。修改用户的私人信息用修改用户的私人信息用chfn命令,运行时,对一般用命令,运行时,对一般用户来说,要求先输入密码,再依次输入真实姓名、户来说,要求先输入密码,再依次输入真实姓名、办公室地址、办公室电话、家庭电话等信息。办公室地址、办公室电话、家庭电话等信息。#chfn

41、Changing finger information for lily.Password:Name:lily Office:1407 Office Phone:6273845 Home Phone:4566653这些信息将存入这些信息将存入/etc/passwd文件中,这些信息可以文件中,这些信息可以通过通过finger命令查看。命令查看。修改用户的修改用户的shell用用chsh命令,同命令,同chfn一样,它也需要一样,它也需要普通用户提供密码,也可以通过普通用户提供密码,也可以通过finger命令查看到命令查看到修改后的信息如下:修改后的信息如下:#finger lilyLogin:l

42、ily Name:lilyDirectory:/home/lily Shell:/bin/bashOffice:1407,627-3845 Home Phone:456-6653Never logged in.No mail.No Plan.由上面的叙述可知,用户信息保存在由上面的叙述可知,用户信息保存在3个文件中,个文件中,/etc/passwd、/etc/shadow及及/etc/group,所以所以直接修改这些文件也可以简单直观地达到目的。直接修改这些文件也可以简单直观地达到目的。11.6 用户组策略用户组策略组的概念对于管理用户的文件特别关键。用户可以决组的概念对于管理用户的文件特别关

43、键。用户可以决定自己的文件对同组的用户开放到什么程度,即可定自己的文件对同组的用户开放到什么程度,即可读、可写或可执行,或者三者的某个组合。对组外读、可写或可执行,或者三者的某个组合。对组外用户的访问限制可以更加严格,例如仅给只读的权用户的访问限制可以更加严格,例如仅给只读的权限。限。使用使用ls-l命令就可以看到每个文件的属主和属组,以命令就可以看到每个文件的属主和属组,以及文件的权限。在及文件的权限。在11.2节中提到可以使用节中提到可以使用chown、chgrp、chmod等命令来改变目录及文件的访问权等命令来改变目录及文件的访问权限。使用限。使用groups命令可以列出当前的注册用户所

44、属命令可以列出当前的注册用户所属的所有组的名称。的所有组的名称。Linux中如果创建用户时不指定用户组的话,系统默中如果创建用户时不指定用户组的话,系统默认地为用户生成一个组,其标识符认地为用户生成一个组,其标识符GID与用户的与用户的UID是大小相等的整数。实际系统中,根据不同的是大小相等的整数。实际系统中,根据不同的需求,用户可以属于多个组,用户可以在不同的组需求,用户可以属于多个组,用户可以在不同的组中切换。中切换。11.2节中也提供了切换到另一个组的方法,节中也提供了切换到另一个组的方法,即即newgrp命令。用户组的相关信息在命令。用户组的相关信息在/etc/group配配置文件中。

45、置文件中。除了将用户添加到其他组以外,有些系统提供密码访除了将用户添加到其他组以外,有些系统提供密码访问的方式访问其他组,这种方法安全性不是很高,问的方式访问其他组,这种方法安全性不是很高,很少采用。很少采用。11.7 账号相关的配置文件账号相关的配置文件11.7.1 passwd文件在文件在Linux系统中,用户账号的基本信息存放在文系统中,用户账号的基本信息存放在文件件/etc/passwd中,每个用户的信息占有一行。一中,每个用户的信息占有一行。一个典型的个典型的passwd文件如下:文件如下:root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/b

46、in:daemon:x:2:2:daemon:/sbin:adm:x:3:4:adm:/var/adm:lp:x:4:7:lp:/var/spool/lpd:sync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:news:x:9:13:news:/var/spool/news:uucp:x:10:14:uucp:/var/spool/uucp:operator:x:11:

47、0:operator:/root:games:x:12:100:games:/usr/games:gopher:x:13:30:gopher:/usr/lib/gopher-data:ftp:x:14:50:FTP User:/home/ftp:nobody:x:99:99:Nobody:/:gdm:x:42:42:/home/gdm:/bin/bashsquid:x:101:101:/var/spool/squid:/dev/nullcheng:x:500:500:cic:/home/cheng:/bin/bash可以看出,可以看出,passwd文件中每条用户记录都具有以下文件中每条用户记录

48、都具有以下格式:格式:登录账号:密码域:用户标识符登录账号:密码域:用户标识符UID:组标识符组标识符GID:用户信息:主目录:用户用户信息:主目录:用户shell(若为空格则默若为空格则默认为认为/bin/sh)登录账号用来区分不同的用户,在系统中是惟一的。登录账号用来区分不同的用户,在系统中是惟一的。用户名的命名规则通常限制在用户名的命名规则通常限制在8个字母或数字的组个字母或数字的组合之内。合之内。现在的现在的Linux系统通常都使用了系统通常都使用了shadow技术,将加密技术,将加密后的口令放在后的口令放在shadow文件中,而只在密码域中放一文件中,而只在密码域中放一个个“x”,改

49、成其他符号也没有关系,主要是习惯改成其他符号也没有关系,主要是习惯问题。这样,一般用户就无法得到加密后的口令,问题。这样,一般用户就无法得到加密后的口令,增加了系统的安全性。增加了系统的安全性。UID是用户标识符,是用户标识符,Linux中普通用户的中普通用户的UID默认为默认为500以后的某个整数,系统在内部处理进程和文件以后的某个整数,系统在内部处理进程和文件保护时使用保护时使用UID。UID应当是独一无二的,其他用应当是独一无二的,其他用户不应当有相同的户不应当有相同的UID数值。如果在数值。如果在/etc/passwd文件中有两个不同的登录账号有相同的文件中有两个不同的登录账号有相同的

50、UID,则这则这两个用户对相互的文件具有相同的存取权限。登录两个用户对相互的文件具有相同的存取权限。登录账号和账号和UID相比较更直观,对用户来说,使用登录相比较更直观,对用户来说,使用登录账号更方便,对系统来说账号更方便,对系统来说UID更重要。更重要。GID是组标识,表示用户所在组别的一个整数。组的是组标识,表示用户所在组别的一个整数。组的概念对用户是相当重要的,一个组中可以包含多个概念对用户是相当重要的,一个组中可以包含多个用户,同组中的用户可以享有组内的特权,如可以用户,同组中的用户可以享有组内的特权,如可以访问相同的目录或文件等。默认添加用户时为用户访问相同的目录或文件等。默认添加用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁