一、用户和组原理

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

在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. 集合03_Map

    Map集合总览 保存映射关系key-value键值对,键唯一,值可以重复,Map和Set的实现类相似 Entry是Map的内部类 Map接口中常用的方法: void clear() Set keySe ...

  2. p2596 书架(Treap)

    写平衡树修锅快修到死系列 我太蠢了 其实是平衡树裸体裸题 插入,删除,交换前驱或后继,查询rank和kth 维护一个pos数组,表示第i个书的编号 然后注意许许多多的细节,没了 #include &l ...

  3. IDEA快速变量的快捷键

    假想早期的JDBC需要或许bean的许多字段, 那么IDEA提供了CTRL+ALT+V对该行快速根据变量类型自动生成变量. 此时如果变量标红,需要按一下TAB.

  4. 程序设计第二次作业<2>

    我所找到的C++相关课程列表: (2016/1/27)(部分) 1. 慕课网 http://www.imooc.com/learn/342 <c++远征之起航篇> 授课人:james_yu ...

  5. Vs Code搭建 TypeScript 开发环境

    一.npm install -g typescript 全局安装TypeScript   二.使用Vs Code打开已创建的文件夹,使用快捷键Ctrl+~启动终端输入命令 tsc --init 创建t ...

  6. [0403]学习一个——苟(简单Java开发)

    学习一个--苟 1. 开发目的 拜读了某神犇的blog,感到了自身深深的不足.蒟蒻如我,决定提高一蛤自身的姿势水平,学习一个,使用Java重写用GreatestLanguage写的某小说网站的抓取器. ...

  7. VS 编译后 install报错(error MSB3073)

    vs编译出现如下错误: 错误 1 error MSB3073: 命令"setlocal H:\PCL_BACKUP\PCL\CMake\bin\cmake.exe -DBUILD_TYPE= ...

  8. C# linq 最大、最小对象的扩展

    public static class LinqExtension { public static T MaxBy<T, TR>(this IEnumerable<T> en, ...

  9. Pandas 基础(1) - 初识及安装 yupyter

    Hello, 大家好, 昨天说了我会再更新一个关于 Pandas 基础知识的教程, 这里就是啦......Pandas 被广泛应用于数据分析领域, 是一个很好的分析工具, 也是我们后面学习 machi ...

  10. oracle中sql优化

    问题描述:刚开始做项目的时候没啥感觉,只用能出来结果,sql随便写,但是后来用户的数据量达到几万条是,在访问系统,发现很多功能加载都很慢,有的页面一个简单的关联 查询居然要花费30多秒,实在是不能忍, ...