(linux系统服务)Linux高级命令用户管理

一、Linux用户管理

1、用户概念以及基本作用

用户:指的是Linux操作系统中用于管理系统或者服务的

一问:管理系统到底在管理什么?

答:Linux下一切皆文件,所以用户管理的是相应的文件

二问:如何管理文件呢?

答:

  1. 文件基本管理,比如文件的创建、删除、复制、查找、打包压缩等;文件的权限增加、减少等;
  2. 文件高级管理,比如程序文件的安装、卸载、配置等。终极目的是对外提供稳定的服务。

2、用户的类别

① root超级管理员,在Linux系统中拥有至高无上的权力

② 系统用户,CentOS6=> 1 ~ 499,CentOS7=> 1 ~ 999,系统账号默认不允许登录

# useradd -s /sbin/nologin 系统用户

③ 普通用户,大部分是由root管理员创建的,UID的取值范围:CentOS6=> 500 ~ 60000,CentOS7=> 1000 ~ 60000,对系统进行有限的管理维护操作

总结

① 用户指的是操作系统上管理系统或服务,是人,就有相关的属性信息

② 用户的属性信息包括但不限于,如:==家目录、唯一身份标识(UID)、所属组(GID)==等

③ 今天我们讨论的用户指的是普通用户,即由管理员创建的用户

3、用户管理

与用户管理相关的几个单词 => user(用户)、add(添加)、mod(修改)、del(删除)

① 用户添加 useradd

② 用户修改 usermod

③ 用户删除 userdel

☆ useradd用户添加

基本语法:

# useradd [选项 选项的值] 新用户名称
-u	指定用户uid,唯一标识,必须唯一
-g	指定用户的默认组(主组)
-G	指定用户附加组(一个用户可以加入多个组,但是默认组只有一个)
-d	指定用户家目录(每个用户都有一个自己的家,并且默认在/home/xxx)
-s	指定用户默认shell,常见/bin/bash或/sbin/nologin

扩展:
-r  指定用户为系统用户,如创建一个系统账号mysql

案例:在Linux系统中创建一个账号zhangsan

# useradd zhangsan

问题:一个用户创建成功后,如何判断是否添加到系统?

答:第一种方案我们可以通过tail命令查看/etc/passwd文件

	 第二种方案我们可以使用id命令查看zhangsan信息

案例:在Linux系统中创建一个账号lisi,指定用户的家目录为/rhome/lisi

# mkdir /rhome
# useradd -d /rhome/lisi lisi

当我们为用户自定义家目录时,其上级目录必须是真实存在的,如/rhome

案例:在Linux系统中创建一个mysql账号,要求真实存在的,但是其不允许登录操作系统

# useradd -s /sbin/nologin mysql

案例:在Linux系统中创建一个mysql系统账号,要求真实存在,但是不允许登录操作系统

# userdel -r mysql
# useradd -r -s /sbin/nologin mysql

☆ 与用户相关的文件

Linux中一切皆文件,所以保存用户的信息的也是一个文件 => /etc/passwd

# vim /etc/passwd
root:x:0:0:root:/root:/bin/bash

第1列:用户名称
第2列:用户密码,使用一个x占位符,真实密码存储在/etc/shadow文件中
第3列:用户的编号UID,0,1-999,1000 ~ 60000
第4列:用户的主组编号GID
第5列:用户的备注信息(扩展,可以使用-c进行指定) useradd -c "mysql" mysql
第6列:用户的家目录,/root,超级管理员的家/home,普通账号的家
第7列:用户的Shell文件,常见/bin/bash或/sbin/nologin=>/bin/false

☆ usermod用户修改

基本语法:

# usermod [选项 选项的值] 用户名称
-u	指定用户uid,唯一标识,必须唯一	
-g	指定用户的默认组(主组)
-G	指定用户附加组(一个用户可以加入多个组,但是默认组只有一个)
-d	指定用户家目录(每个用户都有一个自己的家,并且默认在/home/xxx)
-s	指定用户默认shell

案例:修改zhangsan账号的主组为itheima组(只能指定一个)

① 可以获取itheima组的编号信息GID

② 使用usermod -g GID编号修改某个用户的主组信息

其实在usermod修改用户的主组中,usermod -g 可以使用GID编号也可以使用组名称

# cat /etc/group |grep itheima
# usermod -g 1000 zhangsan

# usermod -g itheima zhangsan

案例:修改lisi账号的附加组,将其添加到itheima中

# usermod -G 1000 lisi

# usermod -G itheima lisi

案例:创建一个itcast组,在创建一个wangwu的账号,修改wangwu的附加组为itcast与itheima

# groupadd itcast
# useradd wangwu
# usermod -G itcast,itheima wangwu

问题:如果一个用户同时拥有多个附属组,怎么查看呢?

答:使用id命令即可

案例:修改用户zhangsan的家目录为/rhome/zhangsan(默认/home/zhangsan)

# mkdir /rhome/zhangsan
# usermod -d /rhome/zhangsan zhangsan
# su - zhangsan
-bash-4.2$
出现以上问题的主要原因在于:我们迁移用户的家目录时,没有迁移家目录中的配置文件"家具"

解决方案:
① 家目录已经迁移,我们把/etc/skel中的文件,copy到新家中
# cp -a /etc/skel/. /rhome/zhangsan/
选项说明:
-a :all所有,复制时,保留文件的原有属性
② 家目录还没有迁移,准备迁移时,使用usermod -md /rhome/zhangsan 用户名
-m :move,迁移家目录时,把"家具"一起迁移到新的家目录
# usermod -md /rhome/zhangsan zhangsan

注:要求/rhome/zhangsan必须是真实存在的!

案例:当我们创建了某个账号,但是不希望这个账号登录操作系统

# usermod -s /sbin/nologin 用户名称

☆ userdel用户的删除

# userdel [选项] 用户名称
选项说明:
-r :删除用户的同时,删除用户的家目录
-f :强制删除用户(即使用户处于登录状态)

案例:删除zhangsan这个账号

# userdel zhangsan

案例:删除zhangsan这个账号,同时删除这个账号的家

# userdel -r zhangsan

案例:删除某个正在使用的账号(强制删除)

# userdel -f zhangsan

4、用户密码

☆ passwd修改用户密码

# passwd [用户名称]

说明:
1.管理员root可以给任何用户修改密码
2.普通用户可以自己给自己修改密码,但是密码复杂度要符合规范(大小写、特殊字符、长度)

案例:使用root账号给itheima用户修改密码,新密码为123456

# su - root
# passwd itheima
Changing password for user itheima.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.

案例:切换到itheima这个账号,自己给自己修改密码(密码规范)

# su - itheima
# passwd
Changing password for user itheima.
Changing password for itheima.
(current) UNIX password:
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

☆ --stdin修改用户密码

–stdin :标准输入

# echo 123 |passwd --stdin itheima
# history -c 						=>    			     清除history历史记录

注意:以上方式操作非常简单,但是以上命令会留在history历史命令中!

5、chage更改用户的账号信息

背景:很多公司运维工程师刚入职,都会默认得到一个服务器的管理账号,密码默认,如123456,我们有没有办法让运维工程师在第一次登陆操作系统后,强制要求其更新密码。

# chage --help
-l:列出用户的详细密码状态;
-d 日期:修改 /etc/shadow 文件中指定用户密码信息的第3个字段,也就是最后一次修改密码的日期,格式为 YYYY-MM-DD;
-m 天数:修改密码最短保留的天数,也就是 /etc/shadow 文件中的第4个字段;
注:几天后才能修改一次密码
-M 天数:修改密码的有效期,也就是 /etc/shadow 文件中的第5个字段;
注:每隔多少天更新一次密码
-W 天数:修改密码到期前的警告天数,也就是 /etc/shadow 文件中的第6个字段;
-i 天数:修改密码过期后的宽限天数,也就是 /etc/shadow 文件中的第7个字段;
注:过期后还可以使用的天数,达到这个天数后,账号失效

-E 日期:修改账号失效日期,格式为 YYYY-MM-DD,也就是 /etc/shadow 文件中的第8个字段;

案例:新创建一个账号lamp,设置初始化密码为123456。要求用户第一次登陆后必须强制修改用户的密码。

解决思路:把密码的最后修改时间重置为0(回到1970年1月1日)

# useradd lamp
# echo 123456 |passwd --stdin lamp

# chage -d 0 lamp

运行效果:

案例:设置lamp账号的过期时间为2010-04-10

# chage -E "2020-04-10" lamp

案例:设置lamp账号的10天后过期(延伸)

# chage -E $(date +%F -d '+10 days') lamp
%F:YYYY-mm-dd,格式2020-04-01
-d:多少天以后的日期

案例:设置mysql用户60天后密码过期,至少7天后才能修改密码,密码过期前7天开始收到告警信息

# useradd mysql
# echo 123456 |passwd --stdin mysql

# chage -M 60 -m 7 -W 7 mysql

练习题

创建3个普通用户stu1~stu3,要求如下:

  1. stu1默认创建,密码为123
  2. stu2的家目录为/rhome/redhat/stu2,密码为123
  3. stu3用户不能登录操作系统,密码为123

6、用户组管理

☆ 用户和组的关系

核心:组的目的是为了方便管理用户

  • 用户是操作系统上管理维护系统或服务的人
  • 组是用户的一个属性信息
  • 任何一个用户默认都会有一个主组(默认组)
  • 一个用户除了主组也可以有多个其他组(附加组)

一问:用户的主组和附加组到底有啥关系呢?

答:用户的主组和附加组半毛钱关系都木有

二问:那要这个主组或者附加组有啥用呢?

答:肯定是有用的,组的目的是方便管理用户,用户的目的是管理操作文件,文件就有权限这个属性。

  1. 用户要操作一些文件,文件是由用户创建,不同用户创建的文件的属性信息也就不一样
  2. 文件的属性都有啥呢?比如,文件的创建者,文件属于哪个组,文件大小,文件时间等
  3. 其中,不同用户所创建的文件的属组就是该用户的主组(默认组)
  4. A用户附加组也有可能是其他用户的主组,道理同上(权限章节再细细体会组的作用)

☆ 用户组管理

group组,添加add,修改mod,删除del

groupadd 添加用户组

groupmod 修改用户组

groupdel 删除用户组

☆ 添加用户组

# groupadd [选项 选项的值] 用户组名称
选项说明:
-g :创建用户组时指定用户组编号GID,0代表超级管理员root组,1-999代表系统用户组,1000以后代表普通用户组

案例:在系统中创建一个admin组

# groupadd admin

案例:在系统中创建一个itcast组,并指定用户组的编号为1200

# groupadd -g 1200 itcast

问题:用户组创建完成后,如何判断是否创建成功?

# tail -1 /etc/group

☆ 与用户组相关的文件

在Linux系统中,与用户组相关的文件 => /etc/group

# vim /etc/group
root:x:0:
第1列:代表用户组的组名称
第2列:代表用户组的组密码,使用一个x占位符(基本已经不使用了)
第3列:代表用户的组ID编号GID的值
第4列:代表用户组内的用户信息

☆ 修改用户组

# groupmod [选项 选项的值] 用户组名称
选项说明:
-g :gid缩写,代表修改用户所属组的ID编号
-n :name缩写,代表修改用户组的名称

案例:更改itcast用户的GID编号(从1200 => 1005)

# groupmod -g 1005 itcast

☆ 删除用户组

# groupdel 用户组的名称

注意:在Linux操作系统中,如果想删除某个用户组,必须要保证这个组不能是某个用户的主组。

案例:删除itcast用户组

# groupdel itcast

案例:删除admin用户组

# groupdel admin

7、附属组管理

基本语法:

# gpasswd [选项 选项的值] 用户组的名称
-a :添加用户到组,append追加
-d :从组中删除成员,delete移除
-A :指定管理员,Admin管理员
-M :指定组成员,可以批量添加用户到组中

问题解析:-a与-M到底有啥区别?
-a一次只能追加一个用户到附属组中(-a,append,追加的形式,原有用户不覆盖)
-M一次可以追加多个用户到附属组中(覆盖追加,先把原有用户删除,然后添加我们的用户)

案例:创建3个用户user01~user03,将user01添加到sysadmin组里(附属组)

# useradd user01
# useradd user02
# useradd user03
# groupadd sysadmin

① 方案1
# usermod -G sysadmin user01
② 方案2
# gpasswd -a user01 sysadmin

案例:把user02、user03添加到sysadmin组中

① 方案1
# gpasswd -a user02 sysadmin
# gpasswd -a user03 sysadmin

② 方案2
# gpasswd -M user02,user03 sysadmin

案例:从附属组中移除某个账号

# gpasswd -d 移除的用户名称 附属组名称

# gpasswd -d user03 sysadmin
Removing user user03 from group sysadmin

二、文件权限管理

1、什么是权限

权限:在计算机系统中,权限是指某个计算机用户具有使用软件资源的权利

2、权限的目的

文件权限的设置目的:是想让某个用户有权利操作文件

3、权限的分类

  • 普通权限rwx
    用户正常情况去操作文件所具有的权限
  • 高级权限st
    用户对某个文件操作有特殊需求,而普通权限不能满足,需要给文件设置高级权限
  • 默认权限umask
    用户在系统中创建一个文件,该文件默认都会有一个权限,该权限是默认有的

注意:

权限是设置在文件上的,而不是用户

4、普通权限rwx(重点)

☆ read读权限

  • 针对目录
    一个目录拥有r权限,说明可以查看该目录里的内容(ls命令列出)
  • 针对普通文件
    一个普通文件拥有r权限,说明可以查看该文件的内容(cat/head/tail/less/more等命令查看)
  • 读权限r(read)用数字表示是4

☆ write写权限

  • 针对目录
    一个目录拥有w权限,说明可以在该目录里创建、删除、重命名等操作(mkdir/touch/mv/rm等)
  • 针对普通文件
    一个普通文件拥有w权限,说明可以修改文件的内容(vi/vim编辑器编辑文件)
  • 写权限w(write)用数字表示是2

☆ execute执行权限

  • 针对目录
    一个目录拥有x权限,说明可以进入或切换到该目录里(cd命令)
  • 针对普通文件
    一个普通文件拥有x权限,说明可以执行该文件(一般程序文件、脚本文件、命令都需要执行权限)
  • 执行权限x(execute)用数字表示是1

rwx = 读写执行 = 4 + 2 + 1

☆ -没有权限

没有任何权限用横杠==-表示,数字表示是0==

5、理解UGO

UGO,指的是用户身份,每个字母代表不同的用户身份。

  • U(the user who owns it)
    文件的拥有者(owner)或者创建者
  • G(other users in the file’s group)
    在文件的所属组(默认是创建文件的用户的主组)里的用户
  • O(other users not in the file’s group)
    既不是文件的创建者,也不在文件属组里的用户,称为其他人

注意:

除了上面ugo以外,还有一个字母==a==(all users),表示==所有用户==,包含ugo

6、查看文件的权限

# ls -l 文件名称
或
# ll 文件名称

注:如果查看一个文件夹的权限,建议使用-d

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

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

相关文章

被⽹络罪犯利⽤的5⼤ChatGPT越狱提⽰

⾃ChatGPT发布的近18个月以来,⽹络罪犯们已经能够利⽤⽣成式AI进⾏攻击。OpenAI在其内容政策中制定了限制措施,以阻⽌⽣成恶意内容。作为回应,攻击者们创建了⾃⼰的⽣成式AI平台,如 WormGPT和FraudGPT,并且他们还分享了…

Ubuntu22.04上Docker的安装

1. 使用APT安装 首先安装HTTPS传输的软件包和CA证书,确保软件下载过程中不被篡改。 sudo apt-get updatesudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y然后,使用国内源,并添加软件源的 GPG 密钥以防…

删除keil!VSvode+eide+jlink(stlink)配置keil工程,调试使用cortex-debug+openocd

文章目录 目的前期准备1.软件安装2.VScode安装3.VScode插件安装4.安装ARM-GCC交叉编译器 工程导入程序编译jlink在线调试部分常见问题更改为GCC 编译器更改为stlinkopencd一些tips调试变量查看构建器选项配置 目的 提示:这里可以添加技术概要 vscode代替keil进行程…

Ozon、美客多补单测评黑科技:打造无懈可击的自养号补单环境

不管哪个跨境平台的风控都会做升级,相对的补单技术也需要进行相应的做升级,风控升级后,自己养号补单需要注意以下技术问题,以确保补单的稳定性和安全性: 一、物理环境 1. 硬件参数伪装:平台已经开始通过I…

择校秘籍:如何找到口碑爆棚的学校?以星贝育园为例

在为孩子选择学校时,家长们总是慎之又慎,希望能找到一所口碑好、教育质量高的学校,为孩子的未来奠定坚实的基础。今天,我们就以星贝育园为例,来探讨一下如何选择口碑好的学校。 一、考察师资力量 优秀的教师团队是一所…

什么是定时器?

前言👀~ 上一章我们介绍了阻塞队列以及生产者消息模式,今天我们来讲讲定时器 定时器 标准库中的定时器 schedule()方法 扫描线程 手动实现定时器 任务类 存储任务的数据结构 定时器类 如果各位对文章的内容感兴趣的话,请点点小赞&am…

帮找Java Bug,面试,项目,解决Java问题

本人是个Java老程序员,如果你有解决不了的问题,或者面试的时候需要人帮助,或者求职就业上任何问题都可以联系我,下面是我微信,欢迎联系我!

【JUC】可重入锁理解

可重入锁(Reentrant Lock),也称作递归锁,是一种特殊的锁机制,它允许同一个线程多次获取同一个锁。 优点是可以避免死锁。 public class WhatReentrant {public static void main(String[] args) {new Thread(new Runn…

Qt——升级系列(Level Eight):界面优化

目录 QSS 背景介绍 基本语法 QSS设置方式 指定控件样式设置 全局样式设置 从文件加载样式表 使用Qt Designer 编辑样式 选择器 选择器概况 子控件选择器 伪类选择器 样式属性 盒模型 控件样式示例 按钮 复选框、单选框 输入框 列表 菜单栏 登录界面 绘图 基本概念 绘制各种形…

【Kali-linux for WSL】图形化界面安装

文章目录 前言图形化界面安装 前言 之前在WSL中安装了Kali 启动之后发现什么都没有!!! 那我还怎么学习渗透技术??? 看来,得改进下我的kali-linux for wsl,安装个图形化界面 图形化…

Jetson系列机载电脑创建热点模式配置方法

Jetson nano为例—— 创建热点模式配置方法 1.1、新建一个 WiFi 在屏幕右上角找到网络图标,点击后选择“Edit Connections”选项,进入选择网络连接页面,然后点击左下角加号,新建一个连接,类型选择 WiFi 后点击 “cre…

AI降重,不再难:降AI率的实用技巧大揭秘

如何有效降低AIGC论文的重复率,也就是我们说的aigc如何降重?AIGC疑似度过高确实是个比较愁人的问题。如果你用AI帮忙写了论文,就一定要在交稿之前做一下AIGC降重的检查。一般来说,如果论文的AIGC超过30%,很可能会被判定…

剪画小程序:如何将视频变成自己的作品!在手机上这样做就可以了!

亲爱的小伙伴们,我是你们的博主小画! 今天和大家分享两个在视频剪辑中实用的技巧—旋转视频和添加水印! 在我们的创作过程中,有时候常规的视角并不能完全展现出视频的魅力和创意。而通过旋转视频,就能为观众带来全新的…

【云原生监控】Prometheus 普罗米修斯从搭建到使用详解

目录 一、前言 二、服务监控概述 2.1 什么是微服务监控 2.2 微服务监控指标 2.3 微服务监控工具 三、Prometheus概述 3.1 Prometheus是什么 3.2 Prometheus 特点 3.3 Prometheus 架构图 3.3.1 Prometheus核心组件 3.3.2 Prometheus 工作流程 3.4 Prometheus 应用场景…

新规则!2024年信息素养大赛复赛图形化编程题这么写系统才能通过

2024年全国青少年信息素养大赛复赛即将在7月6日陆续开赛,今年Scratch图形化编程小低组和小高组分别为6道编程题,将采用新的判题规则,类似GESP的OJ系统判题,主要有以下三个方面: 1、变量名大小写要和题目完全一致。 2…

数据万象推出智能检索MetaInsight,现已开启限时公测

海量文件的分析统计一直是对象存储COS的热点需求,伴随AIGC飞速迭代发展,在众多不同模态素材的海洋中,用户也急需更高效地管理和利用多媒体内容,打破传统搜索的桎梏。 数据万象推出的智能检索 MetaInsight 服务将多模态检索与元数…

开源之夏|祝贺MatrixOne开源社区项目中选同学!

在本届「开源之夏 2024」活动中,MatrixOne开源社区共计上线3个项目任务,最终有 3位同学成功突围。接下来让我们看看每个项目的详细中选情况: 中选学生公示 项目名称:基于大语言模型的操作系统任务自动识别,拆解&#…

Unicode 和 UTF-8 以及它们之间的关系

通俗易懂的 Unicode 和 UTF-8 解释 Unicode 是什么? 想象一下,我们有一个巨大的图书馆,这个图书馆里有各种各样的书,每本书都有一个唯一的编号。Unicode 就像是这个图书馆的目录系统,它给世界上所有的字符&#xff0…

数据要素如何转化为生产力?关键在以指标为中心实现数据分析“快全准省”

进入到数字化时代,企业的经营变得越来越精细化、智能化、自动化,其中,数据就变成了关键要素,在企业的业务运营、经营决策、流程改进、创新驱动、资源配置等方面发挥出巨大作用。 数据具体如何转化为生产力,有几个关键…

俄罗斯ozon运费计算工具,跨境电商ozon物流运费计算工具

OZON平台服装类目卖家而言,如何快速、准确地为产品定价,并有效管理运费成本,直接关系到市场竞争力与利润空间。接下来我们看看俄罗斯ozon运费计算工具,跨境电商ozon物流运费计算工具。 萌啦Ozon定价工具:智能模拟&…