Linux系统中通常有三种类型的用户:超级用户(super user),常规用户(regular user)和系统用户(system user)。超级用户的UID和GID都是0。常规用户的UID从1000开始。系统用户的UID从1—499,还包括65,534。Ubuntu通常会为每一个大于1000的UID创建不同的GID,系统管理员可以将其他用户添加到相同的GID,或者创建一个新的group,然后添加用户到这个group中。
Ubuntu使用文件/etc/passwd保存系统中的用户账户信息。所有的用户在passwd文件中都有一行条目,保存了用户名,编码后的密码,用户ID(UID)以及群组ID(GID)。最后两项是用户的/home目录,以及默认的shell(/bin/bash)。
不管系统中有多少个系统管理员,都只有一个超级用户帐号。超级用户帐号,通常指的是root user,对系统拥有完全的控制权。超级用户是唯一的,超级用户的UID和GID都是0。如下:
root:x:0:0:root:/root:/bin/bash
Ubuntu默认禁用超级用户帐号,而是让系统的第一个用户通过sudo命令获得超级用户的所有权限。所以通常情况下你看到的命令提示符为($),当你需要执行系统管理命令时,需要在命令前加sudo,而后被提示输入密码,输入密码后,Ubuntu系统将会执行该条命令,就好像你是超级用户。
在其他Linux系统中,你想进入超级用户root时,输入命令su -nd,然后输入超级用户密码,即可看到超级用户命令提示符(#)。在Ubuntu中,你可以通过输入sudo -i,然后输入密码,看到超级用户命令提示符(#),当你执行完相关的命令后,输入exit,然后回车,就会回到常规用户提示符($)。
在Ubuntu中,超级用户帐号是默认禁用的。但是你可以通过以下方法启用超级用户帐号:在终端输入sudo passwd,然后根据提示输入根用户的用户名和密码。超级用户(root account)被启用。由于以超级用户权限工作时,常常会造成不可修复的灾难,因此在Ubuntu中不推荐启用超级用户。
常规用户是指那些登陆到Linux系统,但不执行管理任务的用户,例如文字处理或者收发邮件等。超级用户通过文件和目录的访问权限给予普通用户以操作权限。例如:
cindy:x:1000:1000:cindy,,,:/home/cindy:/bin/bash
在这里你看到密码的位置是x,但这并不是真正的编码后的密码。所有的密码都编码存储在/etc/shadow文件中。在前面的内容中我们知道每个文件有三种权限,rwx(读写执行),而对于每个文件或目录,权限被分配给三类目标:用户,群组,和其他人。对文件权限的管理有三个常用的命令,如下:
chgrp——更改文件或目录的所属群组
chown——更改文件或目录的所属用户
chmod——更改文件或目录的访问权限
系统用户并不是一个人,也被称为逻辑用户或伪用户。系统用户没有相应的/home目录和密码。系统帐号通常是Linux系统使用的一个管理日常服务的管理帐号。例如,系统用户www-data拥有Apache web服务器和它相关的文件。只有系统用户www-data和超级用户具有这些文件的访问权限。在passwd中系统用户表示如下:
www-data:x:33:33:www-data:/var/www:/bin/sh