云计算【第一阶段(17)】账号和权限管理

news2024/10/23 2:43:54

目录

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

1.1、用户账号的三种角色

1.2、组账号的两个角色

二、用户账号文件

2.1、/etc/passwd

 2.2、/etc/shadow

2.3、chage 命令

三、组账号文件

3.1、/etc/group

3.2、/etc/gshadow

四、添加组账户

4.1、添加删除组成员

4.2、删除组账号

五、添加用户账号

5.1、用户账号的初始配置文件

5.2、删除用户账号

5.3、设置更改用户

六、修改用户账号的属性

七、查询账号信息

八、查询已登录到主机的用户信息

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

9.1、设置文件和目录的权限

9.2、设置文件和目录的归属


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

linux是基于用户身份对资源访问进行控制的可以以用户账号和组账号作为划分

1.1、用户账号的三种角色

  • 超级用户: root 用户是 Linux 操作系统中默认的超级用户账号,对本主机拥有最高的权限,类似于 Windows 操作系统中的 Administrator 用户。只有当进行系统管理、维护任务时,才建议使用 root 用户登录系统,日常事务处理建议只使用普通用户账号。root 拥有对系统的最高的管理权限 ID=0。
  • 普通用户:普通用户账号需要由 root 用户或其他管理员用户创建,拥有的权限受到一定限制,一般只在用户自己的宿主目录中拥有完整权限
    系统用户 UID:1-999(centos7 版本) 1-499(centos6 版本) 
    UID:即每个用户的身份标示,类似于每个人的身份证号码.
  • 程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运 行,如 bin、daemon、ftp、mail 等
    伪用户 一般不会用来登录系统的,它主要是用于维持某个服务的正常运行.如:ftp,apache等

1.2、组账号的两个角色

基本组(私有组)
附加组(公共组)

GID表示的组的id

管理员组: 0
    普通组:
    系统组:1-499(CentOS6)|1-999(CENTOS7)
    普通组:500+(CentOS6) | 1000+(CENTOS7)

基本组:基于某种特定联系(如都需要访问 FTP 服务)将多个用户集合在一起,即构成一个用户组,表示该组内所有用户的账号称为组账号。每一个用户账号至少属于一个组,这个组称为该用户的基本组(或私有组);

附加组:若该用户同时还包含在其他的组中,则这些组称为该用户的附加组(或公共组)。

简单的说
用户和组的关系
用户 是员工  组 是职位
员工 可以兼职多个岗位
总有一个最重要的身份 基本组 必须要一个组  有且唯一
附加组 可有可无 有可以有多个
默认行为当你创建一个新用户时会自动创建一个和用户名称同名的主组(基本组)

二、用户账号文件

2.1、/etc/passwd

保存用户名称,宿主目录,登录shell等基本信息
文件位置:/etc/passwd
每一行对应一个用户的账号记录,针对查找可以用grep过滤查找

  • root:用户名,用户名仅是为了方便用户记忆。
  • x:表示此用户设有密码,但不是真正的密码,真正的密码保存在/etc/shadow文件
  • 0:用户账号的 UID 号。
  • 0:所属基本组账号的 GID
  • root:描述性信息,此字段只是用来解释这个用户的意义而已
  • /root:宿主目录,即该用户登录后所在的默认工作目录
  • /bin/bash 登录Shell 等信息,用户完成登录后使用的 

补充:

Linux系统是通过UID来识别用户身份,分配用户权限。
Linux系统把真正的加密密码串放置在/etc/shadow文件中,此文件只有root用户可以浏览和操作,最大限度地保证了密码的安全。
注意!,虽然"x"并不表示真正的密码,但也不能删除,如果删除了 "x",那么系统会认为这个用户没有密码,从而导致只输入用户名而不用输入密码就可以登陆(只能在使用无密码登录,远程是不可以)。
注:宿主目录通常称为用户的主(家)目录。

例如:root主目录为/root,普通用户odysee的主目录为/home/odysee

 2.2、/etc/shadow

保存用户的密码,账号有效期等信息
影子文件,和 /etc/passwd 文件一样,文件中每行代表一个用户,同样使用 ":" 作为分隔符,不同之处在于,每行用户信息被划分为 9 个字段。
/etc/shadow 文件只有 root 用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性。

  • 第一列:账户名
  • 第二列:存放正加密的密码,采用SHA512散列算法,更加安全  加密原来用MD5 或 DES!!和*表示没有密码不能登陆,新创建用户也是!!,如果密码前面显示双感叹号表示该账户被锁定了
  • 第三列:上一次修改密码的时间,从1970年1月1日开始算的,因为1970年是linux的诞生日,date -d "1970-01-01 18983  days"可以查看哪一天改过
  • 第四列:多久之后才可以修改密码,如果是 0,则密码可以随时修改
    最小修改间隔时间 ,也就是说 该字段规定了从第三个字段(最后一次修改密码的日期)起,多长时间之内不能修改密码,如果是0 则随时修改密码,如果是10 则代表密码修改后10天之内不能再次修改密码,此字段是为了针对某些人频繁更改账号密码而设计的。
  • 第五列:密码有效期,默认99999(273年),表示永久生效
  • 第六列:密码到期前的第几天发出告警信息,默认是7天,每次登录系统都会向该账户发出 "修改密码" 的警告信息
  • 第七列:密码过期的宽限天数,过期后的几天还是可以登陆的,如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,是完全禁用比如说,此字段规定的宽限天数是10,则代表密码过期10天后失效;如果是0 则代表密码过期后立即失效;如果是 -1 则代表密码永远不会失效

  • 第八列:账号失效时间,使用自  1970 年 1 月 1 日以来的总天数作为账户的失效时间

  • 第九列:保留,未使用

上多效警宽失保,dmMWIE

2.3、chage 命令

用来修改帐号和密码的有效期限,针对目前系统已经存在的用户

选项

  • -m:密码必须更改的最小天数。0 表示随时可以更改。
  • -M:密码保持有效的最大天数。
  • -W:密码过期前多少天开始警告用户。
  • -E:账号到期日期。账号将在这一天后失效。
  • -d:密码最近一次被更改的日期。
  • -i:账号在密码过期后的非活动天数。这段时间后,账号将被锁定。
  • -l:列出账号的密码过期信息。

结合/etc/shadow字段

            第三个字段为:密码最后一次修改的时间      (chage -d)

            第四个字段为:密码最小修改间隔时间         (chage -m)

            第五个字段为:密码的有效期                       (chage -M)

            第六个字段为:密码需要变更前的警告天数  (chage -W)

            第七个字段为:密码过期后的宽限天数         (chage -I

            第八个字段为:账号失效时间                       (chage -E)

选项描述示例
-d, --lastday 最近日期将最近一次密码设置时间设为“最近日期”chage -d 2023-01-01 username
-E, --expiredate 过期日期将帐户过期时间设为“过期日期”chage -E 2023-12-31 username
-h, --help显示此帮助信息并退出chage --help
-I, --inactive 过期后INACTIVE天数,设定密码为失效状态chage -I 30 username (密码过期后30天账号锁定)
-l, --list显示帐户年龄信息chage -l username
-m, --mindays 最小天数将两次改变密码之间相距的最小天数设为“最小天数”chage -m 7 username (至少7天后才能再次更改密码)
-M, --maxdays 最大天数将两次改变密码之间相距的最大天数设为“最大天数”chage -M 90 username (密码最长有效期为90天)
-R, --root CHROOT_DIRchroot到的目录(通常不常用,用于指定chroot环境)chage -R /path/to/chroot username
-W, --warndays 警告天数将过期警告天数设为“警告天数”chage -W 7 username (密码到期前7天开始警告)

三、组账号文件

3.1、/etc/group

与用户账号文件相似

用于保存组账号名称、GID 号、组成员等基本信息

实验1

grep "^root" /etc/group  #//检索root 组包括哪些用户


grep "root" /etc/group  //检索哪些组包括root 用户(root用户在哪些组下)

3.2、/etc/gshadow

用于保存组账号的加密,密码字串等信息(但是很少使用到)。

某一个组账号包含哪些用户成员,将会在 group 文件内最后一个字段中体 现出来(基本组对应的用户账号默认可能不会列出),多个组成员之间使用  ,(逗号)分隔

四、添加组账户

groupadd命令
groupadd  [-g GID]  组账号名

实验

4.1、添加删除组成员

gpasswd命令

管理Linux用户组,包括定义组管理员、成员和密码等。

设置组帐号密码 (极少用) 添加/删除组成员(常用)

gpasswd 【选项】 组帐号名

常用选项

  • -a:添加用户到组
  • -d:从组删除用户 
  • -A:指定管理员,指定多个用,隔开
  • -M:指定组成员和-A的用途差不多
  • -r:删除密码
  • -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组

实验1

创建一个用户并且加入root组中,然后移除他,把他加入其他组

4.2、删除组账号

groupdel命令

groupdel 组账号名

五、添加用户账号

useradd命令
useradd【选项】  用户名

  • -u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。 
  • -d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)。 
  • -e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。 
  • -g:指定用户的基本组名(或使用 GID 号)。 
  • -G:指定用户的附加组名(或使用 GID 号)。 
  • -M:不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录。 
  • -s:指定用户的登录Shell。

创建一个辅助管理员账号 admin,将其基本组指定为“wheel”,附加组指定为“root”,宿主目录指定为“/admin”

5.1、用户账号的初始配置文件

文件来源
新建用户帐号时,从/etc/skel目录中复制而来
主要的用户初始配置文件
~/.bash_profile
~/.bashrc
~/.bash_logout

添加一个新的用户账号后,useradd 命令会在该用户的宿主目录中建立一些初始配置文 件。这些文件来自于账号模板目录/etc/skel/,基本上都是隐藏文件,较常用的初始配置文件包括“.bash_logout”、“.bash_profile”和“.bashrc”。

其中,

  • “.bash_profile”文件中的命令将在该用户每次登录时被执行
  • “.bashrc”文件中的命令会在每次加载“/bin/Bash”程序(当然也包括登录系统)时执行;
  • 而“.bash_logout”文件中的命令将在用户每次退出登录时执行

如果希望为所有用户添加登录后自动运行的命令程 序、自动设置变量等,可以直接修改/etc 目录下的类似文件,如/etc/bashrc 文件、/etc/profile 文件

理解这些文件的作用,可以方便我们安排一些自动运行的后台管理任务。 在“.bashrc”等文件中,可以添加用户自己设置的可执行语句(如 Linux 命令行、脚本控 制语句等),以便自动完成相应的任务。

命令配置一般放在.bashrc

每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc)就可以立刻加载修改后的设置,使之生效。

环境变量一般放在profile

一般会在.bash_profile文件中显式调用.bashrc。登陆linux启动bash时首先会去读取~/.bash_profile文件,这样~/.bashrc也就得到执行了,你的个性化设置也就生效了。
关于环境变量的读取顺序:
用户登录 --> 加载~/.bash_profile --> bash_profile中配置了首先是使~/.bashrc生效

实验1

ls -a可以查询到隐藏文件

实验2

全局下可以修改/etc/bashrc

内容是将root是蓝色,普通用户是黄色

if [ "$USER" = "root" ]; then  
    export PS1='\[\e[1;34m\][\u@\h \W]\$\[\e[0m\]'  
else  
    export PS1='\[\e[1;33m\][\u@\h \W]\$\[\e[0m\]'  
fi

实验3

在用户家目录当中

vim编辑内容

 在当前用户登出时,打印出Logout 和当前的时间

echo "Logout, `date`" 

实验4

每次操作的时候我们都会有很多历史记录

我们可以用 history -c 去清除,但是 

如果需要每个用户登出时都清除输入的命令历史记录,可以在/etc/skel/.bash_logout文件中添加下面这行 rm -f $HOME/.bash_history  这样,当用户每次登出时,.bash_history文件都会被删除.。 

对于已经存在的用户还需要手动添加,但是在新建用户就有了相同的配置

5.2、删除用户账号

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

一般删除都加-r

5.3、设置更改用户

passwd命令
passwd 【选项】  用户名

扩充
#调用管道符,给 zhangsan 用户设置密码 "123",为了方便系统管理,

passwd 命令提供了 --stdin 选项,用于批量给用户设置初始密码(需要结合脚本)。
echo "123" | passwd --stdin zhangsan

使用 --stdin 选项可以确保密码不会以明文形式出现在命令行历史中,从而增加了安全性。

  • -d:清空指定用户的密码,仅使用用户名即可登录系统。 
  • -S:查看用户账户的状态(是否被锁定)。 
  • -l:锁定用户账户。 
  • -u:解锁用户账户。

六、修改用户账号的属性

usermod命令用于修改用户账户属性的命令。使用 usermod,你可以更改用户的各种属性,如登录名、主目录、默认 shell、用户组等。

usermod 【选项】 用户名

常见参数

  •  -l:更改用户账号的登录名称(Login Name)。 
  •  -L:锁定用户账户。 
  •  -U:解锁用户账户
  • -u:修改用户的 UID 号。 
  • -d:修改用户的宿主目录位置。 
  • -e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。 
  • -g:修改用户的基本组名(或使用 GID 号)。 
  • -G:修改用户的附加组名(或使用 GID 号)。  
  • -s:指定用户的登录 Shell。 

其中G是将用户添加到附加组但是会覆盖,如果追加可以用 -aG 选项表示“追加到组”。

七、查询账号信息

id可以查询用户身份标识

id 【用户名】

groups命令查询用户所属的组

groups 【用户名】

八、查询已登录到主机的用户信息

w、who、users 查询已登录到主机的用户信息

(w比较全就推荐用w就行好记)

pts说明是用远程工具连接的,比如1是xshell,后面的数字代表登录的时间顺序,越小证明登录的越早

一些信息内容

  • User:登录用户名
  • TTY:登录后系统分配的终端号
  • From:远程主机名,即从哪登录的
  • login@:何时登录
  • IDLE:用户空闲时间。这是个计时器,一旦用户执行任何操作,改计时器就会被重置。
  • JCPU:和终端连接的所有进程占用时间。包括当前正在运行的后台作业占用时间
  • PCPU:当前进程所占用时间
  • WHAT:当前正在运行进程的命令行

登录虚拟机的图形界面

通常使用tty来简称各种类型的终端设备,Centos7系统, :1表 示图形界面,tty2-tty6表示 文字界面,可以用Ctrl+Alt+F1-F6切换。

再按w

当我按ctrl+alt+F6切换的时候(切换回有视图用ctrl+alt+F2)

再按w

还有可以用finder去查用户的详细信息 

(没有可以yum install finger -y)

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


访问权限

  • 读取r:允许查看文件内容,显示目录列表
  • 写入w:允许修改文件内容,允许在目录中新建,移动,删除文件或子目录
  • 可执行x:允许运行程序,切换目录

归属(所有权)

  • 属主:拥有该文件或目录的用户帐号
  • 属组:拥有该文件或目录的组帐号

第 1 个字符:表示该文件的类型,可以是

d(目录)、b(块设备文件)、c(字符设备文 件)、“-”(普通文件)、字母“l”(链接文件)

除去文件类型还有九个位置,分为三组

第 11 个字符:这里的“.”与 SELinux 有关,目前不必关注

9.1、设置文件和目录的权限

chmod  【u,g,o,a】【-+=】   【rwx】 文件或目录

-R:递归修改指定目录下所有子项的权限

ugoa分别代表 属主、 属组、 其他用户、 所有用户

9.2、设置文件和目录的归属

chown命令

chown   属主                  文件或目录
chown  :属组                  文件或目录
chown   属主:属组       文件或目录


-R:递归修改指定目录下所有文件,子目录的归属

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

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

相关文章

北航数据结构与程序设计查找与排序编程题

查找与排序编程题 单词查找(查找——基本题)排座位(简)a 单词查找(查找——基本题) 【问题描述】 从标准输入中读入一个英文单词及查找方式,在一个给定的英文常用单词字典文件dictionary3000.…

Maven 和 Gradle 构建工具的基本使用

Maven和Gradle是Java生态系统中最常用的构建工具,它们不仅能简化项目的构建过程,还能帮助管理项目依赖、打包、发布等任务。本文将详细介绍如何掌握Maven和Gradle的基本使用,帮助开发者快速上手并应用于实际项目中。 一、Maven 1.1 什么是M…

第三方软件测试机构流程分享,软件检测报告需多少时间和费用?

第三方软件测试机构是区别于软件开发方和需求方的第三者存在,是专门为客户提供全方位软件测试服务的第三方检测机构。测试流程经过精心设计和不断优化,以确保客户的软件品质得到有效保障,那么第三方软件测试机构的基本测试流程具体有哪些呢?…

一套二开版微交易系统 香港十大贵金属交易平台 贵金属交易平台 贵金属交易app下载 微盘交易系统

一套二开前端UI得贵金属微交易系统,前端产品后台可任意更换 此系统框架不是以往的至尊的框架,系统完美运行,K线采用nodejs方式运行 源码使用起来非常流畅,不像至尊卡成翔 源码下载:https://download.csdn.net/downl…

Macbook pro插硬盘没反应,Macbook pro移动硬盘读不了怎么办

为了弥补Macbook pro硬盘容量的缺失,我们有时候会使用到外接硬盘或移动硬盘。一般来说,这些硬盘都是即插即用的,可能部分要安装插件。不过,在一些特殊情况下,也会遇到插硬盘没反应等问题。本文会给大家解答Macbook pro…

Linux——ansible关于“文件操作”的模块

修改文件并将其复制到主机 一、确保受管主机上存在文件 使用 file 模块处理受管主机上的文件。其工作方式与 touch 命令类似,如果不存在则创建一个空文件,如果存在,则更新其修改时间。在本例中,除了处理文件之外,Ansi…

Excel中插入的图片在不同电脑上消失的问题及解决方法

在使用Excel时插入图片,然后在不同电脑上打开却发现图片消失并被替换为链接地址,这个问题通常出现于文件中的图片路径没有正确保存或者电脑上缺少相关的图片文件。下面让我们来详细解释这个问题以及可能的解决方法。 ### 问题原因分析1. **相对路径问题…

mysql8.0找不到my.ini

报错问题解释: MySQL 8.0 在Windows系统中通常不需要 my.ini 文件,因为安装程序会在 %PROGRAMDATA%\MySQL\MySQL Server 8.0\ (通常是 C:\ProgramData\MySQL\MySQL Server 8.0\)创建默认的配置文件。如果你的系统中找不到 my.ini…

Harmony设计模式-单例模式

Harmony设计模式-单例模式 前言 软件设计模式([Design pattern](https://baike.baidu.com/item/Design pattern/10186718?fromModulelemma_inlink)),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经…

中文分词词云图

目录 一、分词1、分词方式方法2、分词优缺点 二、jieba使用示例1、引入库2、切分模式3、加载自定义字典 三、词的可视化1、读取数据2、数据处理3、统计词频4、去除停用词5、词云图1、pyecharts绘图2、WordCloud绘图 一、分词 1、分词方式方法 以构词规则为出发点的规则分词 全…

科普文章:怎么远程监控电脑屏幕?三种监控电脑屏幕的方法

远程监控公司电脑屏幕是一项重要的管理手段,它不仅有助于提升工作效率,还能确保公司信息安全和合规性。随着远程办公的普及,这一需求变得日益重要。下面我将详细介绍几种实现远程监控公司电脑屏幕的方法,以及实施过程中需要注意的…

看完再买不后悔!希喂、小米、霍尼韦尔宠物空气净化器性价比比拼

在忙碌的工作之余,养一只猫真的能治愈一切的不快,让我们的心灵得到片刻的宁静。然而,这份宁静背后,却隐藏着一些不易察觉的烦恼——猫浮毛和异味。 猫浮毛,这个看似微不足道的小问题,实则给许多宠物主人带…

我在高职教STM32——LCD液晶显示(2)

大家好,我是老耿,高职青椒一枚,一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次,同行应该都懂的,老师在课堂上教学几乎是没什么成就感的。正因如此,才有了借助 CSDN 平台寻求认同感和成就…

LabVIEW_TDMS

1.TDMS设置属性 想给这里写属性怎么整 使用TDMS设置属性函数时,对组名称与通道名称不设置,即可达到上图中的样式。 PS:属性名称如果设置一样则最终生效的值为最后写入的值。如将属性2修改为属性1,则最终只有1个属性1&#xff0c…

C++语法04 标准输入语句

标准输入 使用格式:cin >> 输入的意思就是把一个值放到变量里面去,也就是变量的赋值,这个值是由我们自己输入的。 (注意:输入变量前要先定义,输入完之后要按Enter键。) 输入多个变量,与输出类似,…

基于一种改进熵方法的旋转机械故障诊断模型(MATLAB)

熵的概念起源于热力学,1884年,玻尔兹曼定义熵,用以描述分子热运动的无序性和混乱度。1948年,Shannon在其发表的《AMathematicalTheoryofCommunication》中提出香农熵,首次将“熵”引入信息度量范畴,为信息论…

C语言实现树和二叉树(二)

OK,各位未来的高级程序员们,大家好,今天我们来讲解一下二叉树这个部分的第二种存储结构---------链式存储结构,相信大家对这部分内容已经很期待了,但是,这里我们在开讲之前,要先补充一个知识&am…

AJAX 综合案例-day2

Bootstrap 弹框 功能:不离开当前页面,显示单独内容,供用户操作 步骤: 1. 引入 bootstrap.css 和 bootstrap.js 2. 准备 弹框标签 ,确认结构 3. 通过 自定义属性 ,控制弹框的 显示 和 隐藏 1. 通过属性…

SAP_FICO模块-获利能力段新增特征字段

业务背景: 公司有启用获利能力分析功能,有一个销售订单接口,是通过第三方销售订单管理平台推送数据到SAP的,用户希望对接新增一个编号ID到销售订单上,并且可以用KE24/KE30报表查看显示; 对于我这么一个后勤…

小程序打开空白的问题处理

小程序打开是空白的,如下: 这个问题都是请求域名的问题: 一、检查服务器域名配置了 https没有,如果没有,解决办法是申请个ssl证书,具体看这里 https://doc.crmeb.com/mer/mer2/4257 二、完成第一步后&#…