博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用户和组
阅读量:5036 次
发布时间:2019-06-12

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

用户和组

1、用户和组原理图

2、用户和组的应用场景

① 实现系统的用户管理

② 主要为了实现软件的安装配置

3、与组相关的文件

1)/etc/group :组文件信息

使用vi编辑器打开/etc/group文件

打开后如下图所示:

第1列:组名称

第2列:使用一个x占位符,真实密码存储在/etc/gshadow文件中

第3列:组id,组的唯一标识

0代表root超级管理员组

1-499代表系统组(软件安装时自动创建的组)

500之后代表自定义用户组

第4列:组内用户列表,用户与用户之间通过逗号隔开

2)/etc/gshadow :组密码文件(了解)

使用vi指令查看/etc/gshadow文件

打开文件后,效果如下图所示:

第1列:组名称

第2列:组密码

第3列:组内管理员

第4列:组内的用户列表

4、与用户相关的文件

1)/etc/passwd :系统用户文件

使用vi指令,打开passwd文件,如下图所示:

第1列:用户名称

第2列:用户密码,使用一个x占位符,,真实密码存储在/etc/shadow文件中

第3列:用户id,用户的唯一标识

第4列:所属组(主组)id

第5列:备注信息

第6列:用户的家,默认/home/用户名

第7列:用户指令目录

2)/etc/shadow :用户密码文件

使用vi编辑器打开/etc/shadow文件,如下图所示:

打开后效果:

第1列:用户名称

第2列:用户密码

5、与组相关的管理指令

1)groupadd 组名 :添加组

-g :添加组时指定组id(必须是500以后)

使用tail指令查看最后2行代码:

2)groupmod 组名 :修改组

-n :修改组名称

-g :修改组id

3)groupdel 组名 :删除组

6、与用户相关的管理指令

1)useradd [参数] 用户名 :添加用户

-g group_name :添加用户时指定所属组名称

-d home :添加用户时指定用户的家

例1:使用useradd创建用户

由此可知,使用useradd会自动添加一个用户并新创建一个组与用户名同名且会在/home目录下创建一个与用户名同名的用户的家。

例2:创建用户指定所属组

例3:创建用户时指定用户的家

2)usermod [选项] 用户名

-c comment :修改用户的备注信息

-l login_name :修改用户的登录名称

-d home_dir :修改用户的家

-g group_name :修改用户的所属组信息

3)userdel [参数] 用户名 :删除用户

-r :删除用户同时删除用户的家

例1:删除用户

例2:删除用户同时删除用户的家

7、设置用户口令

在Linux操作系统中,如果一个用户没有用户口令(密码),其是无法登陆Linux操作系统的!

passwd [选项] 用户 :重置用户密码

-S :Status缩写,查看用户密码状态(是否设置)

-l :lock缩写,锁定用户,防止用户登陆Linux操作系统

-u :unlock缩写,解锁用户

-d :删除用户密码

例1:passwd重置用户密码:

例2:查看用户的密码状态

例3:锁定用户防止登陆操作系统

例4:解锁用户

例5:删除用户口令

8、禁止用户登陆

1)/etc/shadow :禁止某个用户登陆

使用vi指令编辑/etc/shadow文件,如下图所示:

打开后,效果如下图所示:

如果你希望禁止某个用户登陆Linux操作系统,可以在密码的前面添加两个!!这样就可以禁止用户登陆了。

2)/etc/nologin :禁止所有用户登陆(root用户除外)

如果在实际应用中如系统维护,需要禁止所有用户登陆,我们可以在/etc目录下创建一个nologin文件即可阻止所有用户登陆。

9、附属组操作

gpasswd [参数] 组名 :添加或删除用户,主要针对附属组

-a user_name :添加用户到某个附属组中

-d user_name :从附属组中删除某个用户

10、用户相关指令

  • su :切换用户
  • newgrp :切换所属组
  • whoami :我是谁?显示当前用户

 

例1:使用su切换用户

① 当使用root用户切换到普通用户不需要输入密码

② 当使用普通用户切换到普通用户需要输入密码

③ 当我们从普通用户切换到超级管理员root也需要输入密码

 

例2:newgrp切换所属组信息

 

例3:whoami我是谁,获取当前用户信息

11、显示用户信息

  • id :显示用户信息
  • groups :显示用户的所属组信息

12、设置用户信息

  • chfn [用户名称] :设置用户信息
  • finger [用户名称] :查看用户信息

13、批量添加用户

在实际工作应用中,可能需要大批量的导入Linux系统用户信息,这个时候不妨考虑使用批量导入功能。

批量添加用户六步走:

① 编辑用户文件

② 编辑密码文件

③ newusers            

④ pwunconv        

⑤ chpasswd         

⑥ pwconv

第一步:编辑用户文件

第1列:用户名

第2列:用户密码,真实密码存放在/etc/shadow文件中

第3列:用户id

第4列:组id

第5列:备注信息

第6列:用户的家

第7列:系统用户Shell目录

第二步:编辑密码文件

第三步:使用newusers指令导入用户文件

执行以上步骤,代表把user.txt 文件中的内容导入到/etc/passwd文件中

第四步:使用pwunconv指令反转/etc/shadow文件中的密码到/etc/passwd中显示

第五步:使用chpasswd导入密码文件到/etc/passwd中

第六步:使用pwconv指令,重新生成/etc/shadow文件

到此u1,u2,u3,u4四个用户导入成功!

批量添加用户原理图:

14、赋予某些用户特殊权限

1)vi编辑/etc/sudoers(有语法着色,建议使用此方法)

2)直接使用visudo指令编辑用户权限(没有语法着色)

例:分配wenbao用户useradd与shutdown权限

特别说明:设置普通用户特殊权限时,其处理指令必须使用全路径,其指令所在路径可以通过whereis指令进行获取.

在sudoers文件中设置如下:

使用wenbao账户进行登陆,然后使用sudo –l查看器具有哪些超级权限:

使用时,我们必须通过如下格式进行操作:

sudo(以管理员身份运行) Shell指令全路径 相关选项或参数

转载于:https://www.cnblogs.com/nyxd/p/5366355.html

你可能感兴趣的文章
Java连接RabbitMQ之创建连接
查看>>
开户vim编程之--cscope支持
查看>>
python数据类型图解
查看>>
C#微信登录-手机网站APP应用
查看>>
HTML5实践 -- iPhone Safari Viewport Scaling Bug
查看>>
一位数据挖掘成功人士 给 数据挖掘在读研究生 的建议
查看>>
Python3.6.0安装
查看>>
hdu1049
查看>>
H5项目常见问题及注意事项
查看>>
索尼(SONY) SVE1512S7C 把WIN8降成WIN7图文教程
查看>>
时间模块 && time datetime
查看>>
jquery自动生成二维码
查看>>
spring回滚数据
查看>>
新浪分享API应用的开发
查看>>
美国专利
查看>>
【JavaScript】Write和Writeln的区别
查看>>
百度编辑器图片在线流量返回url改动
查看>>
我对你的期望有点过了
查看>>
微信小程序wx:key以及wx:key=" *this"详解:
查看>>
下拉框比较符
查看>>