Linux-用户管理

Linux的用户

用户是必须的吗

用户:标识计算机上的资源的归属

保存账号或密码的数据库文件

/etc/passwd:保存系统中的全部用户名

/etc/group:保存系统中的全部用户组名

/etc/shadow:保存系统中的各个用户的密码

/etc/gshadow:保存系统中的各个用户组的密码

用户和用户组

用户:登录系统的用户名

用户组:多个用户的集合

用户组的作用:方便多个用户的批量管理

用户身份标识

计算机每一个用户设置唯一数字

当计算机识别用户的时候,识别的是数字

这个数字是用户的uid

用户组的身份标识:gid

/etc/passwd文件详解

root:x:0:0:root:/root:/bin/bash

第一段:用户名

第二段:密码占位符,为了安全,放到了另一个文件中(/etc/shadow)

第三段:用户的uid

第四段:用户的gid

第五段:用户的描述信息

第六段:用户的家目录

第七段:用户的shell类型

注意点:这个文件的每一行都是一个用户

常见的shell类型

/bin/bash:默认的shell类型,可以登录系统

/sbin/nologin:无法登录系统

用户的分类

一、管理员用户

uid:0

特点:1、默认只有一个,就是root;2、root用户没有任何的权限约束

二、系统用户

uid:1-999

特点:

1、在Linux安装完成后或安装某个程序自动生成的用户;

2、这类用户默认无法登录系统

三、普通用户

uid:1000+

特点:

1、需要命令来创建

2、普通用户的权限非常小,通常仅仅只能在自己的家目录下进行操作

3、默认该用户的家目录是在/home下和用户同名的目录

用户组分类

用户的基本组

在/etc/passwd中的第四段的gid,所指的就是用户的基本组

用户的附加组

除主组以外的组,就是附加组

注意点

1、一个用户可以属于多个组

2、一个用户只能有一个主组,其他就是附加组

3.在用命令创建用户的时候,默认会创建一个组,这个组名和用户名是相同的(默认该组就是用户的主组)

Linux的文件的属性

属主:文件属于谁,谁创建的文件,文件的属组就是谁

属组:设置文件对一个特定用户组所有的权限

属主、属组默认只有一个

如果这个用户不属于属主和属组,那个这个用户就是属于其他用户

三类用户

属主

属组

其他用户

创建用户

命令:useradd

作用:创建新用户

格式:useradd [选项] 用户名

选项

-c "string":设置新用户的描述信息

-d 目录路径:设置用户的家目录

-g gid:这只用户的gid

-G gid:指定用户的附加组

-m:在创建用户的时候,如果家目录不存在,则创建用户的家目录(默认使用该选项)

-M:不自动创建用户的家目录

-r:创建系统用户

此选项创建用户的特点

1、默认该用户能登录系统;2、默认用户无家目录;3、用户uid<999;4、shell类型是:/bin/bash

-s shtype:指定用户的shell类型

sell类型:

/bin/bash

/sbin/nologin

-u uid:指定用户的uid

groupadd命令

作用:新建用户组

格式:groupadd 组名

选项

-g:指定用户组的组id

例:新建一个组,组id是1002

groupadd -g 1002 组名

id命令

作用:显示指定用户的id信息

格式:id [选项] 用户名

选项

-u:显示用户的uid

-g:显示用户的gid

-G:显示用户的全部组id

passwd命令

作用:修改用户的密码(也可以给用户设置密码)

格式:passwd [选项] 用户名

passwd 用户名 :修改指定用户的密码

passwd:修改当前用户的密码

默认只有root(管理员用户)能修改其他用户的密码,其他用户只能修改自己的密码

选项

-l:锁定用户(只有root用户才能进行此操作)

-u:解锁用户

userdel命令

作用:删除用户

格式:userdel 选项 用户名

选项

-r:再删除用户的时候,同时删除用户的家目录

usermod命令

作用:修改用户的基本信息

格式:usermod 选项 用户名

选项

-g:修改基本组(如果这个组不存在,要先创建这个组)

-G:修改附加组

-u:修改用户的uid

-c:修改用户的描述信息

-d:修改用户的家目录

-s:修改用户的shell类型

-l:修改用户的用户名

su命令

作用:切换用户

选项

-c:普通用户用管理员身份执行命令 "

例:su -c"touch /tmp/aa" root

注意点:su命令切换用户后,返回需要执行命令:exit

权限

r:读、w:写、x:执行

文件的权限

r:可以执行cat、head等命令读取文件中的内容

w:可以用vi/vim或重定向等操作向文件中写入内容或修改内容

x:可以执行文件

目录的权限

r:可以执行ls命令,查看目录下的文件

w:可以在目录执行文件创建和删除等操作

x:可以执行cd命令

用户的角色

属主用户:u

属组用户:g

其他用户:o

全部用户:a

文件权限位

-rw-r--r--

解释说明

-  :文件类型:一般文件(d:目录文件;l:链接文件)

rw- :属主的权限,具有读写的权限(2-4位)

r--   :属组的权限,具有读权限(5-7位)

r--   :其他用户的权限,具有读权限(8-10位)

注意点:

每一类用户的权限顺序都是:读、写、执行

如果有相对应的权限,就会出现相对应的字符,没有则会显示-

chown命令

作用:修改文件的属主

格式:chown username 选项 filename

选项

-R:在修改目录的时候,将目录下的文件一并修改

例:修改a.txt文件的属主为tom

chown tom a.txt

chgrp命令

作用:修改文件的属组

格式:chgrp username 选项 filename

选项

-R:在修改目录的时候,将目录下的文件一并修改

例:修改a.txt文件的属组为root

chgrp root a.txt

chmod命令

作用:修改文件的权限

格式:chmod 赋权 文件名

方式

+:增加权限(在原有的基础上增加)

例:chmod o+w a.txt    给其他用户增加写的权限

-:去除权限(在原有的基础上去除)

例:chmod a-w a.txt    给属主用户减去写的权限

=:将权限修改为指定的权限(与原权限无关)

例:chmod a=w a.txt    给全部用户修改为写的权限

数字表示权限

0:无权限

1:执行权限

2:写权限

4:读权限

注意点

如果是一个数字修改的是其他用户

如果是两个数字修改的是其他用户和属组

如果是三个数字修改的是属主、属组和其他用户

用户家目录模版:/etc/skel

新用户的家目录的生成

将/etc/skel复制到/home下,改名与新用户名相同

将这个目录的属主、属组改为该用户

将目录的权限改为700

/etc/login.defs:控制新建用户的默认属性

#QMAIL_DIR       /var/spool/mail

制定新用户的邮箱位置

PASS_MAX_DAYS    99999

新用户密码最长有效期

PASS_MIN_DAYS  0

新用户修改密码的最短时间

PASS_MIN_LEN   5

用户的密码最短长度

PASS_WARN_AGE  7

密码到期前警告时间长度

UID_MIN

新建用户的默认uid最小值

UID_MAX

新建用户的默认uid最大值

CREATE_HOME

默认创建家目录

USERGROUPS_ENAB

当前用户组中没有用户,是否删除用户组

ENCRYPT_METHOD SHA512

指定加密算法

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

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

相关文章

字节面试:百亿级数据存储,怎么设计?只是分库分表吗?

尼恩&#xff1a;百亿级数据存储架构起源 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;经常性的指导小伙伴们改造简历。 经过尼恩的改造之后&#xff0c;很多小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试机会&#xff0c…

【LeetCode】【5】最长回文子串

文章目录 [toc]题目描述样例输入输出与解释样例1样例2 提示Python实现动态规划 个人主页&#xff1a;丷从心 系列专栏&#xff1a;LeetCode 刷题指南&#xff1a;LeetCode刷题指南 题目描述 给一个字符串s&#xff0c;找到s中最长的回文子串 样例输入输出与解释 样例1 输入…

数据结构时间复杂度是什么

时间复杂度&#xff08;Time Complexity&#xff09;是一个算法在输入规模变化时运行时间增长情况的度量方式。它通常用大 (O) 记号&#xff08;Big-O notation&#xff09;表示&#xff0c;描述的是最坏情况下算法运行时间的上限。时间复杂度帮助我们理解算法在处理不同规模的…

AI赋能C++:结构体

C中的结构体&#xff08;struct&#xff09;是一种复合数据类型&#xff0c;允许你组合不同类型的数据项&#xff08;成员变量&#xff09;到一个单一的单元中。结构体在概念上类似于类&#xff0c;但默认情况下&#xff0c;结构体的所有成员都是公有的&#xff08;public&…

文件上传安全指南:保护免受不受限制的文件上传攻击

文件上传安全指南&#xff1a;保护免受不受限制的文件上传攻击 在现代应用程序中&#xff0c;文件上传功能是一个常见且重要的部分。然而&#xff0c;这也为攻击者提供了潜在的攻击向量&#xff0c;尤其是不受限制的文件上传攻击。本文将详细介绍如何通过一系列安全措施来保护…

安全设计 | Microsoft 威胁建模工具Threat Modeling Tool安装及使用详解(文末附样例)

1. 概览 微软威胁建模工具&#xff08;Threat Modeling Tool&#xff09;是 Microsoft 安全开发生命周期 (SDL&#xff0c;Security Develop LifeCycle) 的核心要素。 当潜在安全问题处于无需花费过多成本即可相对容易解决的阶段&#xff0c;软件架构师可以使用威胁建模工具提…

linux系统防火墙开放端口命令

目录 linux相关命令参考文章1.开放端口1.1 开发单个端口1.2 一次性开放多个端口 2.保存设置3.查看所有开放的端口4.查看防火墙状态 linux相关命令参考文章 管理、设置防火墙规则&#xff08;firewalld&#xff09;: https://download.csdn.net/blog/column/8489557/137911049 i…

Springboot 自定义线程池 ThreadPoolTaskExecutor

场景 假设 需要使用多线程清理es中的历史数据 知识 参数解释&#xff1a; corePoolSize&#xff08;核心线程数&#xff09;&#xff1a;线程池中的核心线程数量&#xff0c;即使线程池处于空闲状态&#xff0c;这些核心线程也不会被销毁。maximumPoolSize&#xff08;最大…

Android 获取内外SD卡路径

方法一&#xff1a;使用Environment类和反射 获取内置SD卡路径&#xff1a; 通过Environment.getExternalStorageDirectory().getAbsolutePath()或者System.getenv("EXTERNAL_STORAGE") 获取外置SD卡路径&#xff1a; String extSdcardPath System.getenv("SEC…

打造AI虚拟伴侣 - 优化方案

第一部分:框架优化概述 1、精确定位: 构建一个高度灵活且用户友好的平台,旨在通过无缝集成多种大型语言模型(LLMs)后端,为用户创造沉浸式的角色交互体验。不仅适配电脑端,还特别优化移动端体验,满足二次元AI虚拟伴侣市场的特定需求。 2、核心功能强化: 增强后端兼容…

一起学习大模型 - 从底层了解Token Embeddings的原理(1)

文章目录 前言1. Token Embeddings简介2. 实现原理2.1 步骤2.2 伪代码2.2.1 代码2.2.2 输出示例2.2.3 代码详细解释2.2.4 实际应用 3. 选用高维向量的好处是什么3.1 捕捉语义关系3.2 处理多义词3.3 提升模型性能3.4 平滑数据稀疏性 前言 大家在使用离线或在线的Token Embeddin…

每日练习之深度优先搜索——最大的湖

最大的湖 题目描述 运行代码 #include<iostream> using namespace std; bool mp[102][102]; int sum,num; int N,M,K; int dfs(int x,int y ) {if( mp[x][y] ){mp[x][y]0;sum;dfs(x1,y);dfs(x-1,y);dfs(x,y1);dfs(x,y-1);}return 0; } int main() {cin>>N>>…

【每日一题】52.20个机器学习问题 2 (模型部署、实践流程和应用问题)

在上一篇《20个机器学习问答题》中&#xff0c;问题主要围绕机器学习的基础概念和理论知识。 这次&#xff0c;本篇内容针对机器学习的实践和应用继续提出了20个不同的问题。【点击跳转原文】 在实际应用中&#xff0c;机器学习模型的建立流程是怎样的&#xff1f; 机器学习模…

使用delphi11编写一个基于xls作为数据库的照片展示程序

1、创建xls文档可以参考前一篇博客&#xff0c;并使用wps将文档保存为2003格式xls后缀。 2、在form上面放置adoconnection、adotable、datasource、spinedit、timer、checkbox、image、4个button组件。 image的设置&#xff1a; Image1.Align : alClient; Image1.Center : Tr…

2024年,企业的人才管理怎么做?这5点是关键!

当今时代&#xff0c;各行各业都面临着激烈的竞争。这些竞争归根结底都是人才的竞争。企业若想在竞争中掌握主动权&#xff0c;实现基业长青&#xff0c;就必须努力留住人才&#xff0c;并充分发挥他们的积极性、主动性和创造性。因此&#xff0c;做好人才管理是企业实现长期可…

如何找到docker的run(启动命令)

使用python三方库进行 需要安装python解释器 安装runlike安装包 pip3 install runlike 运行命令 runlike -p <container_name> # 后面可以是容器名和容器id&#xff0c;-p参数是显示自动换行实验 使用docker启动一个jenkins 启动命令为 docker run -d \ -p 9002:80…

机器学习 - 特征监控

特征监控的定义 特征监控是机器学习模型在生产环境中持续监控输入特征的过程&#xff0c;确保输入数据特征的分布和性质与模型训练时一致&#xff0c;从而保证模型在生产环境中的表现稳定和可靠。特征监控通过检测数据的漂移、变化和异常&#xff0c;帮助识别潜在的问题并采取…

无线领夹麦克风哪个品牌音质最好,揭秘无线领夹麦哪个牌子好用

​随着社交媒体和内容创作的兴起&#xff0c;清晰可靠的音频捕捉已成为打造高品质作品的关键要素。无线领夹麦克风因其轻巧设计和用户友好的接口而受到青睐&#xff0c;它能够确保你的声音在任何环境下都能被完美捕捉。经过精心测试和对比&#xff0c;以下几款无线领夹麦克风是…

Socket CAN中ctrlmode有哪些?

在Linux中,socketcan 的 ctrlmode 是一个用于配置CAN设备控制模式的标志字段。该字段的值由一组标志位组成,这些标志位控制CAN设备的各种操作模式。以下是一些常见的 ctrlmode 标志及其含义: CAN_CTRLMODE_LOOPBACK: 描述:启用回环模式。作用:设备在发送帧的同时会接收它…

大数据学习之安装并配置maven环境

什么是Maven Maven字面意&#xff1a;专家、内行Maven是一款自动化构建工具&#xff0c;专注服务于Java平台的项目构建和依赖管理。依赖管理&#xff1a;jar之间的依赖关系&#xff0c;jar包管理问题统称为依赖管理项目构建&#xff1a;项目构建不等同于项目创建 项目构建是一…