关于用户和用户组的概念这里我就不写了。

2.1 三个重要的文件

/etc/passwd 文件

该文件由一到多行组成,每一行存储一个用户的信息。行中的信息以冒号分隔“:”。
例子:beginunix:x:510:500:NormalUser:/home /beginunix :/bin/bash
对应解释:用户名:加密口令或x:用户ID号:用户组ID号:用户描述:用户启动位置:用户登陆SHELL

/etc/shadow 文件
该文件包含加密后的本地用户口令记录信息和口令有效期限信息

/etc/group 文件
和passwd文件类似,不过该文件存储的是用户组的信息。
格式也是用冒号作为分隔: 用户组名:口令:用户组ID
(我不是很明白为什么用户组也有口令信息,登陆系统是作为用户登陆又不作为组登陆。书上这么写的,我也没有求证过,等以后吧)

2.2 操作用户和用户组

通过修改/etc/passwd、/etc/shadow、/etc/group文件可以达到添加、修改、删除用户和用户组的目的。但是手工修改文件容易产生输入错误的危险,从而导致系统不可用。所以应当使用命令来进行用户以及用户组的操作。

2.2.1 添加用户:useradd
参数列表:
-c:用户描述,需要+引号
-d:设置用户主目录
-m:创建不存在的主目录
-e:帐户中止日期
-f:帐户最长的活动天数
-g:默认组
-G:用户组名
-s:用户SHELL
-u:用户ID和用户登陆名

下面列举几个在网上找到的Linux下的例子.
1 #useradd tomorrow
创建新用户tomorrow
2 #useradd -e 6/16/2006
创建一个用户并指定用户失效时间 参数 [-e]
3 #useradd -g tomorrow test
创建一个用户test并加入到tomorrow组中(linux中创建一个独立的用户以后,系统会自动创建一个和此用户同名称的组,之前创建了tomorrow此用户,所以也有tomorrow此组)
4 #useradd -G tomorrow test2
创建一个test2的用户,系统自动添加test2组以外,把test2用户同时加入到tomorrow组中,tomorrow组作为此用户的附加组.
5 #useradd -d /home/tomorrow -M temp
创建一个名为temp的用户,不创建temp的自家登陆目录,把/home/tomorrow作为登陆目录(linux默认创建普通用户后在/home/目录下生成一个和用户名一样的目录作为默认登陆目录,-M参数就是不创建自己的登陆目录,-d为新建用户指定登陆目录)

2.2.2 修改用户:usermod
该命令比useradd的参数多一个:-l,用来修改用户名
格式:-l newname oldname

2.2.3 删除用户userdel
该命令只有一个参数:-r,用于删除帐户主目录和邮件池

2.2.4 添加用户组:groupadd
格式:groupadd -g id name

2.2.5 修改用户组:groupmol
修改组名:-n newname oldname
修改组ID:-g newid oldname
注意:这里要修改的用户组是通过名称而不是ID来选择的

2.2.6 删除用户组:groupdel

2.3 切换用户
su命令可以从当前使用用户切换到另外一个用户:su username
如果想要采用新用户的用户环境,则:su - username

2.4 其他相关命令
userls:列可用用户
passwd:修改口令
who:显示当前在线用户
whoami:显示当前作为登陆的用户
who am i:显示最初作为登陆的用户
finger:显示用户信息