~~~~~不得不会的账号与权限管理小知识

news2024/10/5 21:25:18

目录

  • 一.用户账号和组账号概述
  • 二. useradd添加用户账号
  • 三. passwd 修改密码
  • 四. 修改用户账户的属性
  • 五 . userdel 删除用户账号
  • 六. 用户账号的初始配置文件
  • 七. 组账号文件
  • 八 . 文件/目录的权限及归属
    • 8.1设置文件和目录的权限chmod
    • 8.2 设置文件和目录的归属chown命令
    • 8.3 补充扩展:特殊权限SBIT(t)
  • 九. umask 设置目录和文件的默认权限
  • 九. 总结

一.用户账号和组账号概述

1.1 用户账号:

  1. 超级用户: root用户是Linux操作系统中默认的超级用户账号,对本主机拥有最高的权限,系统中超级用户是唯一的。
  2. 普通用户: 由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限。
  3. 程序用户: 在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某个程序的正常运行,如bin、daemon、ftp、mail等。

1.2 用户标识UID
root用户账号的UID固定值0
程序用户账号的UID默认为Centos5,6: 1~499,Centos7: 1 ~999
普通用户的UID默认为Centos5, 6: 500~ 60000,Centos7: 1000~ 60000

1.3 用户账户文件
作用:保存用户名称、宿主自录、登录Sell等基本信息,每一行对应一个用户的帐号记录
/etc/passwd :保存用户名称、宿主自录、登录Sell等基本信息
/etc/shadow:保存用户的账号、密码等有效信息

/etc/passwd :
在这里插入图片描述基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改。在早期的UNIX操作系统中,用户帐号的密码信息是保存在passwd文件中的,不法用户可以很容易的获取密码字串并进行暴力破解,因此存在一 定的安全隐患。后来经改进后,将密码转存入专门的shadow文件中, 而passwd文件中仅保留密码占位符“x”。

某条记录格式:root: x :0:0:root:/root:/bin/bash

字段一:用户账户的名称
字段二:密码占位符
字段三:用户账户的UID
字段四:用户账户的GID

字段五:用户全名
字段六:用户的家目录
字段七:登入shell信息(默认为/bin/bash可登入,/sbin/nologin或/bin/fasle为不可登入)

/etc/shadow
在这里插入图片描述每一行对应一个用户的密码记录。 默认只有root用户能够读取文件中的内容,而不允许直接编辑该文件中的内容。

格式:root:$6 8 Q M 16 a J R / 4 F T S Z u 0 8QM16aJR/4FTSZu0 8QM16aJR/4FTSZu0eX78jr5oZLw4ojjrROTKehaXR2QVbQBDnhf32a.DxYmFpmiXkUTzsoxeW1CqKF7BNNpYmsroYCYRcqjRhlb2s/::0:99999:7:::

字段一:用户账户的名称
字段二:使用SHA512加密的密码字串信息,当为“*” 或“! !”时表示此用户不能登录到系统。,若该字段内容为空,则该用户无须密码即可登录系统;
字段三:上次修改密码的时间,表示从1970年01月01日算起到最近一次修改密码时间隔的天数;
字段四:密码的最短有效天数,自本次修改密码后,必须至少经过该天数才能再次修改密码。默认值为0,表示不进行限制;
字段五:密码的最长有效天数,自 本次修改密码后,经过该天数以后必须再次修改密码。默认值为99999, 表示不进行限制;
字段六:提前多少天警告用户密码将过期,默认值为7;
字段七:在密码过期之后多少天禁用此用户;
字段八:帐号失效时间,此字段指定了用户作废的天数(从1970年01月01日起计算),默认值为空,表示账号永久可用;
字段九:保留,没有特殊含义

二. useradd添加用户账号

格式:useradd 【选项】 用户名

选项作用
-u指定用户的UID号,要求该UID号码未被其他用户使用
-d指定用户的宿主目录位置(当与-M一起使用时,不生效)只能用绝对路径指定目录,且不需要事先创建目录
-e指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式
-g指定用户的基本组名(或使用GID号),对应的组名必须已存在
-G指定用户的附加组名(或使用GID号),对应的组名必须已存在
-M不建立宿主目录。(一般用于系统用户账号)
-s指定用户的登录Shell,(比如/bin/bash为可登陆系统,Isbin/nologin和/bin/false为禁止用户登陆系统)

实验
例如:创建一个用户,设置uid为1200,失效时间为2023年12月31号,指定他的基本组与附加组,设置家目录在opt下为666,不让他登入

在这里插入图片描述

三. passwd 修改密码

格式:passwd 【选项】… 用户名

选项作用
-d清空指定用户的密码,仅使用用户名即可登录系统
-l锁定用户账户,锁定的用户账号将无法再登录系统。(一定要事先设好密码)
-S查看用户账户的状态(是否被锁定)。
-u解锁用户账户

不指用户名时,默认修改当前账户的密码
在这里插入图片描述
修改的时候会发现打了不显示,这个其实是一种安全机制,放心其实你因为输入进去了

四. 修改用户账户的属性

格式:usermod [选项]… 用户

选项作用
-l更改用户账号的登录名称 格式:usermod -l 新名称 旧名称
-L锁定用户账户
-U解锁用户账户

-u,-d,-e,-g,-G,-s 与useradd命令中含义相同

在这里插入图片描述在这里插入图片描述

五 . userdel 删除用户账号

格式:userdel [-r] 用户名
添加-r 选项,表示连用户的宿主目录一并删除

在这里插入图片描述

六. 用户账号的初始配置文件

在这里插入图片描述

/etc/profile 对所有用户有效,全局系统环境变量配置文件,主要用于设置开机后自动执行的命令和环境变量设置
只会在系统启动后任意用户每次登入执行一次,或者使用source /etc/profile 手动加载生效
/etc/bashrc 对所有用户有效
也是可以用来设置自动执行的命令和环境变量设置
会在任意每次登录或者切换shell环境(su,bash等)都会执行
~/.bashrc_profile
只对家目录的用户有效
效果类似于/etc/profile
会调用~/.bashrc
~/.bashrc
只对家目录的用户有效
会调用/etc/bashrc

七. 组账号文件

在这里插入图片描述操作
在这里插入图片描述创建组group命令
在这里插入图片描述设置组账号密码 , 添加删除组成员
在这里插入图片描述删除组
格式: groupdel 组名
在这里插入图片描述查询账号信息
groups [用户名] 查询用户所属组
id [用户名] 查询用户身份标识

在这里插入图片描述查询用户账号的登录属性—finger命令
需要先安装finger
在这里插入图片描述查询当前主机的用户登录情况—w命令、who命令、
在这里插入图片描述

八 . 文件/目录的权限及归属

在Linux文件系统的安全模型中,为系统中的文件赋予了两个属性:访问权限和文件所有者,简称“权限”和“归属”。其中访问权限包括读取、写入、可执行三种基本类型,归属包括属主(拥有该文件的用于账号)、属组(拥有该文件的组账号)。Linux系统根据文件和目录的访问权限、归属来对用户访问数据的过程进行控制。

[yxp@yxp root]$ ll /etc/passwd
-rw-r--r--. 1 root root 2387 93 22:57 /etc/passwd

在这里插入图片描述查看文件/目录的权限和归属
在这里插入图片描述

8.1设置文件和目录的权限chmod

在这里插入图片描述在这里插入图片描述在这里插入图片描述

8.2 设置文件和目录的归属chown命令

在这里插入图片描述在这里插入图片描述

8.3 补充扩展:特殊权限SBIT(t)

SBIT权限只能用于对目录进行设置,使指定目录中的文件或目录只有所有者才能删除文件或目录

在这里插入图片描述

九. umask 设置目录和文件的默认权限

在这里插入图片描述unmask作用:

设置目录和文件的默认权限;
指定目前用户在新建文件或目录时的权限默认值;
新建的文件或者目录的权限为默认最大权限减去umask(普通文件的最大默认权限为6,目录的最大默认权限为7)

在这里插入图片描述注释:文件是没有执行权限的

九. 总结

用户账号管理(useradd, passwd,usermod,userdel)
组账号管理(groupadd , groupdel ,gpasswd)
用户账号文件与组账号文件
查询账号相关信息命令( groups , id ,w , finger ,who ,)
设置目录与文件权限(chmod)
设置目录与文件归属(chown)
设置文件与目录创建默认权限(umask)

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

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

相关文章

JAVA本地监听与远程端口扫描的设计与开发

随着Internet的不断发展,信息技术已成为社会进步的巨大推动力。不管是存储于服务器里还是流通于Internet上的信息都已成为一个关系事业成败的关键,这就使保证信息的安全变得格外重要。本地监听与远程端口扫描程序就是在基于Internet的端口扫描的基础上&a…

Optional类快速上手

目录 一、概述 二、使用 1、创建对象 2、安全消费值 3、安全获取值 4、过滤 5、判断 6、数据转换 一、概述 我们在编码的时出现最多的就是空指针异常,所以在很多情况下我们需要做各种非空的判断。 尤其是对象中的属性还是一个对象的情况下,这种…

Doris(3):创建用户与创建数据库并赋予权限

Doris 采用 MySQL 协议进行通信,用户可通过 MySQL client 或者 MySQL JDBC连接到 Doris 集群。选择 MySQL client 版本时建议采用5.1 之后的版本,因为 5.1 之前不能支持长度超过 16 个字符的用户名。 1 创建用户 Root 用户登录与密码修改 Doris 内置 ro…

从C出发 19 --- 函数定义细节剖析

因为编译器是自上而下执行代码的,当编译到 paw2 的时候不知道是什么东西,看起来像一个函数但是前面的代码没有发现它,这个时候编译器就会报错 为了防止编译器报错 应该在调用前先声明 ,注意声明的三要素 声明的作用: 让编译器先…

# 切削加工形貌的相关论文阅读【1】-球头铣刀铣削球面的表面形貌建模与仿真研究

切削加工形貌论文【1】-球头铣刀铣削球面的表面形貌建模与仿真研究1. 论文【2】-球头铣刀加工表面形貌建模与仿真1.1 切削加工形貌仿真-考虑的切削参数1.2 其他试验条件1.3 主要研究目的1.4 试验与分析结果1.5 面粗糙度的评价指标2. 论文【1】-球头铣刀加工球面(曲面…

Flutter Row 实例 —— 新手礼包

大家好,我是 17。 本文在 3.31 日全站综合热榜第一。 新手礼包一共 3 篇文章,每篇都是描述尽量详细,实例讲解,包会! Flutter Row 实例 —— 新手礼包Flutter TextField UI 实例 —— 新手礼包Flutter TextField 交…

CDN如何成为大站标配?

在当下的互联网应用中充斥了大量的静态内容,这些静态和准动态内容在访问请求中占据了大量的网络资源,如果这些请求全部指向源站服务器,很容易导致网络的拥塞甚至是服务器的宕机,对正常的业务开展造成严重影响。为了解决这种情况&a…

共享电子邮件的运作方式

通过电子邮件共享,您可以使用评论轻松管理围绕电子邮件展开的讨论,而无需多次转发和回复。这提供了一种轻松的方式,让您可以通过电子邮件与同事分享信息,并获得他们对此的意见/反馈/建议。 电子邮件共享的运作方式 您收到或发送的…

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

场景 目前市面上有很多开源的流媒体服务器解决方案,常见的有SRS、EasyDarwin、ZLMediaKit和Monibuca等。 1、SRS GitHub - ossrs/srs: SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH and …

【linux】 安装 java 环境

目录1.检查linux 下是否安装java(jdk)环境2.查看 linux 的操作系统版本3.下载jdk4.新建java文件夹用于安装jdk5.将下载到本地的jdk压缩包上传到linux服务器6.配置环境变量1.检查linux 下是否安装java(jdk)环境 可通过下面五条命令来查看linux 系统是否安装了java 环境 1、java …

$ZZZ 以 Launchpad 形式多平台首发,GoSleep 成 Sleep to Earn 叙事成 X2E 新宠

“ GoSleep 的治理代币 $ZZZ 将以 Launchpad 形式登录 Bitget、Gate.io以及MXC,这或许预示着 Sleep to Earn 叙事或成 X2E 新宠” “Sleep to Earn” 成为 X2E 市场新发力点 StepN 在去年为 X2E 赛道做了一个很好的示范,这也让这个领域不再仅仅局限于基于…

HarmonyOS/OpenHarmony应用开发-Stage模型ArkTS语言Ability基类

Ability模块提供对Ability生命周期、上下文环境等调用管理的能力,包括Ability创建、销毁、转储客户端信息等。 说明: 模块首批接口从API version 9 开始支持。模块接口仅可在Stage模型下使用。 导入模块: import Ability from ohos.app.ability.Ability; 接口说明…

虚拟化技术:实现资源高效利用和灵活管理的利器

虚拟化技术是一种通过软件或硬件手段,将物理资源抽象化,从而创建虚拟资源的技术。这种技术可以应用于计算、存储、网络等领域,通过将物理资源划分为多个虚拟资源,使得多个应用程序或用户可以共享同一组物理资源,从而提…

面试官:说说Java、Spring、Dubbo三者SPI机制的原理和区别

今天来跟大家聊一聊Java、Spring、Dubbo三者SPI机制的原理和区别。 其实我之前写过一篇类似的文章,但是这篇文章主要是剖析dubbo的SPI机制的源码,中间只是简单地介绍了一下Java、Spring的SPI机制,并没有进行深入,所以本篇就来深入…

数据结构2:顺序表和链表

目录 1.线性表 2.顺序表 2.1概念及结构 2.2接口实现 2.3数据相关面试题 2.4顺序表的问题及思考 3.链表 3.1链表的概念及结构 3.2链表的分类 3.3链表的实现 3.4链表面试题 3.5双向链表的实现 4.顺序表和链表的区别 1.线性表 线性表(linear list&#x…

Qt QImage scaled方法缩放中的问题

最近在某些测试中发现,QImage 先按照一定的比例进行缩放,在对QImage对象进行绘制等操作后,使用以下的方式将其恢复到其原来的尺寸。 图像的缩放是这样的: void ImageBaseWidget::zoomImage(QMouseEvent *event) {if (event->…

传输层协议——TCP协议

传输层协议——TCP协议认识IP地址TCP/IP的分层管理TCP/IP分层通信示例(发送数据包)认识IP地址 IP地址属于网络层地址 在计算机通信中,为了识别通信对端,必须有一个类似于地址的识别码进行标识。IP地址用于在连接到网络中的所有主…

利用seaborn、statannotations库绘制显著性标注

如何使用Python-SeabornSeaborn进行显著性统计图表绘制,详细内容如下: Python-Seaborn自定义函数绘制Python-statannotations库添加显著性标注 1、Python-Seaborn 自定义函数绘制 import matplotlib.pylab as plt import numpy as np import seaborn as…

Spring Cloud组件源码之LoadBalancer源码分析

" Spring 到底是春天的来临万物复苏,还是春转夏的干燥又炎热呢?" Spring的来临让JavaEE走向了另一个高度。便捷的开发,完美的生态。物极必反,学习Spring的成本越来越低,导致Java程序员越来越密集&#xff0…

1、Windows下编译并搭建AzerothCore服务端

目录前言一、AzerothCore下载二、mysql安装三、boost安装四、OpenSSL安装五、CMake下载六、CMake编译1 - CMake生成vs项目2 - vs项目设置3 - 生成解决方案4 - 安装AzerothCore5 - 添加账号6 - 修改服务器名称7 - 修改客户端的服务器地址前言 客户端对应版本:魔兽世…