【linux系统学习教程 Day03】网络安全之Linux系统学习教程,用户和用户组管理,创建用户,删除用户,创建组,删除组....

1.7 用户和用户组管理

1.7.1 用户管理

1-1 创建用户

#创建用户
useradd 
#创建一个用户
例子1:useradd test1

#创建用户
        useradd 
#创建一个用户
例子1:useradd dilnur

 

1-2 设置密码 

passwd
例子1:passwd dilnur

#用root用户给普通用户修改密码

#用root用户给普通用户修改密码
[root@localhost ~]# passwd dilnur
更改用户 dilnur 的密码 。
新的 密码:123456
无效的密码: 密码是一个回文
重新输入新的 密码:123456
passwd:所有的身份验证令牌已经成功更新。

#普通用户自己修改密码 

su dilnur #su 用户名可以切换到普通用户

但是密码复杂度有要求,

# 一般linux的密码是有复杂度要求的,比如下面这种密码就可以通过:大小写组合、数字、特殊字符组合起

 例子3:

#免交互修改密码,这样不需要输入两次密码确认。echo是打印的意思,有结果输出给passwd命令来修改dilnur用户的密码
echo 123456|passwd --stdin dilnur
# 这种一般同时改多个Linux服务器系统的密码时比较方便。

1-3 检查用户是否存在

id aini

#检查用户是否存在
id
例子1: 
#用户存在,系统的返回结果
[root@localhost ~]# id aini
uid=1000(aini) gid=1000(aini) 组=1000(aini)
#用户不存在,系统的返回结果
[root@localhost ~]# id test2
id: test2: no such user

用户存在的情况 

用户不存在的情况 

1-4 查看用户列表

cat /etc/passwd

能看到自己创建的用户 aini dilnur;除此之外还有很多系统用户

1-5 删除用户 

userdel dilnur
#被删除的用户还在登录状态,是不能删除的

我切换到了dilnur 用户,删dilnur用户是删不掉的

#被删除的用户,退出登录之后,可以正常删除 

su root    #切换到root用户

userdel aini #删除aini用户

'''
    linux删除用户之后,/home/目录下对应的用户文件夹还在,如果还想加回来这个用户,那么会提示家目录存在,不会从样板目录(skel)中复制任何文件了,通过ls -a /etc/skel,可以看到skel目录下的内容了
    还提示邮箱文件已经存在,ls /var/spool/mail下面
    windows删除用户之后,c:\Users目录下的用户文件夹也还在
    注意:删除之后的用户,再次创建出来,密码是需要重新设置的
''' 

userdel -r dilnur # 删除用户,并删除用户相关目录 

1-6 修改用户信息,修改属性

 #修改用户信息,修改属性
usermod # modify 它有很多选项(参数),

-L是锁定用户,

通过命令 -h(或者--help,一个-后面一般跟一个字母即可,两个-后面一般跟完整单词),可以查看命令的各种选项的意思,比如usermod -h
#锁定用户(和windows的禁用用户一个意思)

[root@localhost ~]# usermod -L dilnur #被锁定的用户,下次就登录不上系统了。
[root@localhost ~]# usermod -U dilnur #解锁用户
[root@localhost ~]# lchage -l dilnur # 查看用户详细信息 

1-7 查看用户详细信息

lchage 

lchage -l dilnur

所有的用户信息存储在/etc/passwd文件中,每创建一个用户该文件就会多一行记录 

## passwd文件解释
root:x:0:0:root:/root:/bin/bash
test1:x:1000:1000::/home/test1:/bin/bash
test2:x:1001:1001::/home/test2:/sbin/nologin
test3:x:1002:1000::/home/test3:/sbin/nologin
haha:x:1004:1004:putong user:/home/haha:/bin/bash


第一列:用户名
第二列:x
第三列:uid  # root用户的uid是0,我们自己创建的用户uid是1000及之后的数值。
第四列:gid # 用户组id
第五列:注释,一般为空
第六列:家目录的位置
第七列:使用shell的名称,默认使用/bin/bash

## 有的用户密码信息存储/etc/shadow,设置了密码的长度比较长。密码是两层加密的,基本无法破解。但是如果黑客权限比较高,它可以用知道密码的shadow文件来替换这个文件,或者修改这个文件下某个用户的密码,只有root用户才有权力修改这个文件。 

1-7 登录主机的两种方式:

## 本地登录:直接在主机上输入用户名和密码登录
## 远程登录:ssh远程登录

## windows默认只能同时一个用户登录,登录另外一个用户,前一个用户就会自动下线。
## linux支持多个用户在多个地方同时登录一个系统,每个用户都有一个终端来控制操作系统。终端的意思就是连接窗口。

 # 查看当前登录了几个用户,或者打开了几个终端

w

# 显示两个终端在登录,tty1表示本地登录的、pts/0表示远程登录的 

1.7.2 用户组管理 

2-1 新建组和查看组:

## 新建组和查看组:
 groupadd 组名
例子:
 [root@localhost tmp]# groupadd group1
 [root@localhost tmp]# cat /etc/group # 查看有哪些组

 groupadd group1  # 创建一个group1组
 cat /etc/group # 查看有哪些组2-

2-2 指定组来创建用户

 #指定组来创建用户,如果没有指定组,那么创建用户的时候,linux会自动创建一个与用户名同名的组。
例子: 组的英文是group
[root@localhost tmp]# useradd -g group1 test3 #-g 是指定主组
[root@localhost tmp]# id test3
uid=1002(test3) gid=1002(group1) 组=1002(group1)
# gid表示用户的属组的主组
# 组=表示用户的属组,用户可以属于多个组,一个主组,多个其他组。

useradd -g test1 test3 #-g 是指定主组 

2-3 删除组

# 删除组
groupdel 组名
例子:
[root@localhost tmp]# groupdel group1
#如果组内有用户,会报错,需要先删除主组属于这个组的所有用户(userdel -r 用户名),或者将用户移到其他的组之后在删除组。
 

groupdel group1 

   组内有用户所以会报错

userdel -r test3 

groupdel group1

这样就成功了

2-4 修改组名 

# 修改组名
# groupmod -n group2 group1 # 将group1组名改为group2

groupmod -n group2 group1

因为上一步我们删除了group1 ,所以先创建group1,再改名字

2-4 修改用户所属的主组

 # 修改用户所属的主组
usermod -g 组名
例子:
[root@localhost tmp]# usermod -g group2 dilnur #将dilnur用户的主组改为group2
[root@localhost tmp]# groupdel dilnur # 就可以将dilnur组删除了。
# 将用户添加到多个其他组中
usermod -G
[root@localhost tmp]# usermod -G test aini # 将aini用户也添加到test组

usermod -g group2 dilnur #将dilnur用户的主组改为group2 

可以看出来已经发生了变化

groupdel dilnur # 就可以将dilnur组删除了。(注意:创建用户的时候默认创建跟用户名同名的组

# 将用户添加到多个其他组中
usermod -G 

usermod -G test aini

创建 用户aini

创建组test

Linux Day-04学习链接:

【linux系统学习教程 Day04】网络安全之Linux系统学习教程,权限管理,权限修改,权限值,修改文件所属...-CSDN博客文章浏览阅读3次。【linux系统学习教程 Day04】网络安全之Linux系统学习教程,权限管理,权限修改,权限值,修改文件所属...https://blog.csdn.net/m0_67844671/article/details/139016841?spm=1001.2014.3001.5501 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Python小案例】Python+mysql+PyQt5健康体检报告查询

下载安装Python3.7.8 python官网:https://www.python.org/ PyQt5配置 安装PyQt5 pip install PyQt5pip install qt5_toolspytcharm创建项目 配置外部工具 QTDesigner的Arguments语句不用填 QTDesigner的Working directory语句:$ProjectFileDir$ Pyuic的Argume…

BGP配置

配置 r1 建立EBGP对等体 [r1]bgp 100 [r1-bgp]router-id 1.1.1.1 [r1-bgp]peer 12.0.0.2 as-number 200 [r1]ip route-static 2.2.2.2 32 12.0.0.2 [r1]bgp 100 [r1-bgp]router-id 1.1.1.1 [r1-bgp]peer 2.2.2.2 as-number 200 [r1-bgp]peer 2.2.2.2 connect-interface LoopBa…

军工单位如何做到安全跨网文件交换与导出的

在现代信息化战争中,军工单位在信息安全方面的需求尤为突出。跨网文件交换与导出作为军工单位日常运营的重要环节,面临着网络带宽限制、数据安全风险、合规性要求和传输稳定性等挑战。下面,我们将从以下几个方面探讨军工单位如何实现安全、高…

深度学习之基于Tensorflow卷积神经网络脑肿瘤分类识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 脑肿瘤是医学领域的一个重要问题,对人类的健康构成了严重威胁。传统的脑肿瘤分类识别方法…

Thingsboard规则链:Entity Type Switch节点详解

在物联网(IoT)领域,随着设备数量的爆炸式增长和数据复杂性的增加,高效、灵活的数据处理机制变得至关重要。作为一款先进的物联网平台,ThingsBoard提供了强大的规则链(Rule Chains)功能&#xff…

提升代码简洁,MVEL 表达式和责任链设计模式应用实践

导读 本文主要讲解了MVEL表达式和责任链设计模式相结合一起的消息处理解决方案设计、解耦消息处理节点以及方便代码维护扩展。通过“订单拆单消息”的接入作为具体实践案例,简要阐述了MVEL表达式和Apache Chain职责链设计模式应用场景。希望通过本文,读…

实战Java虚拟机-高级篇

一、GraalVM 什么是GraalVM GraalVM是Oracle官方推出的一款高性能JDK,使用它享受比OpenJDK或者OracleJDK更好的性能。GraalVM的官方网址:https://www.graalvm.org/官方标语:Build faster, smaller, leaner applications。 更低的CPU、内存…

力扣第206题-反转链表

反转链表的效果示意图 要改变链表结构时,通常加入一个创建的临时头结点会更容易操作 时间复杂度:遍历2遍,2n 空间复杂度:额外创建一个栈,n (空间创建一个数组长度最大为5000,你说这个数组是栈也可以&…

5.17 作业+思维导图+模拟面试

// tcp_ser.c #include <myheader.h>#define SER_PORT 8888 #define SER_IP "192.168.125.109"int newfd, sfd;int main(int argc, const char *argv[]) {//1、为通信创建一个端点sfd socket(AF_INET, SOCK_STREAM, 0);//参数1&#xff1a;说明使用的是ipv4通…

2024中青杯数学建模C题:“X 疾病”在人群中的传播代码论文思路分析

2024中青杯数学建模C题论文和代码已完成&#xff0c;代码为C题全部问题的代码&#xff0c;论文包括摘要、问题重述、问题分析、模型假设、符号说明、模型的建立和求解&#xff08;问题1模型的建立和求解、问题2模型的建立和求解、问题3模型的建立和求解&#xff09;、模型的评价…

激光雷达在AGV(自动化导引车)中的应用

激光雷达在AGV&#xff08;自动化导引车&#xff09;中的应用主要体现在智能导航和避障功能上&#xff0c;具体来说有以下几个方面&#xff1a; 精确导航&#xff1a;激光雷达能够实时扫描周围环境&#xff0c;建立详细的三维地图&#xff0c;并与AGV的定位系统相结合&#xf…

如何利用Ubuntu服务器运行深度学习项目?

一、整体思路 先配置好服务器端的软件环境&#xff08;工程源码&#xff0c;miniconda&#xff0c;cuda&#xff0c;显卡驱动等&#xff09;&#xff0c;然后用自己电脑的pycharm远程连接服务器运行代码。一句话总结&#xff1a;借用服务器资源运行代码&#xff0c;本地pycharm…

Linux —— 线程同步

Linux —— 线程同步 死锁线程同步条件变量pthread_cond_waitpthread_cond_signal初始状态为什么之后会“阻塞”如何修改以持续运行 pthread_cond_broadcast 条件变量的接口抢票模拟 我们今天接着来了解线程&#xff1a; 死锁 死锁&#xff08;Deadlock&#xff09;是计算机科…

配置旁挂二层组网直接转发示例(命令行)

业务需求 企业用户通过WLAN接入网络&#xff0c;以满足移动办公的最基本需求。且在覆盖区域内移动发生漫游时&#xff0c;不影响用户的业务使用。 组网需求 AC组网方式&#xff1a;旁挂二层组网。DHCP部署方式&#xff1a; AC作为DHCP服务器为AP分配IP地址。汇聚交换机SwitchB作…

《Effective Objective-C 2.0》读书笔记——熟悉Objective-C

目录 第一章&#xff1a;熟悉Objective-C第1条&#xff1a;了解Objective-C语言的起源第2条&#xff1a;在类的头文件中尽量少引入其他头文件第3条&#xff1a;多用字面量语法&#xff0c;少用与之等价的方法第4条&#xff1a;多用类型常量&#xff0c;少用#define预处理指令第…

记录docker ps查找指定容器的几个命令

1.docker ps | grep registry 查询包含registry的容器 2.docker ps | grep -E "reigistry\s" 开启正则匹配模式&#xff0c;匹配registry后面为空格的容器&#xff0c;若是匹配一整行可以这样写docker ps | grep -E "^([0-9a-f]{12})\sregistry\s.*" 这…

Nacos 2.x 系列【2】单机部署

文章目录 1. 准备工作2. Windows2.1 下载2.2 目录 & 文件2.3 启动2.4 控制台 3. Linux&#xff08;CentOS&#xff09; 1. 准备工作 Nacos服务端支持三种部署模式&#xff1a; 单机模式&#xff1a;用于测试和单机试用。集群模式&#xff1a;用于生产环境&#xff0c;确保…

Elasticsearch集群和Logstash、Kibana部署

1、 Elasticsearch集群部署 服务器 安装软件主机名IP地址系统版本配置ElasticsearchElk10.3.145.14centos7.5.18042核4GElasticsearchEs110.3.145.56centos7.5.18042核3GElasticsearchEs210.3.145.57centos7.5.18042核3G 软件版本&#xff1a;elasticsearch-7.13.2.tar.gz 示…

Little Snitch for Mac(小飞贼防火墙软件)v5.7.6注册激活版

Little Snitch for Mac&#xff0c;也被称为“小飞贼”防火墙软件&#xff0c;是一款专为Mac用户设计的网络安全工具。以下是关于Little Snitch for Mac的一些主要特点&#xff1a; Little Snitch for Mac(小飞贼防火墙软件)v5.7.6注册激活版下载 强大的监控能力&#xff1a;Li…

Spring框架中获取方法参数名称:DefaultParameterNameDiscoverer

DefaultParameterNameDiscoverer 是Spring框架中用于获取方法参数名称的一个类。在Java中&#xff0c;方法的参数名称通常在编译时会丢失&#xff0c;因为Java字节码并不强制要求保留这些信息。Spring提供了一种机制来恢复这些参数名称&#xff0c;这就是通过DefaultParameterN…