Linux 管理员手册(7)_unix linux

    本章解释如何产生新用户帐户,如何修改帐户的属性,如何删除帐户。不同的Linux系统有不同的工具实现。

    什么是帐户?

  当一台计算机为多人所用时,通常需要区分用户,例如,使个人文件保持个人化。即使计算机同时只为一人所用,这也很重要,如多数微机。 因此,每个用户给定一个单独的用户名,这个名字被用于登录。

  用户除了名字还有更多。一个帐户是所有的文件、资源和属于这个用户的信息。这个属于暗示是银行,在一个商业系统中,每个帐户通常与一些钱有关,且这些钱依赖于用户使用系统的多少以不同的速度被花掉。例如,磁盘空间可能有个每MB每天的价格,处理时间也可能有个每秒的价格。

    创建用户

  Linux核心自己只不过视用户为数字。每个用户用一个单一的整数识别,user id或uid,因为数字对计算机来说比文本名字处理更快更容易。核心之外的一个单独的数据库给每个user id安排了文本的名字,即用户名username。这个数据库还包含一些其他信息。

  要产生一个用户,需要给用户数据库增加关于用户的信息,并给他产生家目录。培训用户、建立合适的初始化环境也是必要的。

  多数Linux distributions有产生帐号的程序,而且有多个。 adduser 和useradd 是其中2个;可能还有GUI的工具。 Whatever the program, the result is that there is little if any manual work to be done. Even if the details are many and intricate, these programs make everything seem trivial. However, section 8.2.4 describes how to do it by hand.

/etc/passwd和其他信息文件
  Unix系统的基本用户数据库是文本文件,/etc/passwd (叫口令文件),它列出所有有效用户名及其相关信息。文件的每个用户一行,分为用:分隔的7个域:

    用户名
    加密格式的口令
    数字的user id
    数字的group id
    全名或帐户的其他说明
    家目录
    登录shell(登录时运行的程序)

  详细的格式说明在passwd (5)中。

  系统中的任何用户可以读口令文件,因此他们可以得到其他用户的名字。即任何人也可以得到口令(第二个域)。口令文件加密了口令,所以利润上说应该没有问题。但是,加密是可破解的,尤其是口令比较简单时(例如太短,或能在词典中找到的)。因此,口令存在口令文件中并不好。

  许多Linux系统有影子口令shadow passwords文件。这种方法将加密的口令存在另一个文件/etc/shadow 中,而这个文件只有root能读。 /etc/passwd 文件在第二个域只有一个special marker。 Any program that needs to verify a user is setuid,那么可以存取影子口令文件。而只使用口令文件其他域的普通程序,不能得到口令。

    取得数字的用户和组ID

  多数系统不管数字的用户和组ID是什么,但如果使用网络文件系统(NFS),所有系统必须使用相同的uid和gid。因为NFS也用uid认证用户。如果不使用NFS,可以用帐户产生工具自动取得的uid。

  如果用NFS,必须用一个机制来同步帐户信息。一个方法是使用NIS系统 (见[Kir])。

  初始环境:/etc/skel

  当新用户的家目录产生时,用/etc/skel 目录的文件初始化。系统管理员可以产生/etc/skel 里的文件给用户提供一个好的缺省环境。例如,产生一个/etc/skel/.profile 设定EDITOR环境变量,提供新用户一个友善的编辑器。

  然而,通常最好保持/etc/skel 尽量小,因为it will be next to impossible to update existing users' files. 例如,如果友善的编辑器的名字改变了,所有现存用户必须编辑他们的.profile 。系统管理员可以用一个script自动完成,但仍可能破坏某个用户的文件。

  只要可能,最好把全局设置放在全局文件中,如/etc/profile 。这样可以升级,而避免破坏用户自己的设置。

    手工创建用户

  按以下步骤手工创建新用户:

  用vipw (8)编辑/etc/passwd ,为新用户增加一个新行。注意语法。 不要用编辑器直接编辑! vipw 锁定了这个文件,其他命令这时不能更新它。设定口令域为"*",这样不能登录。

  类似,如果要创建新组,用vigr 编辑/etc/group 。

  用mkdir 产生用户的家目录。

  将/etc/skel 中的文件复制到新的家目录中。

  用chown 和chmod 修改所有者和权限。 -R选项是最有用的。 The correct permissions vary a little from one site to another, but usually the following commands do the right thing:

cd /home/newusername
chown -R username.group .
chmod -R go=u,go-w .
chmod go= .

  用passwd (1)设定口令。

  最后一步设定完口令,这个帐户就能用了。不应该在其他所有事做完之前设定口令,否则这个用户可能不允许登录while you're still copying the files.

  有时需要产生不为任何人使用的虚假(dummy)帐户 例如,建立一个匿名FTP服务器(这样任何人都可以从它下载文件,无须得到一个帐户),必须产生一个叫ftp的帐户。这种情况,通常无须随后一步的口令设定。而且,最好不设,这样没有人可以使用这个帐户,除非先变成root,因为root可以变成任何用户。

    改变用户属性

  有几个改变帐户不同属性的命令(即/etc/passwd 中的相关域):

  chfn
  改变全名域。
  chsh
  改变登录shell。
  passwd
  改变口令。

  超级用户可以用这些口令改变任何帐户的属性。普通用户只能改变自己帐户的属性。有时可能有必要使这些命令对普通用户不可用(用chmod ),例如在一个有许多新手的环境中。

  其他任务需要手工完成。例如改变用户名,需要编辑/etc/passwd (记住:用vipw )。同样,要增加或删除用户to more groups,需要编辑/etc/group (用vigr )。这种任务较少,需要小心从事:例如,改变了用户名,电子邮件就不能到达这个用户,除非你同时产生一个邮件别名。

    删除用户

  要删除用户,必须先删除他的所有文件,然后从/etc/passwd 和/etc/group 删除相关的行。有些Linux distributions带特定的命令,看看有没有 deluser 或userdel 。然而,手工删除也很简单。

    临时禁止一个用户

  有时需要临时禁止一个用户,而不删除它。例如用户没有付费,或系统管理员怀疑黑客得到了某个帐户的口令。

  禁止一个用户的最好方法是将它的shell变到一个特定的只打印出一条信息的程序,用这种方法,任何想登录此帐户的人将无法登录,并得知原因。该信息可以告诉用户与系统管理员联系,以处理任何问题。

  也可以改变用户名或口令,但这样用户不知道怎么回事。 Confused users mean more work.

  产生上述特定程序的一个简单方法是写"tail scripts":

#!/usr/bin/tail +2
This account has been closed due to a security breach.
Please call 555-1234 and wait for the men in black to arrive.
前2个字符("#!")告诉核心本行的其他部分是解释本文件要运行的命令。这样tail 命令将输出处理第一行外的所有东西到标准输出。
如果怀疑billg是个安全缺口,系统管理员可以这样做:

# chsh -s /usr/local/lib/no-login/security billg
# su - tester
This account has been closed due to a security breach.
Please call 555-1234 and wait for the men in black to arrive.
#
su 的目的是此时改变是否工作。
Tail scripts应该放在一个分离的目录中,这样它们的名字不会干扰普通用户的命令。

 

时间: 2024-10-28 15:59:54

Linux 管理员手册(7)_unix linux的相关文章

Linux 管理员手册(3)_unix linux

    安装和升级系统时,需要对硬盘做很多工作.必须在硬盘上做文件系统,使文件能存在其上,并为系统不同的部分保留空间. 本章说明所有这些初始化工作.通常,一旦你建立了系统,就不必再做这些工作(除了使用软盘).如果你要增加一个新硬盘或更好地调整你的硬盘的使用,那么可能回到这一章.     管理磁盘的基本任务有: 格式化磁盘.这为磁盘进入使用做一些工作,比如检查坏扇区.(现在多数硬盘无须格式化.) 给硬盘分区,如果想用于互相不干扰的几件事.分区的一个原因是要在一个硬盘上存不同的操作系统.另一个原因是

Linux 管理员手册(2)_unix linux

    本章说明标准Linux目录树的重要部分,基于FSSTND文件系统标准.概述根据不同的目的和给定的要求将目录树分为若干分离的文件系统的一般方法.也说明一些其他方法.     背景 本章松散地基于Linux文件系统标准FSSTND版本1.2(见参考书目[Qui95]),它意图建立一个如何组织Linux系统目录树的标准.这样一个标准具有易于写或port(移植?)Linux软件.管理Linux系统的优点,因为所有东西都将在他们的一般地方.此标准没有强制所有人遵从的权威,但它有最多的Linux d

Linux 管理员手册(8)_unix linux

    硬件不肯定是可靠的    软件肯定是不可靠的    人不肯定是不可靠的    而自然肯定是可靠的     本张说明为什么.如何.何时要做备份,及如何回存备份的东西.     备份的重要 数据是有价值的.重新产生它需要你花费时间和努力,并且要花费金钱或至少伤心和眼泪,有时甚至不可能重新产生,例如一些实验结果.由于数据是一种投资,你必须保护它,并采取措施避免丢失. 丢失数据一般有4个原因:硬件失败.软件曲线.人为因素或自然灾害. 虽然现代硬件已经相当可靠,但仍可能自然损坏.存储数据最决定性的

Linux 管理员手册(4)_unix linux

    本章说明Linux的内存管理特征,即虚拟内存和磁盘缓存.描述系统管理员应该考虑的东西.工作和目的.     什么是虚拟内存? Linux支持虚拟内存, 就是使用磁盘作为RAM的扩展,使可用内存相应地有效扩大.核心把当前不用的内存块存到硬盘,腾出内存给其他目的.当原来的内容又要使用时,再读回内存.这对用户全透明:运行于Linux的程序只看到大量的可用内存而不甘心哪部分在磁盘上.当然,读写硬盘比真的内存慢(慢千倍),所以程序运行较慢.用做虚拟内存的这部分硬盘叫 对换空间. Linux可以使用

Linux 管理员手册(9)_unix linux

    本章说明Linux系统如何keeps time,及需要做什么来避免发生问题.通常,你无须对时间做什么,但理解它会更好.     时区 时间测量基于最规则的自然现象,如地球转动导致的昼夜更替.昼夜总时间是恒定的,但昼夜分别的长度是变化的.一个简单的常数是正午. 正午是白天太阳在最高点的时间.由于地球是圆的, 不同地方正午发生在不同的时间.这引出了本地时local time的概念.     硬件时钟和软件时钟 个人计算机有一个电池驱动的硬件时钟.电池保证始终在计算机没电的时候依然能工作.硬件

Linux 管理员手册(6)_unix linux

    说明当一个用户登录和注销时发生了什么.较详细地说明后台进程的各种交互.log文件.配置文件等     通过终端登录 首先,init 确认有一个getty 程序提供给终端连接(或控制台). getty 侦听终端等候用户告知它要登录 (这通常意味着用户必然键入些什么).当它注意到一个用户,getty 输出一个欢迎信息(存在/etc/issue 中),并提示用户名,最后运行login 程序. login 作为一个参数得到用户名,并提示用户输入口令.如果正确,login 启动给此用户设置的she

Linux管理员手册(3)--存贮介质_unix linux

Linux管理员手册(3)--磁盘和其他存贮介质的使用 安装和升级系统时,需要对硬盘做很多工作.必须在硬盘上做文件系统,使文件能存在其上,并为系统不同的部分保留空间. 本章说明所有这些初始化工作.通常,一旦你建立了系统,就不必再做这些工作(除了使用软盘).如果你要增加一个新硬盘或更好地调整你的硬盘的使用,那么可能回到这一章. 管理磁盘的基本任务有: 格式化磁盘.这为磁盘进入使用做一些工作,比如检查坏扇区.(现在多数硬盘无须格式化.) 给硬盘分区,如果想用于互相不干扰的几件事.分区的一个原因是要在

Linux不完全手册(一)_unix linux

Linux简介 公元1991年8月,在千湖之国--芬兰,一个叫Linus Torvalds的年轻人对外发布了一套类似Unix的操作系统并把它命名为Linux,并把它放在芬兰最大的ftp站点上,至此,一个奇迹出现了!由于Linux从一开始就是一个遵循GPL的自由软件,具有良好的开放性,其简洁的功能.开放的结构,很快就引起了人们尤其是大专院校的学生和科研人员的注意.他们纷纷把它作为学习和研究的对象,开始进行深入的分析改造,取其精华.去其糟柏,并不断的为它增加新功能.再加上Internet的普及,短短

Linux不完全手册(二)_unix linux

Linux使用篇 安装完linux,并配置好linux的启动,那么如果在安装时你选的是启动到图形界面下的话,现在你就应该可以看到登陆的窗口了.输入你的用户名和密码,(呵呵,安装时设定的,别忘了!)就开始了你的linux之旅. 在linux下,你的确可以体验到永不死机的神话.Linux系统的确强大,在他的下面你的确不用担心莫名其妙的蓝屏.笔者使用linux以有几年,在这几年里从没发生过真正的死机,就算是偶尔的在xwindows下系统没有了响应也可以按"ctrl+alt+backspace"