您的位置:首页 > 运维架构 > Linux

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 [选项] 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命令:修改用户属性

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 username

echo "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 管理员 用户名