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

Linux用户和组的管理

2016-05-16 11:40 519 查看
Linux是一个真实的、完整的多用户多任务操作系统,多用户多任务就是可以在系统上建立多个用户,而多个用户可以在同一时间内登录同一个系统执行各自不同的任务,而互不影响,例如某台linux服务器上有4个用户,分别是root、www、ftp和mysql,在同一时间内,root用户可能在查看系统日志,管理维护系统,www用户可能在修改自己的网页程序,ftp用户可能在上传软件到服务器,mysql用户可能在执行自己的SQL查询,每个用户互不干扰,有条不紊的进行着自己的工作,而每个用户之间不能越权访问,比如www用户不能执行mysql用户的SQL查询操作,ftp用户也不能修改www用户的网页程序,因此可知,不同用户具有不同的权限,每个用户是在权限允许的范围内完成不同的任务,linux正是通过这种权限的划分与管理,实现了多用户多任务的运行机制。

Linux的账号主要分为:用户帐号(UserID/UID)、组帐号(GroupID/GID)
帐号与进程的关系:进程以进程发起者的身份运行,进程所能够访问的所有资源的权限取决于进程的发起者的身份。

Linux用户:Username/UID
管理员:root, 0普通用户:1-65535系统用户:1-499(CentOS6), 1-999(CentOS7);对守护进程获取资源进行权限分配登录用户:500+(CentOS6), 1000+(CentOS7);交互式登录
Linux组:Groupname/GID
管理员组:root, 0普通组:系统组:1-499(CentOS6), 1-999(CentOS7)普通组:500+(CentOS6), 1000+(CentOS7)
Linux组的类别:
用户的基本组(主组):组名同用户名,且仅包含一个用户:私有组;创建文件时,文件属于基本组用户的附加组(额外组):读取文件时这个用户在附加组内就能拥有附加组的权限

Linux用户和组相关的配置文件:
/etc/passwd:用户及其属性信息(名称、UID、基本组ID等等)/etc/group:组及其属性信息/etc/shadow:用户密码及其相关属性/etc/gshadow:组密码及其相关属性
/etc/passwd:
name:password:UID:GID:GECOS:directory:shell用户名:密码:UID:GID:用户描述:主目录:默认shell
/etc/group:
group_name:password:GID:user_list组名:组密码:GID:以当前组为附加组的用户列表(分隔符为逗号)
/etc/shadow
user_login_name:encrypted_password:last_password_change:days_until_change_allowed:days_before_change_required:days_warning_for_expiration:days_before_account_inactive:date_when_account_expires:reserve用户名:加密了的密码:最近一次更改密码的日期:密码的最小使用期限:最大密码使用期限:密码警告时间段:密码禁用期:账户过期日期:保留字段

加密采用单向加密:提取数据指纹
md5: message digest, 128bitssha1: secure hash algorithm, 160bitssha224: 224bitssha256: 256bitssha384: 384bitssha512: 512bits雪崩效应:初始的条件的微小改变,将会引起结果的巨大改变
密码的复杂性策略:
1、使用数字、大写字母、小写字母及特殊字符中至少3种2、足够长3、使用随机密码4、定期更换;不要使用最近曾经使用过的密码

用户和组相关的管理命令:
用户创建:useradduseradd [options] LOGIN-u UID: [UID_MIN, UID_MAX],定义在/etc/login.defs-g GID:指明用户所属基本组,可为组名,也可以GID-c "COMMENT":用户的注释信息-d /PATH/TO/HOME_DIR: 以指定的路径为家目录-s SHELL: 指明用户的默认shell程序,可用列表在/etc/shells文件中-G GROUP1[,GROUP2,...[,GROUPN]]]:为用户指明附加组;组必须事先存在-r: 创建系统用户CentOS 6: ID<500CentOS 7: ID<1000默认值设定:/etc/default/useradd文件中useradd -D:显示或者修改默认值

组创建:groupadd
groupadd [OPTION]... group_name-g GID: 指明GID号-r: 创建系统组CentOS 6: ID<500CentOS 7: ID<1000

查看用户相关的ID信息:id
id [OPTION]... [USER]-u: UID-g: GID-G: Groups-n: Name

切换用户或以其他用户身份执行命令:su
su [options...] [-] [user [args...]]切换用户的方式:su UserName:非登录式切换,即不会读取目标用户的配置文件su - UserName:登录式切换,会读取目标用户的配置文件;完全切换Note:root su至其他用户无须密码;非root用户切换时需要密码换个身份执行命令su [-] UserName -c 'COMMAND'选项:-l:“su -l UserName”相当于“su - UserName”

用户属性修改:usermod
usermod [OPTION] login-u UID: 新UID-g GID: 新基本组-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append-s SHELL:新的默认SHELL-c 'COMMENT':新的注释信息-d HOME: 新的家目录;原有家目录中的文件不会同时移动至新的家目录;若要移动,则同时使用-m选项-l login_name: 新的名字-L: lock指定用户-U: unlock指定用户-e YYYY-MM-DD: 指明用户账号过期日期-f INACTIVE: 设定非活动期限

给用户添加密码:passwd
passwd [OPTIONS] UserName: 修改指定用户的密码,仅root用户权限passwd: 修改自己的密码常用选项:-l: 锁定指定用户-u: 解锁指定用户-n mindays: 指定最短使用期限-x maxdays:最大使用期限-w warndays:提前多少天开始警告-i inactivedays:非活动期限--stdin:从标准输入接收用户密码echo "PASSWORD" | passwd --stdin USERNAME

删除用户:userdel
userdel [OPTION]... login-r: 删除用户家目录

组属性修改:groupmod
groupmod [OPTION]... group-n group_name: 新名字-g GID: 新的GID
组删除:groupdel
groupdel GROUP

组密码:gpasswd
gpasswd [OPTION] GROUP-a user: 将user添加至指定组中-d user: 删除用户user的以当前组为组名的附加组-A user1,user2,...: 设置有管理权限的用户列表newgrp命令:临时切换基本组如果用户本不属于此组,则需要组密码

修改用户属性:chage
chage [OPTION]... LOGIN-d LAST_DAY-E, --expiredate EXPIRE_DATE-I, --inactive INACTIVE-m, --mindays MIN_DAYS-M, --maxdays MAX_DAYS-W, --warndays WARN_DAYS

其它命令:chfn, chsh, finger
命令总结:useradd, groupadd, su, id, usermod, userdel, groupmod, groupdel, passwd, newgrp, pwck, gpasswd, chage, chsh, chfn, finger
本文出自 “Ricky的技术博客” 博客,请务必保留此出处http://r1cky.blog.51cto.com/10646564/1773845
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: