【云计算学习之路】学习Centos7系统-Linux下用户及组管理

用户和组简介

在使用Linux操作系统时,需要使用用户登录后才能使用,在Linux上运行程序同样需要用户运行;

  • 用户限制使用者或进程可以使用或不可以使用哪些资源。
  • 组用来方便组织管理用户。
  • 用户ID为32位,从0开始,但是为了和老式系统兼容,用户ID限制在60000以下
  • 用户分为以下三种
bash 复制代码
-root用户(ID为0的用户为root)
-系统用户(1-499)
-普通用户(500以上)
  • 系统中的文件都有一个所属用户及所属组

  • 使用id命令可以显示当前用户的信息

  • 使用passwd命令可以修改当前用户密码

  • 每个用户拥有一个UserID,操作系统实际使用的是用户ID,而非用户名

  • 每个用户属于一个主组,属于一个或多个附属组(一个用户最多有31个附属组)

  • 每个组拥有一个GroupID

  • 每个进程以一个用户身份运行,并受该用户可访问的资源限制

  • 每个可登陆用户拥有一个指定的shell环境


用户和组的创建和删除

  • 相关文件介绍
bash 复制代码
/etc/passwd				# 保存用户信息
/etc/shadow				# 保存用户密码(以加密形式保存)
/etc/group				# 保存组信息
/etc/login.defs
/etc/default/useradd

创建用户useradd

  • 这个命令会执行以下操作
  1. 在/etc/passwd中添加用户信息
  2. 如果使用passwd命令创建密码,则将密码加密保存在/etc/shadow中
  3. 为用户建立一个新的家目录/home/huaqiang
  4. 将/etc/skel中的文件复制到用户的家目录中
  5. 建立一个与用户名相同的组,新建用户默认属于这个同名组
bash 复制代码
[root@iZ2ze81kvcsugfg1pd7872Z ~]# useradd itocean
[root@iZ2ze81kvcsugfg1pd7872Z ~]# cat /etc/passwd | grep itocean
itocean:x:1001:1001::/home/itocean:/bin/bash
[root@iZ2ze81kvcsugfg1pd7872Z ~]# cat /etc/shadow | grep itocean
itocean:!:20593:0:99999:7:::
[root@iZ2ze81kvcsugfg1pd7872Z ~]# ls -l /home/
total 8
drwx------ 2 itocean itocean 4096 May 20 09:23 itocean
[root@iZ2ze81kvcsugfg1pd7872Z ~]# cat /etc/gro
groff/  group   group-  
[root@iZ2ze81kvcsugfg1pd7872Z ~]# cat /etc/group | grep itocean
itocean:x:1001:
  • 命令useradd支持以下参数:
bash 复制代码
-d		# 指定家目录
-s		# 登陆shell
-u		# 指定UID
-g		# 主组
-G		# 附属组(最多31个,用","分割)
也可通过直接修改/etc/passwd方式实现,但是不建议

修改用户信息usermod

text 复制代码
命令usermod支持以下参数:
	-l	新用户名
	-u	新userID
	-d	用户家目录位置
	-g	用户所属主组
	-G	用户所属附属组
	-L	锁定用户使其不能登陆-U解除锁定

删除用户userdel

bash 复制代码
userdel itocean 		# 保留用户的家目录
userdel -r itocean 		# 同时删除用户的家目录

组管理

前言:几乎所有OS都有组的概念,通过组,我们可以更加方便的归类、管理用户,一般来讲,我们会使用部门、职能或地理区域的分类方式来创建使用组。

每个组有一个组ID

组信息保存在/etc/group中

每个用户拥有一个主组,同时还可以拥有31个附属组

创建组groupadd

bash 复制代码
[root@iZ2ze81kvcsugfg1pd7872Z ~]# groupadd itocean1
[root@iZ2ze81kvcsugfg1pd7872Z ~]# cat /etc/group | grep itocean1
itocean1:x:1002:

修改组groupmod

bash 复制代码
命令groupmod用以修改组信息:
[root@iZ2ze81kvcsugfg1pd7872Z ~]# groupmod -n cloud1 itocean1
[root@iZ2ze81kvcsugfg1pd7872Z ~]# cat /etc/group | grep itocean1
[root@iZ2ze81kvcsugfg1pd7872Z ~]# cat /etc/group | grep cloud1
cloud1:x:1002:
groupmod --n newname oldname			# 修改组名
groupmod --g newGid oldGid				# 修改组ID

删除组groupdel

bash 复制代码
groupdel itocean1
相关推荐
差不多的周周2 小时前
《骨架上下文:基于零镜头骨架的动作识别的骨架侧上下文提示学习》论文核心部分详解
学习
YoungStudyAI2 小时前
QA的下一个自动化阶段,可能不是再写更多脚本,而是设计测试Agent
运维·自动化
Century_Dragon3 小时前
从挂图到VR:汽修专业的一堂新能源原理课可以怎么上~
学习
筝筝ba3 小时前
openBMC功耗封顶GUI测试
服务器
分布式存储与RustFS3 小时前
纠删码到底吃掉了多少容量:EC:4、EC:8 的利用率与容错怎么算
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
遇见小修修3 小时前
3步解决打印机0x00000709报错 ,广州深圳程序员可自行排查
运维·打印机·维修·打印机报错·打印机运维·打印机故障自查
知识分享小能手3 小时前
C++ 学习教程,从入门到精通,C++对象和类 — 详细知识点总结(10)
开发语言·c++·学习
顺顺 尼4 小时前
linux 进程信号(上)
linux·c++·算法
niuTaylor4 小时前
飞腾 FT-2000/4 Ubuntu 内存卡 / NVMe SSD 系统制作完整指南
linux·服务器·人工智能·驱动开发·单片机
New农民工4 小时前
倒立摆训练秘籍:理解训练参数
学习