一、用户和组原理

一个用户可以属于多个组,一个组有多个用户

在Linux中操作系统必须依赖组和用户进行管理

二、与用户和组相关的配置文件

1、组相关配置文件

1)/etc/group :管理用户组信息

查看组的命令是:cat group  (这是进入etc目录下)

第1列 : 组的名称

第2列: 组的密码(X代表密码隐藏,真正在密码是放在/etc/gshadow)

第3列:组的ID(编号)

第4列:组附属成员列表

2)/etc/gshadow :管理组密码信息

查看管理组密码的命令是 :cat gshadow (同上)

第1列  组名

第2列  密码(没有说明无密码)

第3列   附属参数

2、用户相关配置信息

1)/etc/passwd  查看系统所有用户信息

(同上)

第1列  用户名

第2列  密码 (X隐藏,真正的密码保存在/etc/shadow)

第3列  用户ID      (0代表root用户,1-499代表系统用户ID,500以后代表自定义用户的ID)

第4列  用户所属组的ID

第5列  用户的备注信息

第6列  用户的家

第7列  shell命令的目录

2)/etc/shadow 查看用户密码

(同上)

第1列 用户名

第2列  密码(加密)

当我们使用系统用户登陆Linux系统时,系统要求用户必须具有密码,否则无法登陆

三、与用户和组相关的命令

1、组相关命令

1)添加组  groupadd 组名 :

-g :添加组时指定组id

Cat /etc/group : 查看刚添加的组

2)修改组  groupmod 组名 :

-n :修改组名称

Groupmod -n 1607A 1607 (要修改成的名称     要修改的名称)

-g :修改组id

3)删除组  groupdel 组名 :

2、用户相关命令

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

第一步:groupadd 要添加组的名称

第二步:useradd -g 组名称 要添加的用户名称

第三步:  cat /etc/passwd  查看创建用户名的信息

Cd /home  查看刚添加的用户

-g [group_name] :添加用户时指定用户的所属组

-d [home] :添加用户是指定用户的家 /home/用户的家

eg:

A、useradd -r zhangsan                    创建系统用户组

B、useradd -u 700 -g users zhangsan

C、useradd zhangsan

D、useradd -u 502 zhangsan            -u:指定用户ID号。该值在系统中必须是唯一的。0~499默认是保留给系统用户账号使用的,所以该值必须大于499。

8、赋予某些用户特殊的权限

2)修改用户  usermod [选项] 用户名

-c  【comment】 :用户的备注信息

-l  【login_name】 :修改用户名

-d  【home_dir】 :修改用户的家

-g  【group_name】 :修改用户的所属组 ID

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

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

3、设置用户口令

当我们的用户没有设置密码时,系统是不允许登陆的,必须要拥有密码口令。

passwd [选项] 用户 :设置用户口令

-S【status】:查看当前用户口令状态

-l  【lock】:锁定当前用户(无法登陆系统)

-u  【unlock】:解除用户锁定

-d  【delete】:删除用户口令

4、禁止用户登陆

1)/etc/shadow (单用户)

在密码前添加两个!!叹号来阻止某个用户登陆系统

2)/etc/nologin (多用户)

在etc目录下创一个nologin的文件,那么系统中的所有用户都无法进行登陆

5、添加或删除组成员(附加组)

gpasswd [参数] 组名

-a  user_name :向附加组中添加用户

命令 :gpasswd -a 用户名  组名

-M  用户名1,用户名2...   组名

-d  user_name :把用户从附加组中移除

命令 : gpasswd -d 用户名  组名

6、其他相关命令

su :切换当前用户

su 用户名

当从超级管理切换到普通用户,直接进入不需要输入密码

当从普通用户切换到普通用户,需要输入密码

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

whoami  :我是谁,查看当前用户名

id :查看当前用户信息

groups :查看当前用户的所属组信息

7、批量添加用户

批量添加用户六部走:

1)编辑用户文件

2)编辑密码文件

3)newusers

4)pwunconv

5)chpasswd

6)pwconv

1)编辑用户文件

2)编辑密码文件

3)newusers导入用户到passwd文件

4)pwunconv

反转命令:反转/etc/shadow文件中的密码信息还原到/etc/passwd文件中

5)chpasswd

6)pwconv反转passwd中的密码信息到shadow文件中

8、赋予某些用户特殊的权限

visudo 给用户分配权限

如果不知道权限命令在哪里,可以通过

whereis 命令进行查找

通过su命令切换到其他用户上

输入 sudo 所分配的权限

linux中用户和用户组的更多相关文章

  1. Linux中用户及用户组

    Linux用户只有两个等级:root及非root.Linux中还有一部分用户,如:apache.mysql.nobody.ftp等,这些也都是非root用户,即普通用户.Linux的权限实际是上不同用 ...

  2. Linux中用户与用户组管理

    1.基础知识 Linux作为一种多用户的操作系统(服务器系统),允许多个用户同时登陆到系统上,并响应每个用户的请求. 任何需要使用操作系统的用户,都需要一个系统账号,账号分为:管理员账号与普通用户账号 ...

  3. linux中用户和用户组的概念以及查看命令

    Linux 是多用户多任务操作系统,换句话说,Linux 系统支持多个用户在同一时间内登陆,不同用户可以执行不同的任务,并且互不影响. 例如,某台 Linux 服务器上有 4 个用户,分别是 root ...

  4. 13、linux中用户和用户组

    linux是多用户多进程的系统: 每个文件和进程都需要应对一个用户和用户组: linux系统通过uid和gid来识别用户和组的: 一个用户必须要有唯一的uid和一个主组来识别身份,不同的用户可以使用同 ...

  5. linux创建用户和用户组

    Linux创建用户.用户组 及 删除 在创建用户时,需要为新建用户指定一用户组,如果不指定其用户所属的工作组,自动会生成一个与用户名同名的工作组.创建用户user1的时候指定其所属工作组users,例 ...

  6. linux系统--用户和用户组

    一.用户和用户组的概念 用户:使用操作系统的人 用户组:具有相同系统权限的一组用户.在linux系统中可以存在多个用户组 1.1 /etc/group 这里存储当前系统中所有用户组的信息 每一行对应一 ...

  7. Linux命令——用户和用户组管理

    Linux命令--用户和用户组管理 命令groupadd 作用:新增组 格式:groupadd [-g GID] groupname 参数:-g,指定GID,一般从500开始 说明:一般不必加-g参数 ...

  8. 2.Linux的用户、用户组、权限、文件系统管理及其网络配置

    2.1 Linux的用户及用户组 2.1.1 Linux的用户管理 用户账号管理包含以下三个方面: 用户账号的添加.删除.与修改 用户口令(密码)的管理 用户组的添加.删除管理 Linux系统中用户信 ...

  9. Linux基础——用户和用户组

    Linux基础--用户和用户组 一.用户和用户组 用户在/etc/passwd中 用户组在/etc/group/中注意:在创建用户时,系统默认生成一个用户组(组名和用户名一致) 1.用户 1.1查看用 ...

随机推荐

  1. RPMB原理介绍【转】

    本文转载自:https://blog.csdn.net/shenjin_s/article/details/79868375 RPMB介绍:RPMB(Replay Protected Memory B ...

  2. 【注册码】Matlab7.0(R14)注册码

    Matlab 7 (R14) 注册码1:14-13299-56369-16360-32789-51027-35530-39910-50517-56079-43171-43696-14148-64597 ...

  3. SAP 供应商/客户的冻结及其删除操作

    SAP 供应商/客户的冻结及其删除操作 在SAP中,有所谓的财务供应商(Tcode:FK01)和后勤供应商(Tcode:XK01),供应商和客户主数据包括一般数据/公司代码数据/采购组织|销售范围三方 ...

  4. MVC ---- 去掉HTML过滤

    在方法头上添加特效  [ValidateInput(false)]  富文本框提交的内容就可以顺利提交到后台了.

  5. C#判断数据类型的简单示例代码

    ; Console.WriteLine( "i is an int? {0}",i.GetType()==typeof(int)); Console.WriteLine( &quo ...

  6. 【三】php 数组

    数组 1.数字索引数组:array('a','b','c');  2.访问数组内容 $arr[下标] 3.新增数组元素 $arr[下标]=内容 4.使用循环访问数组 //针对数字索引 $arr=arr ...

  7. vim的简单使用

    vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...

  8. 基于虹软 2.0 人脸识别猜年龄 java版 demo

    首先感谢虹软,是你们提供这么好的SDK支撑了我们的想象力! 这是一个用javav编写的可视化应用,用户通过自己的脸和计算机进行交互,计算机则通过萌萌女孩的语音和用户对话.核心程序就是利用ArcFace ...

  9. sort-归并排序

    void sort_merge(vector<int> &v,int left,int right) { if(left>=right) return; int mid=(l ...

  10. Django框架中,使用celery实现异步

    作用:在使用框架时,在视图函数中实现异步构成: 任务task:一段耗时并与响应结果无关的代码,如发短信 工人worker:新进程,用于执行任务代码 代理人broker:调用任务时,将任务添加到队列中, ...