Authentication:认证
linux
Authorization:受权
算法
Accouting|Audition :审计
shell
linux 运行的程序是以进程发起者的身份运行的,进程所能访问资源的权限取决于进程的运行者的身份centos
用户 user:安全
令牌 token,identitybash
Linux用户:username/UIDapp
管理员:root,0ide
普通用户:1-65535 ui
系统用户:centos6是1-499,centos7是1-999,对守护进程获取资源进行权限分配 加密
登陆用户:centos6是500+,centos7是1000+,交互式登陆
组 group:
Linux组:groupname/GID
管理员:root,0
普通组:1-65535
系统组:centos6是1-499,centos7是1-999
普通组:centos6是500+,centos7是1000+
Linux的组分两类
一个是用户的主要组(主组):
用户必须属于一个且只有一个主组
组名同用户名,且仅包含一个用户:私有组
一个是用户的附加组(辅助组):
一个用户能够属于零个或多个辅助组
用户和组的配置文件:
/etc/passwd : 用户及其属性信息(名称,UID,主组ID等)
/etc/group : 组及其属性信息 group_name:password:GID:user_list
/etc/shadow : 用户密码及其相关属性
/etc/gshadow : 组密码及其相关属性
/etc/passwd文件格式:
name:登陆用户名
password:密码用X显示
UID:用户的身份编号
GID:登陆默认所在组的编号
GECOS:用户全名或注释
directory:用户主目录
shell:用户默认使用的shell
/etc/group文件格式:
group_name:群组名称
password:群组密码,一般不须要设定
GID:群组的ID
user_list:以当前组为附加组的用户列表(分隔符为逗号)
/etc/shadow文件格式:
信息是以 : 为分隔符,包含如下信息:
login name :登陆用户名
encrypted password : 加密密码,通常使用sha512加密
date of last password change :最近一次密码更改日期
minimum password age:密码再过几天能够被变动(0表示随时能够变动)
maximum password age: 密码再过几天必须变动(99999表示永不过时)
password warning period:密码警告期,默认为一周
password inactivity period:密码不活跃期(密码过时后几天后帐号被锁到)
account expiration date:帐户有效期
reserved field:保留字段
/etc/gshadow文件格式:
group name:组名字
encrypted password:加密的密码
administrators:组管理员
members:组用户成员
密码加密:
加密机制:
加密:明文-->密文
解密:密文-->明文
单项加密:哈希算法,原文不一样,密文也必不相同
更改加密算法 authconfig --passalgo=sha256 --update
使用数字、大写字母、小写字母及特殊字符中至少3种
足够长,使用随机密码 ,按期更换,不要使用最近曾经使用过的密码
好比把用户 cent 的密码改成123 能够执行此命令
echo 123 | passwd --stdin cent > /dev/null
echo #? 查看是否执行成功
此命令有两个做用,第一就是改密码,而后改密码后不会在屏幕上显示,由于将屏幕输出重定向到/dev/null
/dev/null 该设备是一个相似黑洞的设备,全部文件重定向此设备都不会泛起一丝涟漪,是一个超级垃圾箱
chfn 该命令能够更改用户信息
finger cent 命令查看cent用户信息
chsh -s /bin/bash cent 把cent用户的shell改成bash
特殊的shell /sbin/nologin 没法登录
/etc/skel:用户家目录的模板
/etc/default/useradd:建立用户的配置文件
例如:
1,建立用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution"
seradd -G bin,root -s /bin/csh -c "Gentoo Distribution" gentoo
2,建立下面的用户、组和组成员关系
名字为admins 的组
用户natasha,使用admins 做为附属组
用户harry,也使用admins 做为附属组
用户sarah,不可交互登陆系统,且不是admins 的成员,natasha,harry,sarah密码都是centos
groupadd admins useradd -G admins natasha useradd -G admins harry echo centos | passwd --stdin harry echo centos | passwd --stdin natasha useradd -s /sbin/nologin sarah echo centos | passwd --stdin sarah
useradd:用户的建立
useradd [options] LOGIN
options:
-u UID:[UID_MIN,UID_MAX]定义在/etc/login.defs
-o 配合-u选项,不检查UID的惟一性
-g GID: 指明用户所属基本组,可为祖名,也可为GID
-c "COMMENT" :用户的注释信息
-d HOME_DIR:以指定的路径(不存在)为家目录
-s SHELL:指明用户的默认shell程序
可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...]:为用户指明附加组,组必须事先存在
-N 不建立私用组做主组,使用usrs组为主组
-r 建立系统用户 centos 6 :ID<5000 centos 7 :ID <100
默认设定值存在/etc/default/useradd文件中
显示或更改默认设置:
useradd -D
useradd -D -s SHELL //修改默认shell
groupadd [选项] group_name
-g GID:指定GID:默认是上一个组的GID+1
-r 建立系统组
groupmod:修改组属性
groupmod [选项] GROUP
-g GID: 修改GID
-n new_name:修改组名
groupdel:删除组 groupdel [选项] GROUP
useradd 命令:建立用户
useradd [选项] 登陆名
-u , --uid UID :指定UID
-g , --gid GROUP :指定基本组ID,此组需事先存在
-G , --groups GROUP1[,GROUP2,..[,GROUPN]] :指明用户所属的附加组,多个组织间用逗号分隔
-c , --comment COMMENT:指明注释信息
-d ,--home HOME_DIR:以指定的路径为用户的家目录,经过复制 /etc/skel此目录并重命名实现,指定的家目录路径存在,则不会为用户复制环境配置文件
-s , --shell SHELL:指定用户的默认shell,可用的全部shell列表存储在/etc/shells文件中
-r ,--system :建立系统用户
useradd -D:用来建立用户默认配置
useradd -D [options] 修改默认选项的值 /etc/login.defs
自定义配置(建立用户时诸多默认配置),修改的结果保存在/etc/default/useradd文件中
usermod [选项] 登陆
-u , --uid UID: 修改用户的ID为指定的心UID
-g, --gid GROUP 修改用户所属的基本组
-G,--groups GROUP1[,GROUP2,...[,GROUP]]]: 修改用户所属的附加组,原来的附加组会被覆盖
-a ,--append: 与 -G 一同使用,用于为用户追加新的附加组
-c,--comment COMMENT:修改注释信息
-d, --home HOME_DIR 修改用户的家目录,用户原有的文件不会转移到新位置
-m, --move-home:只能和-d一块儿使用,用于将原来的家目录移动到新的目录
-l --login NEW_NAME 修改用户名
-s ,--shell SHELL: 修改用户默认的shell
-L, --lock 锁定用户密码:既在用户原来密码字符串以前添加一个 "!"
-U,--unlock 解锁密码
userdel命令:删除用户 userdel [选项] 登陆
-r:删除用户时一并把用户的家目录删除
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactive‐days] [-S] [--stdin] [username]
1· passwd:修改用户本身的密码
2·passwd username :直接修改username用户的密码
-l,-u 加锁,解锁用户
-d 清除用户密码串
-e DAYS: 过时期限,日期
-i DAYS: 非活动期限
-n DAYS:密码的最短使用期限
-x DAYS:密码的最长使用期限
-w DAYS:警告期限
--stdin: echo "password" | passwd --stdin username
gpasswd [选项] group
组密码文件:/etc/gshadow
-a username :向组中添加用户
-d username : 向组中删除用户
newgrp [-] [group]
- :会模拟用户从新登陆以实现从新初始化其工做环境
chage 命令:更改密码的过时信息
id命令:显示用户的真实和有效的ID
su命令:切换用户
1.登陆式切换: 会从新读取用户的配置文件来从新初始化
su - USERNAME su -l USERNAME
2.非登陆式切换:不会从新读取用户的配置文件来从新初始化
su USERNAME 注意:管理员无需密码可切换到其余用户
-c 'COMMAND' :仅以指定用户身份运行此处指定的命令