登陆linux主机的使用者都必须拥有一个账号。账号是分配和确定系统使用者读写执行权限的重要凭证。

   Linux系统的账号分为系统管理员账号、系统账号和一般使用者账号。 系统管理员拥有系统的最高权限,可以进行任何操作。系统账号为系统服务程序所使用的账号。一般使用者账户分配给普通用户。

   Linux账户数据库使用普通文本记录,可以使用文本编辑器进行编辑管理。相关文件为:1、个人:/etc/passwd,/etc/shadow 2、群组:/etc/group, /etc/gshadow。

   

   /etc/passwd文件内容及结构(每个账号一行)

root:x:0:0:root:/root:/bin/bash  #系统管理员账号
bin:x:1:1:bin:/bin:/sbin/nologin #系统服务账号,不登陆
adiking:x:500:501:centos:/home/adiking:/bin/bash #普通用户
#数据格式,以:分隔项目,项目内字段以,分隔。
#用户名:密码占位符:UID:GID:用户个人信息:家目录:登陆shell
#机器通过识别UID和GID来确定用户和群组。系统管理员UID,GID为0。
#系统账户UID,GID为1~499。
#普通用户UID,GID为500~65535

   /etc/shadow

root:$1$ghF9Ubs4$g3WeGYyc3Z0CeKA6dfRLT1:16157:0:99999:7:::
bin:*:15980:0:99999:7:::
adiking:$1$ghF9Ubs4$g3WeGYyc3Z0CeKA6dfRLT1:16157:0:99999:7:::
# 账号名称:密码:最近密码修改时间:密码不能修改天数:密码需重新修改天数:密码需修改提示天数:密码失效日:账号失效日:保留
#天数以1970/1/1日算起
#在密码项前插入!或*可令账号失效


   /etc/group

root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
adiking:x:500:adiking,aidishen
adiwang:x:501:adiking
# 组名:组密码:组ID:组成员
#初始群组(initial group):/etc/passwd里GID定义的群组
#有效群组(effective group):/etc/group里的组成员
#使用groups查看初始群组和有效群组
#使用newgrp命令切换

   /etc/gshadow

adiking:!::adiking,aidishen
#组账号:组密码:组管理员:组成员
# !表示无合法密码,即无管理员


   账户创建命令

   useradd (相关配置文档/etc/default/useradd,/etc/login.defs,/etc/skel/*)

[root@^-^?? adiking]# useradd [-u UID] [-g 初始群组] [-G 次要群组] [-mM] [-c 说明栏] [-d 家目录绝对路径] [-s shell] 使用者账号名
#选项与参数:
#-u  :后面接的是 UID ,是一组数字。直接指定一个特定的 UID 给这个账号;
#-g  :后面接的那个组名就是我们上面提到的 initial group 该群组的 GID 会被放置到 /etc/passwd 的第四个字段内。
#-G  :后面接的组名则是这个账号还可以加入的群组。这个选项与参数会修改 /etc/group 内的相关数据
#-M  :强制!不要创建用户家目录!(系统账号默认值)
#-m  :强制!要创建用户家目录!(一般账号默认值)
#-c  :这个就是 /etc/passwd 的第五栏的说明内容可以随便我们配置
#-d  :指定某个目录成为家目录,而不要使用默认值。务必使用绝对路径!
#-r  :创建一个系统的账号,这个账号的 UID 会有限制 (参考/etc/login.defs)
#-s  :后面接一个 shell ,若没有指定则默认是 /bin/bash 的啦~
#-e  :后面接一个日期,格式为『YYYY-MM-DD』此项目可写入 shadow 第八字段,亦即账号失效日的配置项目;
#-f  :后面接 shadow 的第七字段项目,指定口令是否会失效。0为
#立刻失效,
#-1 为永远不失效(口令只会过期而强制于登陆时重新配置而已。)



   账户修改命令:

 

usermod [-cdegGlsuLU] username

   使用类似于useradd

   

   账户密码修改

   

passwd [--stdin 接收来自管道的密码数据]  #所有人可以使用
passwd [-l 锁定账户,禁止登陆] [-u 解锁] [-S 查看密码相关数据]   账号


   账户删除

userdel [-r 连同家目录一起删除] 账户名

   账户信息查看

id [username]

   群组账号相关命令

groupadd
groupmod
groupdel



   使用者身份切换

su [- 载入目标用户的环境设定][username]

   离开使用exit

sudo [-u 切换目标]

   sudo配置文件/etc/sudoers(可用visudo命令呼出编辑)

格式:

使用者账号  登陆者的来源主机名=(可切换的身份)  可下达的命令

root                                 ALL=(ALL)                                  ALL   <==这是默认值。可替换为命令的绝对路径加!表示禁止使用的命令。

%adiking     ALL=(ALL)                          ALL<= 在最左边加上 % ,代表后面接的是一个『群组』之意!