Linux 用户和组管理
2016-08-03 09:07
267 查看
介绍3A安全机制:
Authentication:认证Authorization:授权
Accouting|Audition :审计
linux 运行的程序是以进程发起者的身份运行的,进程所能访问资源的权限取决于进程的运行者的身份用户 user:令牌 token,identityLinux用户:username/UID管理员:root,0普通用户:1-65535 系统用户:centos6是1-499,centos7是1-999,对守护进程获取资源进行权限分配 登录用户:centos6是500+,centos7是1000+,交互式登录
组 group:
Linux组:groupname/GID管理员:root,0普通组:1-65535 系统组:[b]centos6是1-499,centos7是1-999[/b] 普通组:[b]centos6是500+,centos7是1000+[/b][b]Linux的组分两类[/b][b] 一个是用户的主要组(主组):
[/b][b] 用户必须属于一个且只有一个主组
[/b][b] 组名同用户名,且仅包含一个用户:私有组
[/b][b] 一个是用户的附加组(辅助组):
[/b][b] 一个用户可以属于零个或多个辅助组
[/b]
用户和组的配置文件:/etc/passwd : 用户及其属性信息(名称,UID,主组ID等)/etc/group : 组及其属性信息 group_name:password:GID:user_list/etc/shadow : 用户密码及其相关属性/etc/gshadow : 组密码及其相关属性/etc/passwd文件格式:[b]name:登录用户名[/b]
[b]password:密码用X显示[/b]
[b]UID:用户的身份编号[/b]
[b]GID:登录默认所在组的编号[/b]
[b]GECOS:用户全名或注释[/b]
[b]directory:用户主目录[/b]
[b]shell:用户默认使用的shell[/b]
/etc/group文件格式[b][b]:[/b][/b][b][b]group_name:群组名称[/b][/b]
[b][b]password:群组密码,通常不需要设定[/b][/b]
[b][b]GID:群组的ID[/b][/b]
[b][b]user_list:以当前组为附加组的用户列表(分隔符为逗号)[/b][/b]
/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/nullecho #? 查看是否执行成功此命令有两个作用,第一就是改密码,然后改密码后不会在屏幕上显示,因为将屏幕输出重定向到/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[b]"[/b][b] seradd -G bin,root -s /bin/csh -c "Gentoo Distribution" gentoo[/b]
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:[b]用户的创建[/b] useradd [options] LOGINoptions: -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命令: 添加组
groupadd [选项] group_name -g GID:指定GID:默认是上一个组的GID+1 -r 创建系统组 groupmod:修改组属性 groupmod [选项] GROUP -g GID: 修改GID -n new_name:修改组名 groupdel:删除组 groupdel [选项] GROUPuseradd 命令:创建用户 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命令:修改用户属性
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 命令:
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 usernameecho "nineven" | passwd --stdin test &> /dev/null
echo $?
0
//通过管道的方式一次性更改test用户密码为 nineven
gpasswd命令
gpasswd [选项] group 组密码文件:/etc/gshadow -a username :向组中添加用户 -d username : 向组中删除用户 newgrp命令:临时切换指定的组为基本组
newgrp [-] [group] - :会模拟用户重新登录以实现重新初始化其工作环境 chage 命令:更改密码的过期信息 id命令:显示用户的真实和有效的ID su命令:切换用户 1.登录式切换: 会重新读取用户的配置文件来重新初始化 su - USERNAME su -l USERNAME 2.非登录式切换:不会重新读取用户的配置文件来重新初始化 su USERNAME 注意:管理员无需密码可切换到其他用户 -c 'COMMAND' :仅以指定用户身份运行此处指定的命令相关文章推荐
- Linux的用户和用户组管理
- Linux学习随手记(2) 用户管理
- Linux 用户(user)和用户组(group)管理概述
- Linux 用户管理二
- Linux 用户管理一 推荐
- Linux 管理员手册(7)--管理用户帐户
- Linux 用户(user)和用户组(group)管理概述
- Linux的用户和用户组管理
- Linux 用户(user)和用户组(group)管理概述
- Linux 用户管理三
- MySQL(Linux)用户管理之总结
- Linux用户管理(涉及命令及配置文件)
- Linux 管理员手册(7)--管理用户帐户
- Linux管理员手册(7)--管理用户帐户
- Linux管理员手册(7)--管理用户帐户
- [Linux][Task]用户和用户组管理
- Linux用户和用户组的管理概述
- 关于linux用户管理的一些命令
- Linux用户(User)和用户组管理概述
- Linux 用户管理五