首页 > 代码库 > 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基础六