用户介绍
用户的概述
比如:我们在使用AIX系统的时候,同事需要使用我的计算机,但是我不想让他用我的用户登录,我的用户存在一些特殊信息,只能自己查看,此时就可以建立一个普通用户给他使用即可。
1.单用户多任务
当我们使用root用户登录进系统时候,我既启动了Tomcat,同时也是用vi编辑器,这样一个用户就执行了多个任务,也叫单用户多任务。
2.多用户多任务
我们在使用AIX系统时,可能设置了多个账号,例如:管理员用户、普通用户、FTP用户。当三个用户同时在线,并且管理员用户在删除文件,普通用户在编辑文档、FTP用户在传输数据,这样就称为多用户多任务。
3.用户和角色的区别
用户在系统中是分角色的,角色不同,权限所完成的任务也不同。在AIX系统中,用户主要分为三类用户:root用户、虚拟用户、普通用户
- root用户:它是系统唯一的,是真实的,可以登录系统,可以操作任何文件和命令,拥有最高权限。
- 虚拟用户:这类用户也称为伪用户或假用户,与真实用户区分开来,这类用户不具有登录系统的能力,但是系统运行必不可少。如:bin、adm、mail、ftp等
- 普通用户:可以登录系统,但是只能操作属于自己的东西。
用户组
用户组就是具有相同特征的用户的集合体,比如有时要让多个用户具有相同的权限,比如读取某个文件,写入某个文件,这时候就需要一个组。
用户与组的对应关系
用户与组对应关系存在以下4种:
- 一对一:该对应关系表示某个用户可以是某个组的唯一成员
- 一对多:某个用户可以是多个组的成员
- 多对一:多个用户可以是某个唯一的组成员,不归属其他组
- 多对多:表示多个用户对应多个组,并且几个用户可以是归属相同的组。
用户管理文件和组管理文件
1.用户管理文件/etc/passwd
从上述截图我们可以看出,root是管理员用户,qinys是普通用户,其他用户为虚拟用户。
在IBM AIX系统中,/etc/passwd文件主要用来描述系统中的用户账号,每行定义一个用户信息,每行各字段用”:”分隔,每行有6个冒号,进行分隔为7个字段。如下图所示:
【username】:用户登录时显示的账户名
【password】:用户密码,现在qinys没有密码,所以为*,加密后则为!
【UID】:表示用户的ID号码,是用户唯一标识
【GID】:表示用户所属的私有组号
【CECOS】:用户信息说明字段,通常用于保全用户全名的信息
【Directory】:该字段表示用户的宿主目录,用户成功登陆后的默认目录,root账号的宿主目录为$HOME,也就是根目录。
【shell】:该字段表示用户所使用的shell脚本,主要有/bin/ksh、/bin/tsh、/bin/psh
2.组管理文件/etc/group
在AIX系统中,组信息通过”:”分隔为4个字段,依次是Groupname、Password、GID、User-list
【Groupname】:用户组名称
【Password】:用户组口令,出于安全,加密,目前显示为!
【GID】:用户组标识,是用户组的唯一标志
【User-list】:成员列表,使用逗号分隔
用户账号管理
1.创建用户账号
命令:useradd (创建完毕之后可以使用passwd生成密码)
参数:
-c comment 提供有关login参数指定的用户的一般信息
-d dir 标志login参数指定用户的主目录,dir参数是完整路径名
-e expire 标志用户的截止日期,expire格式为MMDDhhmmyy,其中MM是月,DD是天,hh是小时,mm是分钟,yy是从1939年到2038年的最后两位数字。
expire参数是0,则表示账户未过期
-g group 指定创建用户所属的组,默认的staff组
-G group1,group2,... 给用户指定多个组
-s shell 定义在用户初始化时为用户运行的程序,shell参数是完整路径名
-u uid 指定用户ID号,uid参数是一个唯一的整数字符串
示例1:创建用户并赋予密码
useradd <用户账号名称>
从上图我们可以看出新建了用户qinys,并且给该用户加密了,密码显示为!
示例2:创建有有效期的账号
useradd –e <有效日期> <用户账号名称>
上图表示,创建用户qinys2,有效期为2018年12月21日21点05分
接着,我们登录发现无法登录,由于用户过期
示例3:创建用户并为其指定用户组
useradd –g <主组名称> <用户账号名称>
示例4:指定组列表用户账号
useradd –G <组1,组2...> <用户账号名称>
示例4:指定shell用户账号
示例5:指定UID用户账号
useradd –u <uid> <用户账号名称>
UID是用户账号唯一的标志,创建普通账户,UID是从200开始的。
2.更改用户账号
命令:usermod
参数:
-c comment 更改用户有关的login信息
-d dir 更改用户账号的宿主目录
-e expire 更改用户账号的有效日期
-g group 更改用户账号所属主组
-G group1,group2,.. 更改用户所属组列表
-l new_name 更改用户账号的名称
-s shell 更改用户账号的shell
-u uid 更改用户账号的uid号
示例1:更改用户账号名称
usermod –l <新名称> <老名称>
我们可以清晰看到,用户名已经修改为qinysNew了
示例2:更改宿主目录
usermod –d <宿主目录> <用户账号名称>
注意:必须先创建目录,不然在登录的时候会报错,并且自动切换到/home/guest目录下
3.删除用户账号
userdel <用户账号名称> #删除账号
userdel –r <用户账号名称> #删除账号并删除宿主目录
验证账号
使用命令usrck –y ALL可以验证账号是否符合系统的规范