首页 > 代码库 > Linux基础六

Linux基础六

用户账号管理

基于账号身份对资源访问进行控制

账户类别:用户账号,组账号

识别方式:UID,GID

用户账号:超级用户root,系统用户,普通用户

组账号:用来区分权限,不用于登陆

基本组(私有组)

附加组(公有组)

 

用户账号分类

超级用户:即管理员root,UID为0,拥有最高系统权限

系统用户:UID范围1-499,一般不能登陆系统(/sbin[em]e188[/em]login)

普通用户:默认的UID范围500-6000

组账号分类

基本组(私有组):即每个用户专属的组。一般有一个成员,组名与对应的用户名相同

附加组(公有组):即对各用户共同的组,一般有多个成员,组名由管理员指定

————————————————————————————————————————————————

账号的存放类别

账号数据的存放:

本地账户:存储在本机磁盘中

网络账户:存储在网络上专门的服务器上

本地账户的数据文件

/etc/passwd,/etc/shadow

/etc/group,/etc/gshadow

 

解析用户账号文件:

/etc/passwd,保存用户账号的基本信息,每一个用户记录一行,以:分割为7个字段

[root@hydra/]#head -n 1 /etc/passwd

root:x:0:0:root:/root:/bin/bash

字段1:用户账号的名称

字段2:密码字串或占位符x

字段3:用户账号的UID号

字段4:所属基本组的GID号

字段5:用户全名

字段6:宿主目录

字段7:登陆shell程序的路径

 

解析用户账号文件:

/etc/shadow,保存密码字串/有效信期等信息,每个用户记录一行,以:分割为9个字段

[root@hydra/]#head -n 1/etc/shadow

root:$6$g4l6UXBx$szBBXiQgTvK/O........6vAkyLRQkCA:17310:0:99999:7:::

字段1:用户账号的名称

字段2:加密后的密码字符串

字段3:上次修改密码的时间

字段4:密码的最短有效天数。默认0

字段5:密码过期的最长有效天数,默认99999

字段6:密码过期前的警告天数,默认7

字段7:密码过期后多少天禁用此用户账号

字段8:账号失效时间,默认值为空

字段9:保留字段(未使用)

——————————————————————————————————————————————————————————

useradd 添加用户

useradd命令

格式:useradd [选项] 用户名

常用命令选项

-u:指定UID标记号

-d:指定宿主目录,缺省为/home/用户名

-e:指定账号失效时间

-g,-G:指定所属的基本组,附加组

-M:不为用户建立并初始化宿主目录

-s:指定用户的的登陆shell

 

passwd设置口令

passwd命令

格式:passwd [选项] 用户名

常用命令选项

-d:清空用户密码,使之无需密码即可登陆

-l:锁定用户账号

-S:查看用户账号的状态(是否被锁定)

-u:解锁用户账号

--stdin:从标准输入(比如管道)取密码

-f:强制进行操作

————————————————————————————————————————————

用户初始配置

useradd行为配置

默认配置文件:/etc/default/useradd(对新建的账号起作用)

[root@room1pc01 桌面]# cat /etc/default/useradd 

# useradd defaults file

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

CREATE_MAIL_SPOOL=yes

 

login.defs登陆定义文件

默认配置文件:/etc/login.defs(对新创建的账号起作用)

[root@room1pc01 桌面]# grep -vE ‘^#|^$‘ /etc/login.defs 

MAIL_DIR    /var/spool/mail

PASS_MAX_DAYS    99999

PASS_MIN_DAYS    0

PASS_MIN_LEN    5

PASS_WARN_AGE    7

UID_MIN              500

UID_MAX            60000

GID_MIN              500

GID_MAX            60000

CREATE_HOME    yes

UMASK           077

USERGROUPS_ENAB yes

ENCRYPT_METHOD SHA512 

 

用户初始配置文件

配置文件来源:新建用户时,根据/etc/skel模板目录复制。

主要的初始配置文件

~/.bash_profile:每次登陆时执行

~/.bashrc:每次进新的Bash环境时执行

~/.bash_logout:每次退出登录时执行

全局配置文件:/etc/bashrc,/etc/profile

————————————————————————————————————————————

用户的删改查

usermod修改用户

格式:usermod [选项] 用户名

常用命令选项

-l:更改用户账户的登陆名称([root@hydra/]#usermod -l hydra1 hydra01(把改的名字写在前面)

-L:锁定用户账号

-U:解锁用户账号

-u:指定UID标记号

-d:指定宿主目录,缺省为/home/用户名

-e:指定账号失效时间

-g,-G:指定所属的基本组,附加组

-s:指定用户的的登陆shell

————————————————————————————————————————————————————————

调优(黑色艺术)

chage密码有效控制

格式:chage [选项] 用户名

让用户初次登陆需修改密码:chage -d 0 用户名

常用命令选项

-l:列出密码的有效期信息

-E:指出账号的过期时间,YYYY-MM-DD

-m:指定密码的最小天数

-M:指定密码的最大天数

——————————————————————————————————————————

userdel删除用户

格式:userdel [-r] 用户名

添加-r选项,宿主目录/用户邮件也一并删除

——————————————————————————————————————

 

——————————————————————————————————————

组账号管理

解析组账号文件:

/etc/group,保存组账号的基本信息

每个组记录一行,以:分割为4个字段

[root@room1pc01 桌面]# head -1 /etc/group

root:x:0:

字段1:组账号的名称

字段2:密码占位符x

字段3:组账号的GID号

字段4:本组成员用户列表

 

解析组账号文件

/etc/gshadow,保存组账号的管理信息

每个组记录一行,以:分割为4个字段

[root@room1pc01 桌面]# head -1 /etc/gshadow

root:::

字段1:组账号的名称

字段2:加密后的密码字符串

字段3:本组的管理员列表

字段4:本组的成员用户列表

 

groupadd添加组账号

格式:groupadd [-g GID] 组名

[root@hydra/]#groupadd -g 600 xx1

[root@hydra/]#grep xx1 /etc/group

stugrp:x:600:

[root@hydra/]#grep xx1 /etc/gshdow

stugrp:!::

 

gpasswd 管理组成员

格式:gpasswd [选项] 组名

常用命令选项

-A:定义组管理员列表

-a:添加组成员,每次只能添加一个

-d:删除组成员,每次只能删除一个

-M:定义组成员用户列表,可设置多个

 

groupdel删除组

格式:groupdel 组名

删除的目标组不能是用户的基本组

[root@hydra/]#griupdel xx1

[root@hydra/]#grep xx1 /etc/group

[root@hydra/]#

————————————————————————————————

Linux基础六