Linux用户和组的管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux用户和组的管理相关的知识,希望对你有一定的参考价值。

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安全上下文:

运行中的程序:进程 (process)

(1)以进程发起者的身份运行

(2)进程所能够访问的所有资源的权限取决于进程的发起者的身份


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, 128bits

sha1: secure hash algorithm, 160bits

sha224: 224bits

sha256: 256bits

sha384: 384bits

sha512: 512bits

雪崩效应:初始的条件的微小改变,将会引起结果的巨大改变

密码的复杂性策略:

1、使用数字、大写字母、小写字母及特殊字符中至少3种

2、足够长

3、使用随机密码

4、定期更换;不要使用最近曾经使用过的密码


用户和组相关的管理命令:

用户创建:useradd

useradd [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<500

CentOS 7: ID<1000

默认值设定:/etc/default/useradd文件中

useradd -D:显示或者修改默认值


组创建:groupadd

groupadd [OPTION]... group_name

-g GID: 指明GID号

-r: 创建系统组

CentOS 6: ID<500

CentOS 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

以上是关于Linux用户和组的管理的主要内容,如果未能解决你的问题,请参考以下文章

用户和组的管理

Linux学习笔记:用户和组的管理

Linux系统管理之用户和组配置文件

运维基础--Linux用户和组的管理

2017-11-17Linux基础知识(12)用户和组的管理命令

Linux命令之账户和组的管理