一、用户和组原理

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

在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. eMMC ext4综述【转】

    本文转载自:https://blog.csdn.net/lieye_leaves/article/details/78214410 eMMC ext4综述一.系统的引导启动1.1系统的引导启动http ...

  2. Linux内核中的netlink是什么?

    答: 是一种内核与用户应用间的双向数据传输方式,用户态使用传统的socketAPI即可使用netlink提供的功能,但是内核态需要使用专门的api来使用netlink.

  3. [NOI1995]石子合并 四边形不等式优化

    链接 https://www.luogu.org/problemnew/show/P1880 思路 总之就是很牛逼的四边形不等式优化 复杂度\(O(n^2)\) 代码 #include <ios ...

  4. 枚举+排序|神奇算式|2014年蓝桥杯A组题解析第三题-fishers

    标题:神奇算式 由4个不同的数字,组成的一个乘法算式,它们的乘积仍然由这4个数字组成. 比如: 210 x 6 = 1260 8 x 473 = 3784 27 x 81 = 2187 都符合要求. ...

  5. 【分库、分表】MySQL分库分表方案

    一.Mysql分库分表方案 1.为什么要分表: 当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间. ...

  6. Optical Flow related Tutorials

    Optical Flow related Tutorials 2017-04-01 10:50:55 Reference: 1. http://blog.csdn.net/carson2005/art ...

  7. ES6模块化操作

    在ES5中我们要进行模块化操作需要引入第三方类库,随着前后端分离,前端的业务日渐复杂,ES6为我们增加了模块化操作.模块化操作主要包括两个方面. export :负责进行模块化,也是模块的输出. im ...

  8. 什么情况下用断言?assert

    可以再预计正常情况下不会到达的任何位置上放置断言,断言可以用于验证传递给私有方法的参数.不俺的参数过,断言不应该用于验证传递给公有方法的参数,因为不管是否启用了断言,公有方法都必须检查其参数.不过,既 ...

  9. 集成算法——Ensemble learning

    目的:让机器学习效果更好,单个不行,群殴啊! Bagging:训练多个分类器取平均 Boosting:从弱学习器开始加强,通过加权来进行训练 (加入一棵树,比原来要强) Stacking:聚合多个分类 ...

  10. Vue运行报错--not defined

    按F12键进入调试模式,谷歌总是提示Uncaught ReferenceError: ——is not defined这个错误. 原来是因为虽然是传递的值,但是在函数传参的时候也要加引号,加上引号后就 ...