Linux课程_____用户的管理

news2024/12/23 3:46:27

一、规则

用户至少属于一个组,在创建时如果不指定组,将会创建同名的组
用户只能有一个基本组(主组),但可以隶属于多个附加组
如果一个组作为某用户的基本组,此组将不能被删除
UID: 用户标识
GID: 组的标识

root管理员的uid及gid 都为0

二、用户的配置文件

1./etc/passwd
   test     :x               :1000   :1000   :test Test   :/home/test       :/bin/bash
   用户名:口令节点     :UID      :GID   :描述         :宿主目录           :登录的SH

   口令节点代表密码文件

2./etc/shadow
   test         :$1$po/zD0XK$4HSh/Aeae/eJ6dNj1k7Oz1:14495              :0                 :99999:7:::
   用户名      :密码hash值                                         :最后修改时间:最短有效期:最长有效期:提前警告时间:密码过期后禁用时间:帐号失效时间:保留字段

3.用户环境变量配置文件:
默认情况下都存放在宿主目录里,都是隐藏文件.
创建用户时通过复制模板生成 /etc/skel

4.组的配置文件 #cat /etc/group

三、用户管理命令

 1.useradd  新建用户

-u 指定用户的uid
  -d:指定宿主目录,缺省为 /home/用户名
-e:指定帐号失效时间
-g:指定用户的基本组名(或UID号)
-G:指定用户的附加组名(或GID号)
-M:不为用户建立并初始化宿主目录
-s:指定用户的登录Shell

profil  是全局参数

 [root@localhost mnt]# useradd -u 1667 -d /mnt/test4 -g 0 -G 1002 -s /bin/sh test4

 [root@localhost mnt]# ls /home/  //查看所有用户

  2.passwd 设置用户密码

普通用户只能修改自己的密码,管理员可以修改所有人的密码
普通用户修改密码时需要先验证当前的密码

 3.usermod 修改用户属性

-L 锁定用户
-U 解锁用户

[root@localhost ~]# usermod -L test7   //通过注销系统验证登录
    [root@localhost ~]# su - test7          // 使用SU可以正常切换
    [test7@localhost ~]$ exit
    logout
    [root@localhost ~]# usermod -U test7

4.userdel  删除用户

删除目录里的用户,目录变成普通文件

-r 将用户宿主目录一起删除

当一个有其他的成员时,删除主组会报警,但是还是会执行命令主组会变为其他成员。

[root@localhost ~]# ls /home/
test  test2  test5  test7  user1
[root@localhost ~]# userdel test   //会留下宿主目录
[root@localhost ~]# ls /home/
test  test2  test5  test7  user1
[root@localhost ~]# rm -rf /home/test   //删除宿主目录
[root@localhost ~]# ls /home/
test2  test5  test7  user1
[root@localhost ~]# userdel -r test2   //递归删除,和宿主目录一起删除
userdel: group test2 not removed because it has other members.
[root@localhost ~]# su - test2  // - 表示环境变量
su: user test2 does not exist
[root@localhost ~]# ls /home/
test5  test7  user1

修改配置文件创建用户:

1.vim /etc/passwd  添加一行记录

修改  名称 uid  gid  描述 
2.vim /etc/shadow  添加一行记录 :wq! 强制保存退出

修改名称 (密码最短生效时间,最长生效时间,预警过期时间...)
3.vim /etc/group   添加一行主组记录

修改名称
4.生成宿主目录 [root@localhost ~]# cp -r /etc/skel/  /home/user6

5.修改宿主目录的权限 [root@localhost ~]# chown user6:user6 /home/user6 -R

 5.groupadd 新建组

  -g 指定组的 gid

[root@localhost ~]# groupadd -g 1009 group1
[root@localhost ~]# tail /etc/group   //查看

 6. 将用户从组中移除

 [root@localhost ~]# useradd -G group1 test8  //新建用户test8添加到group1组中
[root@localhost ~]# id test8
uid=1673(test8) gid=1673(test8) groups=1673(test8),1009(group1) //主组为test8
[root@localhost ~]# gpasswd -d test8 group1  //将test8从组中移除
Removing user test8 from group group1
[root@localhost ~]# id test8
uid=1673(test8) gid=1673(test8) groups=1673(test8) 

 7.删除组

#groupdel 组名
[root@localhost ~]# groupdel group1

 8.查看用户信息

 #id  用户名
[root@localhost ~]# id test8
uid=1673(test8) gid=1673(test8) groups=1673(test8)

 9.查看用户属于组的信息

#groups 用户名
[root@localhost ~]# groups test8
test8 : test8  //所有者:同组人

修改权限

chown user6:user6 /home/user6 -R   // 修改 所有者  所属组   用户地址  R是递归

10. gpasswd命令设置组帐号密码、添加/删除组成员

常用命令选项

-a:向组内添加一个用户

-d:从组内删除一个用户成员

-M:定义组成员列表,以逗号分隔

[root@localhost ~]# gpasswd -a test market

正在将用户“test”加入到“market”组

[root@localhost ~]# grep "market" /etc/group  //查看组成员

market:x:1000:test

[root@localhost ~]# gpasswd -M  test,root,adm market    / / 将多个用户添加到组

[root@localhost ~]# grep "market" /etc/group

market:x:1000:test,root,adm

 四、文件/目录的权限和归属

1.查看文件权限和归属

[root@localhost ~]#  ls -l install.log 

 

 权限标识

——— — —— — —— — —
文件类型所有者同组人其他人

文件类型一般是权限的第一位

——1d除此之外
普通文件连接文件目录文件其他文件

权限表示   r:读         w:写        x:执行

数字表示  4:读        2:写        1:执行

2.修改用户权限

chmod (需要修改的类型) (+-=)(r,w,x)文件或者目录

类型简称ug oa
注释所有者同组人其他人全部

chmod 数字权限表示 文件或者目录

当其他人分组被修改成可写文件后,目录文件会高亮

当任意分组修改成执行文件后,文本文件和普通文件会变成绿色

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1521138.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Arduino IDE的下载和安装

一、Arduino的介绍 Arduino是一款开源电子原型平台,主要包含两部分:硬件(各种型号的Arduino板)和软件(Arduino IDE)。这个平台由意大利的Massimo Banzi、David Cuartielles等人共同开发设计,并于…

mysql5.7离线安装 windows

windows上离线安装mysql5.7 下载安装包 去官网下载对应版本的mysql官网 点击archives,接着选择自己要下载的版本,选择windows系统,并根据自己电脑的位数选择相应的版本【找到“此电脑”,鼠标右击,出来下拉框,选择“属性…

CTF-希尔加解密

对于希尔加解密很多writeup都说用在线工具,所以研究了一下,写了一个方便的加解密python代码,根据给定的字母表及私钥字符串,尝试不同纬度不同重叠的加密矩阵输出加解密结果。运行效果如下: 代码文件Hill希尔加解密_final.py import numpy as np import string # 导入自定…

PHP异世界云商系统开源源码

系统更新与修复列表 1. 基于彩虹的二次开发 - 对彩虹系统进行了二次开发,增强了系统的功能和性能。2. 新增自定义输入框提示内容(支持批量修改) - 用户可以自定义输入框的提示内容,并支持批量修改,提升用户体验。3. 新…

【python】自动化工具Selenium与playwright去除webdriver检测

对这个世界如果你有太多的抱怨 跌倒了就不敢继续往前走 为什么人要这么的脆弱 堕落 请你打开电视看看 多少人为生命在努力勇敢的走下去 我们是不是该知足 珍惜一切 就算没有拥有 🎵 周杰伦《稻香》 # -*- coding:utf-8 -*- import timefrom s…

Docker基本配置及使用

Docker基本配置及使用 使用步骤 1.卸载旧版 代码如下:首先如果系统中已经存在旧的Docker,则先卸载 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engin…

C++进阶:详解多态(多态、虚函数、抽象类以及虚函数原理详解)

C进阶:详解多态(多态、虚函数、抽象类以及虚函数原理详解) 结束了继承的介绍:C进阶:详细讲解继承 那紧接着的肯定就是多态啦 文章目录 1.多态的概念2.多态的定义和实现2.1多态的构成条件2.2虚函数2.2.1虚函数的概念2…

P3374 【模板】树状数组 动态求连续区间和 刷题笔记

我们创建如下的树状数组来辅助操作 该数组每个s[i]处于第几层取决于其二进制 最后低位 的1处于从右往左数第几列 显然所有奇数的最右边一位都是1 即其最低位的1 处于右边第一列 所以所有的奇数处于第一层 而2,6,10,14的最低位1处于右边第二…

NVENC 视频编码器 API 编程指南 ( 中文转译 )

基于 NVIDIA Kepler™ 和更高版本 GPU 架构的 NVIDIA GPU 包含基于硬件的 H.264/HEVC/AV1 视频编码器(以下简称 NVENC)。NVENC 硬件采用 YUV/RGB 作为输入,并生成符合H.264/HEVC/AV1 标准的视频比特流。可以使用 NVIDIA 视频编解码器 SDK 中提…

低压保护测控产品解决方案【Acrel-2000M马达监控系统】

背景及需求 低压电机回路 低压进出线回路 越级跳闸 断路器的拒跳对系统安全运行威胁很大,一旦某一单元发生故障时,断路器拒动,将会造成上一级断路器跳闸,称为越级跳闸。断路器越级跳闸的危害这将扩大事故停电范围,甚…

数位排序——数组及lambda表达式应用

题目链接:1.数位排序 - 蓝桥云课 (lanqiao.cn) package lanqiao;import java.util.Arrays; import java.util.Scanner;/*** 2023/11/1* 蓝桥2122* 数位和排序,数位和相等的按大小排序*/ public class lanqiao2122_数位排序 {public static void main(Str…

从零开始利用MATLAB进行FPGA设计(四)生成优化HDL代码

文章灵感来源于MATLAB官方免费教程:HDL Coder Self-Guided Tutorial 考虑到MATLAB官网的英文看着慢,再加上视频讲解老印浓浓的咖喱味,我决定记录利用MATLAB&Simulink&SystemGenerator进行FPGA数字信号处理的学习过程。 往期回顾&am…

力扣大厂热门面试算法题 36-38

36. 有效的数独,37. 解数独,38. 外观数列,每题做详细思路梳理,配套Python&Java双语代码, 2024.03.16 可通过leetcode所有测试用例。 目录 36. 有效的数独 解题思路 完整代码 Java Python 37. 解数独 解题思…

MySql入门教程--MySQL数据库基础操作

꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN …

【C++从练气到飞升】03---构造函数和析构函数

🎈个人主页:库库的里昂 ✨收录专栏:C从练气到飞升 🎉鸟欲高飞先振翅,人求上进先读书。 目录 ⛳️推荐 一、类的6个默认成员函数 二、构造函数 1. 构造函数的概念 2. 构造函数的定义 3. 构造函数的特性 三、析构函…

leetcode 2312. 卖木头块【划分型dp+棋盘切割类型dp】

原题链接:2312. 卖木头块 题目描述: 给你两个整数 m 和 n ,分别表示一块矩形木块的高和宽。同时给你一个二维整数数组 prices ,其中 prices[i] [hi, wi, pricei] 表示你可以以 pricei 元的价格卖一块高为 hi 宽为 wi 的矩形木块…

【数据结构练习题】栈——1.括号匹配 2.逆波兰表达式求值 3.出栈入栈次序匹配 4.最小栈

♥♥♥♥♥个人主页♥♥♥♥♥ ♥♥♥♥♥数据结构练习题总结专栏♥♥♥♥♥ 文件目录 前言1.括号匹配1.1问题描述1.2解题思路1.3画图解释1.4代码实现2.逆波兰表达式求值 2.1问题描述2.2解题思路2.3画图解释2.4代码解释3.出栈入栈次序匹配 3.1问题描述3.2思路分析3.3画图解释3.…

Spring Chache入门详解、配套小案例

简介:Spring Cache是一个框架,实现了基于注解的缓存功能,只需要添加一个注解就能实现缓存功能。 Spring Cache提供了一层抽象,底层可以切换不同的缓存实现,如下: EHCacheCaffeineRedis (这篇帖子&#xff…

Xcode调试Qt 源码

在Mac下使用Xcode 开发Qt程序,由于程序断点或者崩溃后,Qt库的堆栈并不能够正确定位到源码的cpp文件,而是显示的是汇编代码,导致不直观的显示。 加载的其他三方库都是同理。 所以找了攻略和研究后,写的这篇文章。 一&a…

网络原理(1)——UDP协议

目录 一、应用层 举个例子:点外卖 约定数据格式简单粗暴的例子 客户端和服务器的交互: 序列化和返序列化 xml、json、protobuffer 1、xml 2、json 3、protobuffer 二、传输层 端口 端口号范围划分 认识知名的端口号 三、UDP协议 端口 U…