Linux系统及操作 (05)

帐号控制总述

  • 基于账户身份对资源访问进行控制

    • 账户类别:用户帐号,组帐号
    • 识别方式:UID[ linux系统自动给予用户编号 ]GID[ 组帐号编号 ]
    • 不同的用户/账户对资源的访问权限不同
  • 用户帐号(UID):

    • 超级用户root (权限最大) : UID=0
    • 系统用户(系统自用): UID=1 ~999
    • 普通用户 : UID=1000~
  • 组帐号 (GID):方便管理多个用户

    • 基本组(私有组):一般情况与用户同名,一个用户必须有基本组,基本组只能有一个
    • 附加组(从属组):一个用户可以有多个附加组,也可以没有附加组
  • 帐号数据存放:本机磁盘中————本地账户

    • /etc/passwd /etc/shadow
    • /etc/group /etc/gshadow
  • /etc/passwd 中是各个用户的基础信息

    例 : [ root : x : 0 : 0 : root : /root : /bin/bash ]

    [ 账户名称 :占位符 :UID :GID :用户全名 :宿主目录 :Shell程序路径 ]

  • Linux系统 允许无家目录,或家目录异常的用户帐号。

添加用户帐号

useradd 添加用户
  • 格式 :useradd [ 选项 ] … 用户名
常用选项
  • [ -u ] : 指定 UID 标记号。
    [ useradd -u 2333 bilibili ] #1000到6w
    [ id bilibili ] ===> [ uid=2333(bilibili) gid=2333(bilibili) 组=2333(bilibili) ]

  • [ -d ] :指定宿主目录。家目录。(缺省默认为 /home/用户名

    • 自己创建的家目录权限过高,建议自动创建。
      [ useradd -d /opt bilibili ]
      [ grep bilibili /etc/passwd ] ====> [ bilibili : x : 1001 : 1001 : : /opt/bilibili : /bin/bash ]
  • [ -G ] :指定所属的附加组。
    [ groupadd diyi ] 单独创建 diyi 组
    [ groupadd dier ] 单独创建 dier 组
    [ useradd -G diyi bilibili ]
    [ id bilibili ] ===> [ uid=2336(bilibili) gid=2338(bilibili) 组=2338(bilibili),2335(diyi)]
    [ useradd -G diyi,dier 4399game ]
    [ id bilibili ]
    ===> [ uid=2337(4399game) gid=2338(4399game) 组=2338(4399game),2335(diyi),2336(dier) ]

  • [ -s ] :指定用户的登录解释器( /bin/bash )。

    • shell : 壳,解释器。

      • 用户 -------> 解释器(shell ) -------> 内核 --------> 硬件
  • /sbin/nologin :禁止用户登录操作系统。(锁定其用户帐号)

    [ useradd -s /sbin/nologin bilibili ] 把 /bin/bash 换成 /sbin/nologin

    [ passwd bilibili ] 设置密码,密码没有屏幕显示,需要输入两次密码

usermod 修改用户
  • usermod命令格式 : usermod [ 选项 ]… 用户名
常用选项 :
  • [ -l ] : 更改用户帐号的登陆名称。

    • [ usermod -l newname oldname ]
  • [ -u ] : 更改 用户id。

    • [ usermod -u 1555 newname ]
  • [ -d ] : 更改 家目录路径。

    • [ usermod -d /opt newname ]
  • [ -md ] : 把原本的家目录中的 家 移动到新家目录下。(推荐使用)

  • [ -s ] : 更改 登录解释器。

    • [ usermod -s /sbin/nologin newname ]
  • [ -G ] : 更改 附加组/重置 附加组。

    • [ usermod -G diyi,dier newname ]
passwd命令 :
  • 设置用户密码

  • 格式 : passwd [ 选项 ]… 用户名 { 交互式 }

    • [ passwd bilibili ] 设置用户 bilibili 的用户密码

      • [ su - bilibili ] 临时从 root 用户临时切换到 bilibili 用户
      • [ passwd ] 修改当前用户的密码(需要旧密码)
      • [ exit ] 退出临时用户 bilibili ,回到原用户 root
  • 非交互式设置密码 [ --stadin ]

    • 格式 :[ echo xxxxx | passwd --stadin 用户名 ]

    • [ echo 123 | passwd -stadin bilibili ]

用户初始配置

主要的初始配置文件
  • 每创造一个用户,/etc/skel 默认在 /home 下建在对应的家目录
[ _~/.bashrc_profile ]
  • 每次登陆系统时执行
[ _~/.bashrc ]
  • 每次开始新的命令行终端时执行

  • /root/.bashrc 用于定义永久别名

    • [ alias echo 现在目录: ; pwd ; ls ]

    • 只对应家目录对应的用户

用户的删与查

删除用户

[ userdel ] 命令
  • 格式:userdel [-r] 用户名

  • 添加 -r 选项,家目录/用户邮件也一并删除
    [ userdel -r bilibili ] 连同家目录一并删除
    [ userdel bilibili ] 不删除家目录,只删除用户信息组

查询账户id

[ id ] 命令 —Identity
  • 格式 :id [ 选项 ]… 用户名

    [ id bilibili ]

组帐号管理

  • 创建组 :[ groupadd ]

组帐号基本操作

/etc/group
  • 保存组帐号的基本信息。每新建一个组,就会在 group 下更新一个信息。

  • 每个组记录一行,以:分割为4个字段。

    [ stugrp:❌:1504:nsd06 ]

    组名:组密码占位符:组的GID:组成员列表。

    [ bilibili:❌:1505: ]

    用户 bilibili 作为一个组,无成员。

[ gpasswd ]命令
  • 格式:gpasswd [选项]… 组名 { 添加附加组 }
常用选项
  • [ -a ] : 添加组成员,每次只能加一个

    [ gpasswd -a wudang bilibili ] { 添加 wudang 组到 bilibili 组 }

  • [ -d ] : 删除组成员,每次只能删一个

    [ gpasswd -d wudang bilibili ] { 把 wudang 组从 bilibili 组删除 }

  • [ -M ] : 定义(重置)组成员用户列表,可设置多个用户

    [ gpasswd -M ‘wudang,shaolin,emei’ bilibili ] { 定义bilibili 组的组成员列表 ,添加多个}

  • [ -A ] : 定义组管理员列表(组管理员可以属于此组也可以不属于此组)

    • root 是所有组的默认管理员
  • [ /etc/gshadow ] 组管理信息配置文件。 记录着个个组的管理员名单。

[ gpasswd -A wudang bilibili ] { 把 wudang 组设置成bilibili 组的管理员 }

[ groupdel ] 命令
  • 删除组。删除组的时候,不可以删除基本组。

  • 删除组不会删除对应用户。

  • 格式 : groupdel 组名

    [ groupdel bilibili ] { 删除 bilibili 组 }

总结 1 :用户与组重要的配置文件

1./etc/passwd:用户基本信息配置文件

2./etc/shadow:用户密码信息配置文件

3./etc/group:组基本信息配置文件

4./etc/gshadow:组管理信息配置文件

  • 当创建一个新的用户时,以上四个文件都会增加新的内容。
总结 2 :Linux系统执行useradd命令,会完成那些操作?

1.会在/etc/passwd增加一行信息

2.会在/etc/shadow增加一行信息

3.会在/home新增用户家目录

4.会在/var/spool/mail增加用户邮件文件

5.会在/etc/group增加一行组信息

6.会在/etc/gshadow增加一行组的管理信息

总结 3 :Linux系统执行userdel -r命令,会完成那些操作?

1.会在/etc/passwd删除一行信息

2.会在/etc/shadow删除一行信息

3.会在/home删除用户家目录

4.会在/var/spool/mail删除用户邮件文件

5.会在/etc/group删除一行组信息

6.会在/etc/gshadow删除一行组的管理信息

计划任务

用途:按照设置的时间间隔,为用户反复执行某一项固定的系统任务
  • 软件包:cronie、crontabs
  • 系统服务:crond
  • 日志文件:/var/log/cron
  • [ tail ] : tail [ 选项 ] 文件名
  • 显示文件的尾部内容,默认会显示指定文件的末尾 10 行的内容。
    • 通常用于查看日志文件或实时监控日志文件的更新。
    • [ -n ] : 指定要显示的尾部行数
    • [ -f ] : 持续跟踪显示文件尾部最新的内容,实时看到输出显示。

[ crontab ] 命令

  • 编辑:crontab -e [-u 用户名]
    • [ crontab -e -u root ]root 的身份进入 -e 的编辑模式。
  • 查看:crontab -l [-u 用户名]
  • 清除:crontab -r [-u 用户名]
编写[ crontab ] 任务
  • 任务配置文件在**/etc/crontab**

  • 时间配置

    • 分 时 日 月 周 任务命令行(绝对路径)

      [ * * * * * ] #每分钟执行一次

      [ 30 8 * * * ] #每天早晨的8点30分,执行一次

      [ 30 23 * * * ] #每天晚上23:30 执行一次

      [ 30 23 * * 5 ] #每周的周五23:30 执行一次

      [ 30 23 * * 1-5 ] #每周的周一至周五23:30 执行一次

      [ 30 23 * * 1,3,6 ] #每周的周一周三周六23:30 执行一次

      [ 30 23 1 * 1 ] #每月的1号晚上23:30或每周一晚上23:30 执行一次

      特别写法:

      [ 5 * * * * ] #每个小时的第五分钟执行一次

      [ */5 * * * * ] #每隔5分钟运行一次

      [ 38 */2 * * * ] #每隔2小时运行一次

      [ * ]:匹配范围内任意时间

      [ , ]:分隔多个不连续的时间点

      [ - ]:指定连续时间范围

      [ /n ]:指定时间频率,每n …

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

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

相关文章

Android Telephony | SIM 卡管理和subId、slotId、phoneId 定义关系说明

相关业务背景 DSDS双卡双待 :手机可以插入两张手机卡,而且能同时待机,但是某一时刻只能有一张卡上有电话。 一个SIM卡代表一个账号,那么双卡手机就意味着多账户,需要增加多账户管理和业务处理。 账号管理&#xff1…

<Linux> 生产者消费者模型

目录 前言: 一、什么是生产者消费者模型 (一)概念 (二)生产者消费者之间的关系 (三)生产者消费者模型特点 (四)生产者消费者模型的优点 二、基于阻塞队列实现生产…

Java 如何实现多线程之间的通讯和协作

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 Java 如何实现多线程之间的通讯和协作 在Java中,多线程之间的通讯和协作可以通过以下几种方式实现: 使用wait()、notify()、notifyAll()方法:这些方法是…

面试算法-44-两数之和 II - 输入有序数组

题目 给你一个下标从 1 开始的整数数组 numbers &#xff0c;该数组已按 非递减顺序排列 &#xff0c;请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] &#xff0c;则 1 < index1 < index2 < nu…

前端标准 JsDoc 代码片段注释 ( 快速生成代码片段网站 )

{ "快速单行注释": {"prefix": "z","body": [" /**"," * $1"," * param { }"," * return { }"," */"],"description": "快速注释" } } 配置之后…

嵌入式科普(12)西门子PROFINET ERTECH 200P-3路演

目录 一、路演观后感/总结 二、分享两个公众号 2.1 HMS工业网络 2.2 Omdia 三、ERTECH 200P-3资料 四、ERTECH 200P-3路演分享 嵌入式科普(12)西门子PROFINET ERTECH 200P-3路演 一、路演观后感/总结 老罗砸西门子冰箱时候的傲慢 -> 路演的谦逊 国外工程师包吃住差旅…

Linux(openEuler)部署SpringBoot前后端分离项目(Nginx负载均衡)

假如数据库在本地&#xff0c;没有放在Linux中 1.先把数据库中root的主机改成% 2.项目中的数据库链接配置换成本机ip 3.打包 4.把打包好的jar包放到Linux中 一般把jar包放到opt下 5.把前端部分拷贝到Linux的nginx中 5.1在package.json中修改build的值为图中这样 5.2同时由于在…

动态规划(算法竞赛、蓝桥杯)--单调队列优化修建草坪

1、B站视频链接&#xff1a;E44 单调队列优化DP 修剪草坪_哔哩哔哩_bilibili #include <bits/stdc.h> using namespace std; typedef long long LL; const int N1e510; int n,k,q[N]; LL w[N],f[N],sum;int main(){cin>>n>>k; k; //for(int i1;i<n;i){ci…

Vue多文件学习项目综合案例——小兔鲜,黑马vue教程

文章目录 一、项目截图二、主要知识点三、Main.js四、App.vue五、componentsXtxBanner.vueXtxFooter.vueXtxHeaderNav.vueXtxHotBrand.vueXtxNewGoods.vueXtxShortCut.vueXtxTopic.vue 六、stylesbase.csscommon.css 一、项目截图 二、主要知识点 把静态页面拆分成一个个vue组…

数据库简介与MySQL编译安装

1数据库基础 什么是数据库 数据库&#xff08;Database&#xff09;是一个有组织的数据存储系统&#xff0c;用于有效地存储、检索、管理和维护数据。数据库系统允许用户以结构化的方式存储和操作大量数据&#xff0c;并提供了一种可靠的方法来管理和维护这些数据&#xff0c…

数据库的基本概念与安装MySQL

一、数据库的基本概念 1、什么是数据&#xff1f; 描述事物的符合记录包括数字、文字、图形、图像、声音、档案记录等以“记录”形式按统一的格式进行存储 2、什么是表&#xff1f; 将不同的记录组织在一起用来存储具体数据 3、什么是数据库 表的集合&#xff0c;是存储数…

Python实战:爬虫基础与Scrapy框架入门

1、Python爬虫基础 1.1、了解网页结构 在进行爬虫之前&#xff0c;首先需要了解网页的结构。大多数网页都是使用HTML&#xff08;超文本标记语言&#xff09;编写的&#xff0c;而现代网页通常还会使用CSS&#xff08;层叠样式表&#xff09;和JavaScript来增强视觉效果和交互…

2023年中国电商市场研究报告

研究范畴界定为中国国内2C电商市场 ⚠️ 关键点&#xff1a; 流量红利减少&#xff0c;电商市场进入存量增量 竞争的发展阶段&#xff1b;新兴电商平台不断挑战现有头部电商平台行业地位&#xff1b;消费者更加趋于理性&#xff0c;更加关注低价和服务&#xff1b;市场趋势&…

嵌入式和 Java选哪个?

今日话题&#xff0c;嵌入式和 Java 走哪个?对于嵌入式领域有浓厚兴趣的人&#xff0c;并不会比Java行业薪资低&#xff0c;处于上中游水平。特别是从2020年开始&#xff0c;嵌入式领域受益于芯片产业的兴起&#xff0c;表现出了强劲的增长势头。薪资水平受多方面因素影响。嵌…

AndroidLinux GPIO控制方法

目录 1 GPIO整体架构 2 user space 层 gpio使用方法 2.1 sysfs控制方法 2.1.1 kernel版本区别 2.1.2 /sys/class/gpio 2.1.3 /sys/bug/gpio/devices 2.2 chardev控制方法 2.2.1 chardev 示例代码 2.2.2 示例代码主要步骤描述 2.2.3 include/linux/gpio.h 全部代码 2.3…

mmz批量多页抓取数据-AES.CBC算法-爬虫

目标&#xff1a;mmz多页下载 方法&#xff1a;加一个for循环实现多页的下载 问题&#xff1a;浏览器传输服务器时对页码参数做了加密处理 解决方法&#xff1a; 1、判断加密算法模式&#xff08;mmz是AES-CBC算法&#xff09; 2、找到加密的key和iv 代码&#xff1a; i…

数据可信流通,从运维信任到技术信任

信任 共同观点&#xff1a; 信任是涉及交易或交换关系的基础 身份可确认利益可依赖能力有预期行为有后果 数据流通中的不可信风险 内循环&#xff1a;数据持有方在自己的运维安全域内对自己的额数据使用和安全拥有全责外循环&#xff1a;数据要素在离开持有方安全域后&#…

使用 git 先提交后拉取的时候远程分支不允许问题

问题场景 修改本地代码使用 git 先提交后拉取的时候远程分支不允许的问题 修改本地代码时&#xff0c;远程分支存在其他新提交先执行了 git commit -m xxx update然后再执行 git pull 拉取远程分支代码&#xff0c;出现如下提示 hint: You have divergent branches and need…

基于python 变配电室运行状态评估与预警系统flask-django-nodejs-php

变配电室电气设备运行状态和环境信息缺乏必要的监测评估预警手段&#xff0c;如有一日遭遇突发情况&#xff0c;将危及电气设备安全稳定运行,易造成设备损坏和电力供应中断[2]。 目前&#xff0c;我国变配电室常采用无人管理的室内站设计方案&#xff0c;长期以来变配电室运维工…

黑马程序员——javase进阶——day10——IO流,Properties集合,IO工具类

目录&#xff1a; IO流的介绍 为什么要学习IO流什么是IO流IO流的分类字节流输出流 字节输出流入门字节输出流写数据的方法写数据的换行和追加写入字节输入流 字节输入流介绍字节输入流读多个字节图片的拷贝异常的捕获处理字节输入流—次读—个字节数组字节缓冲区流 字节缓冲流…