ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Datawhale开源教程学习——Linux(day3Linux用户和组管理)

2021-06-19 18:34:56  阅读:163  来源: 互联网

标签:选项 修改 passwd 用户组 用户 Datawhale day3Linux etc Linux


目录

Day03 Linux用户和组管理

一、用户与用户组

1.1 用户的定义

Linux是多用户多任务的操作系统,用户在使用系统资源时需要向管理员申请账户进入系统。不同用户具有不同的权限。

用户分为普通用户和管理员。

1.2 用户组的定义

Linux除了用户,还有用户组的概念。当需要让多个用户都拥有某一权限,可以把他们放进同一个用户组内,方便集中管理。

其中用户组分为主用户组(primary group)和次用户组(secondary group)

主用户组的信息保存在 /etc/passwd 文件中,次用户组的信息保存在/etc/group中

当用户被创建后,默认属于同名用户组(主用户组),若该用户加入其它用户组,则后加入的组是此用户的次用户组。

~ ➤ grep datawhale /etc/group                                                  
datawhale:x:1001:datawhale1
# datawhale1即为次用户组

1.3 用户与用户组的关系

每个用户在创建时,都自动属于同一个用户组,用户和用户组的关系可以分成以下四种:

  • 一对一,即一个用户存在一个用户组中,且是唯一成员
  • 一对多,一个用户存在多个用户组中,此用户具有每个组的权限
  • 多对一,多个用户在同一个用户组中,这些用户具有和组相同的权限
  • 多对多,多个用户可以存在多个用户组中

二、用户ID与用户组ID

在Linux系统中,通过用户ID来判断是哪个用户。
Linux系统中多数用户账户被设为:用户名和用户组名相同。
用户Ciel被赋予一个名为CIEL的用户组,且成为该新建组的唯一成员,同时UID和GID会被写入/etc/passwd 和 /etc/group中

$ sudo useradd Ciel
$ grep Ciel /etc/passwd #主用户组
Ciel:x:1001:1001:CIEL : /home/Ciel:/bin/sh
$ grep Ciel /etc/group #次用户组
Ciel:x:1001:

#上述第三行的解释
第一列:用户名
第二列: 用户密码,用x表示,密码存在shadow中
第三列:用户ID(唯一标识),0为管理员,1~499为系统用户,500以上是自定义用户
第四列:所属组的组ID
第五列:备注信息(注释性描述)
第六列:用户的主目录(家)/home/Ciel:/bin/sh

主目录:用户的起始工作目录,用户登录后有操作权限的访问目录

注释性描述:存放注释性文字

登录shell:用户登录后,要启动一个进程将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定程序,即shell。

通常,UID是递增,上一个是1000则下一个是1001。

$ sudo useradd Ciel1                                                    
$ grep CIle1 /etc/passwd                                                
Ciel1:x:1002:1002:CIEL /Ciel1:/bin/sh

系统管理员的UID为0

$ grep root /etc/passwd                                                      
root:x:0:0:root: /root:/bin/bash

三、用户与用户组命令管理

3.1 用户的增删修改

添加用户

$ useradd 选项 用户名
选项作用
-u手工指定用户的 UID,注意 UID 的范围(不要小于 500)。
-d手工指定用户的主目录。主目录必须写绝对路径,而且如果需要手工指定主目录,则一定要注意权限;
-c手工指定/etc/passwd文件中各用户信息中第 5 个字段的描述性内容,可随意配置;
-g手工指定用户的初始组。一般以和用户名相同的组作为用户的初始组,在创建用户时会默认建立初始组。一旦手动指定,则系统将不会在创建此默认的初始组目录。
-G指定用户的附加组。我们把用户加入其他组,一般都使用附加组;
-s手工指定用户的登录 Shell,默认是 /bin/bash;
-e指定用户的失效日期
-o允许创建的用户的 UID 相同。例如,执行 “useradd -u 0 -o usertest” 命令建立用户 usertest,它的 UID 和 root 用户的 UID 相同,都是 0;
-m创建用户时强制建立用户的家目录。在建立系统用户时,该选项是默认的;
-r创建系统用户

删除用户

$ userdel 选项 用户名
选项作用
-r删除用户的同时删除用户的home目录

修改用户

$ usermod 选项 用户名
选项说明
-c用户说明 修改用户的说明信息,即修改 /etc/passwd 文件目标用户信息的第 5 个字段;
-d主目录 修改用户的主目录,即修改 /etc/passwd 文件中目标用户信息的第 6 个字段,需要注意的是,主目录必须写绝对路径;
-e日期 修改用户的失效曰期,格式为 “YYYY-MM-DD”,即修改 /etc/shadow 文件目标用户密码信息的第 8 个字段;
-g组名 修改用户的初始组,即修改 /etc/passwd 文件目标用户信息的第 4 个字段(GID);
-uUID 修改用户的UID,即修改 /etc/passwd 文件目标用户信息的第 3 个字段(UID);
-G组名 修改用户的附加组,其实就是把用户加入其他用户组,即修改 /etc/group 文件;
-l用户名 修改用户名称;
-L临时锁定用户(Lock);
-U解锁用户(Unlock),和 -L 对应;
-sshell 修改用户的登录 Shell,默认是 /bin/bash。

修改用户密码

$ passwd 选项 用户名
选项作用
-l暂时锁定用户,该选项会在 /etc/shadow 文件中指定用户的加密密码串前添加 “!”,使密码失效。仅 root 用户可用;
-u解锁用户,和 -l 选项相对应,也是只能 root 用户使用;
-d使账号无口令,删除密码
-f强迫用户下次登录时修改口令
-S查询用户密码的状态,显示密码信息,也就是 /etc/shadow 文件中此用户密码的内容。仅 root 用户可用;
-g修改群组密码

3.2 用户组管理

添加用户组

$ groupadd 选项 用户组
选项描述
-g GID指定组ID
-r创建系统群组

删除用户组

$ groupdel 用户组名

在使用命令删除用户组时,不能删除初始群组,且群组中若包含用户,则需先删除用户再删除群组。

修改用户组属性

$ groupmod 选项 用户组名
选项描述
-g GID修改组ID
-n 新组名修改组名
-o重复使用群组识别码

切换用户组

$ newgrp 目标用户组

参考资料:
[1] https://github.com/datawhalechina/team-learning-program/blob/master/Linux.
[2] https://www.linuxprobe.com/common-user-group.html.

标签:选项,修改,passwd,用户组,用户,Datawhale,day3Linux,etc,Linux
来源: https://blog.csdn.net/weixin_42000317/article/details/118056605

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有