博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RHEL 5基础篇—管理用户和组
阅读量:5774 次
发布时间:2019-06-18

本文共 2510 字,大约阅读时间需要 8 分钟。

管理用户和组

账号概述 

1、用户账号: 
超级用户:root用户是linux系统中默认的超级用户,对于本机拥有至高无上的权限。 
普通用户:普通用户账号需要由root用户或其它管理员创建,拥有的权限受到一定的限制,一般普通用户在自己的宿主目录拥有完整的权限。 
程序用户:在安装linux系统及部分应用程序时,会添加一些特定的底权限用户账号,这些用户一般不允许登录系统,仅用于维护某个程序正常运行。

2、组账号: 

基于某种特定联系将多个用户集合在一起,即构成一个用户组,用于表示该组内所有用户的账户称为组账号。每个用户至少属于一个组,这个组称为该用户的基本组(或私有组),如果该用户还属于其他组。则这个组称为该用户的附加组(或公共组)。

3、UID和GID号 

UID:linux系统中每个用户都有一个数字形式的身份标记,称为UID,roo账户UID固定为“0”,程序用户UID默认为“1~499”,普通用户UID默认为“500~60000”。 
GID:linux系统中每个组账号也有一个数字形式的身份标记,称为GID,root组GID固定为“0”,程序组GID默认为“1~499”,普通组GID默认为“500~60000”。

用户账户文件管理 

用户的账户分别存放在“/etc/passwd”和“/etc/shadow”(shadow又称影子文件)这两个文件中。 
如下:通过命令“cat /etc/passwd”命令查看passwd文件中的内容。

在passwd文件中一共有七段,分别用“:”隔开。每段解释如下: 

第一段:用户账号的名称,也就是用户登录名。 
第二段:经过加密的用户密码字串。(或者密码站位符“x”) 
第三段:用户的UID号。 
第四段:所属基本组的GID号。 
第五段:用户全名,可填写与用户相关的说明信息。 
第六段:用户的宿主目录,普通用户默认在“/home”下的同名目录。 
第七章:登录shell信息,用户登录后使用的shell。

如下:通过“cat /etc/shadow”命令查看shadow文件中的内容。在shadow文件中保存有各用账号的密码信息,所以对shadow文件访问有着严格的限制,默认只root才能读取文件的内容,而且不能直接编辑文件。

在shadow文件中一共分为九段,也分别使用“:”隔开。每段解释如下: 

第一段:用户账号名号,也就是登录名。 
第二段:使用MD5加密的密码字串,当为“*”或“!!”时不能登录系统,当为空时,则不需要密码就可登录系统。 
第三段:上次密码修改时间到现在的天数。 
第四段:密码的最短有效期,值为0时表示进行限制。 
第五段:密码的最长有效期,值为99999时表示不进行限制。 
第六段:密码过期时提前警告的天数,默认值为7天。 
第七段:在密码过期后多少天内禁用此用户。 
第八段:账号的实效时间,值为空时表示永久有效。 
第九段:保留字段,目前没有待定用途。

用户账户管理。 

useradd命令——添加用户账户 
useradd [选项] [用户名] 
-u:指定用户的UID号。 
-d:指定用户的宿主目录位置。 
-e:指定用户的失效时间,使用YYYY-MM-DD格式。 
-g:指定用户的基本组。 
-G:指定用户的附加组。 
-M:创建用户时不建立宿主目录。 
-s:指定用户的登录shell。 
如下:新建用户admin,指定宿主目录在根目录下,基本组为root组。并使用tail命令查看新建的用户。

passwd命令——为用户账户设置密码 

passwd [选项] [用户名] 
-d:清空指定用户的密码,可以使用空密码登录。 
-l:锁定用户。 
-S:查看用户的状态(是否被锁定)。 
-u:解锁用户。 
单独使用passwd命令时只能对当前用户设置密码,普通用户使用passwd密令设置密码时,必须输入旧密码,新密码并且必须在六位以上。 
如下:为刚才新建的用户admin设置密码。

usermod命令——修改用户的属性。 

-u:修改用户的UID号。 
-d:修改用户的宿主目录位置。 
-e:修改用户的实效时间,使用YYYY-MM-DD的格式。 
-g:修改用户的基本组。 
-G:修改用户的附加组。 
-M:不为用户建立并初始化宿主目录。 
-s:指定用户的登录shell。 
-l:更改用户的登录名。 
-L:锁定用户账户。 
-U:解锁用户账户。 
如下:使用usermod命令修改root的基本组,并将root的宿主目录移到home目录下(若要修改已有账号的宿主目录,需要先将原有的宿主目录转移到新的位置,然后再通过usermod命令设置新的宿主目录位置。)。

userdel命令——删除用户账户。 

userdel [选项] [用户名] 
-r:删除用户时同时删除用户的宿主目录。

组账户管理 

和用户一样,组账户也有两个相关的配置文件分别是“/etc/group”和“/etc/gshadow”。这两个文件内容和用户文件一样基本相同,这里就不在详述了。 
groupadd命令——新建组 
groupadd [选项] [组名] 
-g:指定组的GID号。 
如下:新建benet组,指定GID号为200。

gpasswd命令——添加,设置,删除组成员 

gpasswd [选项] [组] 
-a:将指定用户添加到指定组。 
-d:删除指定用。 
-M:批量添加用户到指定组。 
如下:将刚才新建的admin用户加入到benet组中。

groupdel命令——删除组 

groupdel [组名]

查询账号信息 

groups命令——查询用户账户所属的组 
groups [用户名] 
如下:查询刚才新建的admin用户属于那些组。

id命令——查询用户账号的UID 

id [用户名]

finger命令——查询用户账户的登录属性 

finger [用户名]

w命令——查询当前主机的用户登录情况(也可以使用user或who命令)

如下:使用w命令查看当前系统中的用户登录情况。

本文转自yun5277 51CTO博客,原文链接:http://blog.51cto.com/dengqi/1182256,如需转载请自行联系原作者

你可能感兴趣的文章
MachineLearning-Sklearn——环境搭建
查看>>
node学习之路(二)—— Node.js 连接 MongoDB
查看>>
《深入理解java虚拟机》学习笔记系列——垃圾收集器&内存分配策略
查看>>
通过XAML Islands使Windows桌面应用程序现代化
查看>>
Javascript 深入浅出原型
查看>>
简单之极,搭建属于自己的Data Mining环境(Spark版本)
查看>>
Ruby 2.5.0概览
查看>>
如何通过解决精益问题提高敏捷团队生产力
查看>>
Apache下.htaccess文件配置及功能介绍
查看>>
Magento XML cheatsheet
查看>>
Egg 2.19.0 发布,阿里开源的企业级 Node.js 框架
查看>>
Kubernetes 弹性伸缩全场景解析 (四)- 让核心组件充满弹性 ...
查看>>
使用MySQLTuner-perl对MySQL进行优化
查看>>
Swoole 4.1.0 正式版发布,支持原生 Redis/PDO/MySQLi 协程化 ...
查看>>
开发网络视频直播系统需要注意的地方
查看>>
haproxy mysql实例配置
查看>>
强化学习的未来— 第一部分
查看>>
TableStore:用户画像数据的存储和查询利器
查看>>
2019 DockerCon 大会即将召开,快来制定您的专属议程吧!
查看>>
15分钟构建超低成本数据大屏:DataV + DLA
查看>>