标签:用户与组管理
linux系统当中的用户:
用户是linux系统上身份的标识,不同身份的用户权限也有所不同,有些用户是来完成特定任务,如系统用户,他们通常都不能登录到系统,在后台默默运行
UID:用户标识符,1-65535
linux系统用户分类:
管理员:默认root用户为管理员,UID为0
普通用户:1-65535
系统用户:1-499(CentOS 6), 1-999(CentOS 7)
一般用于守护某个特定的进程
登录用户:500+(CentOS 6),1000+(CentOS 7)
交互式登录系统
GID:组标识符
linux组:用户的集合,将多个用户分配在一个组里,统一管理,权限分配等。
管理员组:root,GID为0
普通组:1-65535
系统组:1-499(CentOS 6),1-999(CentOS 7)
普通组:500+(CentOS 6),1-999(CentOS 7)
组类别:
用户的主要组:在创建用户是会默认创建一个与用户名同名的组,组内只包含此用户一个,私有组
用户的附加组:用户可属于多个辅助组
linux安全上下文:
运行当中的程序叫做进程,当用户发起一个进程,进程的属主是发起此进程的用户,而不是程序本身的属主。进程能够访问某资源的权限取决于发起此进程的用户的权限
已发起者的身份运行:如/bin/cat程序的属主属组为root,zhai用户发起这个进程,那么此进程就以zhai用户的身份运行,并以zhai的身份去访问某资源
linux用户和组的配置文件:
/etc/passwd:存放系统上每个用户的属性信息
Login Name:登录用户名
passwd:密码,默认为x
UID:用户唯一标识符
GID:用户所属的组的GID
Common:注释信息
Home Directory:用户所在的家目录,默认在/home目录下
Shell:用户的shell程序,默认为/bin/bash
/etc/shadow:存放每个用户的密码信息以及关于密码的一些策略
Login Name:用户登录名
Enctypted Passwd:用户的密码
date of last password change:最近一次密码更改时间
Minimum password age:密码最少使用期限
Maximum password age:密码最长使用期限
Passwrod warning period:密码警告期限,密码过期前n天提醒用户修改密码
Password inactivity period:密码活动周期,密码过期后几天将账户锁定
Account expiration date:密码过期时间,明确指定密码周期
密码加密:
对称加密:加密和解密使用同一个密码
非对称加密:加密和解密使用一对密钥
公钥:Public key
私钥:private key
单向加密:只能加密,不能解密:提取数据特征码
定长输出;雪崩效应
常见的算法有:
md5,sha,sha224,sha256,sha384,sha512
更改加密算法:authconfig --passalgo=sha256 --update
密码复杂性策略:
1.最好不好低于8位
2.使用随机数作为密码
3.要定期更换
4.使用数字、大小写字母、及特殊字符至少三种以上
/etc/group:存放组基本的属性信息
Group Name:组名称
group passwd:组密码,一般记录在/etc/gshadow文件中
GID:组的GID
user list:组中包含的用户列表
/etc/gshadow:存放组的密码相关信息
Group Name:组名称
Group Passwd:加密过的群组密码
Aadministrators:组管理员列表
user list:组中包含的用户列表
关于配置文件的相关命令:
vipw:编辑用户相关配置文件,类似于vi编辑器
vigr:编辑组相关配置文件
grpck:检查组相关配置文件的完整性:
用户管理相关命令:
useradd:用于创建用户
useradd [OPTIONS...] USERNAME
-u UID:指定用户的:UID
-g GID:指定用户的基本组(基本组必须存在)
-G GROUP1,GROUP2:指定用户的附加组(附加组必须存在)
-d /PATH/TO/HOME:指定用户的家目录
-s /SHELLS:指定用户的shell
-c ‘COMMON‘:用户注释信息
-r:创建系统用户
-N:不创建用户的基本组,默认使用users组做基本组
-o:不检查UID的唯一性
-D:显示或更改默认设置
getent passwd USERNAME:可单独列出某一用户的属性信息
练习:
1、创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution"
2、创建下面的用户、组和组成员关系
名字为admins 的组
用户natasha,使用admins 作为附属组
用户harry,也使用admins 作为附属组
用户sarah,不可交互登录系统,且不是admins 的成员,natasha,harry,sarah密码都是centos
新建用户的默认配置文件:
/etc/default/useradd:创建用户是的默认属性信息
/etc/skel/*:用户默认家目录下的文件
/etc/login.defs:影子文件默认配置信息
批量创建用户:newusers passwd格式的文件
批量修改用户密码:cat passwd.txt | chpasswd
usermod:用户属性修改
usermod [OPTIONS...] USERNAMEY
-u UID:新的UID
-g GID:新的GID
-a -G GROUP1,GROUP2:新的附加组
-s SHELL:新的shell
-d /HOME:指定新的家目录
-l NEWNAME:修改用户的用户名称
-c "COMMON":修改用户注释信息
-L:锁定用户,在/etc/shadow密码处增加!
-U:解锁用户,和-L相反
-e YYYY-MM-DD:指明账户过期时间
-f INATIVITY:设定非活动期限
userdel:删除用户
userdel [OPTIONS] USERNAME
-r:同时删除用户家目录
id:查看用户id相关信息
id [OPTIONS...] USERNAME
-u:查看UID
-g:查看GID
-G:查看附属组
-n:显示名称
su:切换用户或以其他用户身份执行命令
su [OPTIONS...] [-] USER
su USERNAME:半切换,不会读取目标用户的配置文件,不改变当前工作路径
su - USERNAME:切换式登录,会读取目标用户的配置文件,将工作路径切换至目标用户的加密目录,完全切换
su -l USERNAME 相当于 su - USERNAME
注意:管理员切换至普通用户不需要密码,而普通用户切换至管理员需要密码
su [-] USERNAME -c "COMMAND":以USERNAME用户的身份运行COMMAND
passwd:修改用户密码属性
passwd [OPTIONS...] USERNAME
-l:锁定用户,在/etc/shadow密码处添加!
-u:解锁用户,与-l相反
-S:查看用户密码状态
-d:清楚指定用户的密码
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-e:强制用户下次登录修改密码
-i INACTIVEDAYS:非活动期限
--stdin:从标准输入设置密码
echo "centos" | passwd --stdin USERNAME
chage:修改用户密码策略
chage [OPTIONS..] USERNAME
-d LAST_DAY
-E, --expiredateEXPIRE_DATE
-I, --inactive INACTIVE
-m, --mindaysMIN_DAYS
-M, --maxdaysMAX_DAYS
-W, --warndaysWARN_DAYS
–l:显示密码策略
chfn:指定用户个人信息
finger:查看用户个人信息
chsh:修改用户的shell
组管理命令:
groupadd:创建组
groupadd [OPTIONS...] GROUPNAME
-r:创建系统组
-g GID:指定组的GID
getent group GROUPNAME:可查看指定组的相关信息
groups USER:查看用户USER属于哪些组
groupmod:修改组属性
groupadd [OPTIONS...] GROUPNAME
-g GID:修改组的GID
-n NEWGROUP:修改组名
groupdel:删除组
groupadel GROUPNAME
gpasswd:修改组密码
gpasswd [OPTIONS...] GROUPNAME
-a USER:将user添加至指定组中
-d USER:将user从指定组中删除
-A USER1,USER2:设置有管理权限的用户列表
newgrp:临时切换基本组,如果用户本身不属于这个组,则需要密码
groupmems:更改查看组成员
grupmems [OPTIONS...] GROUPNAME
-l:显示指定组成员
-g GROUPNAME:指定组
-a USER:将USER用户添加至指定组
-d USER:将USER用户从指定组中删除
-p:清除组中所有成员
标签:用户与组管理
原文地址:http://zhaizhai.blog.51cto.com/11881047/1833482