登陆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<= 在最左边加上 % ,代表后面接的是一个『群组』之意!