好记忆不如烂笔头,很多东西不常用突然要用就是记得相关的命令但是具体就不确定了,本文记录个人不常用同时偶尔用到但不确定或者记不住的内容。

  一、用户管理

    这组个人使用频率不高,知道同时记不住具体涉及的系统配置文件,下面以特殊方式——修改系统配置文件增删用户为例解析用户删减涉及的系统文件:

    1、增加用户步骤:

      1)在/etc/passwd是一个文本文件用来保存用户信息,一行表示一个用户。新增一行数据,表示新增一个用户信息;

      大致看下/etc/passwd的文件格式:

        

        user_name:password:uid:gid:comment:home:shell

        

      例如新建mysql用户,添加一行:(暂定组别)

      2)为该用户选择用户组,将该用户标识附加在/etc/group文件内指定字段;

      /etc/group也是一个文本文件,用来存放用户组信息,每行表示一个组,大致格式如下:

        

        group_name:password:gid:member_list

        

      3)为该用户创建一个家目录(home directory),将其家目录的属组改为该用户所有,组别也改为该用户的组别;

        mkdir /home/mysql

        chown mysql /home/mysql

        chgrp dba /home/mysql

        chmod 755 /home/mysql

      4)为该用户设置密码。

        passwd mysql

    2、删除用户就是一个逆向过程:

      

      以上都可以用命令完成:useradd / groupadd等,具体使用方法参考man

    3、很多时候可能需要做的是本机哪些用户在使用,有没有黑户o(* ̄︶ ̄*)o

      Unix上一般都使用finger,但是CentOS8不提供finger,同时yum可安装软件包中也没有该命令。CentOS8提供轻量级的finger——pinky。

      

   下面系统用户访问MySQL数据文件权限为例,实践不同用户不同权限的访问(对于涉及已存在的用户可能会修改用户相关的属性,如果修改组属性usermod -g lifish jrm 将用户jrm的组属性修改为lifish):

    在实践之前,有写概念需要明确——用户组属性,文件用户属性、组属性、文件权限是不同的概念,但是他们之间又有关联:  

      用户和用户组的对应关系有以下 4 种:

      • 一对一:一个用户可以存在一个组中,是组中的唯一成员。
      • 一对多:一个用户可以存在多个用户组中,此用户具有这多个组的共同权限。
      • 多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限。
      • 多对多:多个用户可以存在多个组中,也就是以上 3 种关系的扩展。

      文件与用户即用户组均是一对一的关系。如上用户与用户组的关系,进而有了文件权限与用户及用户组的关系。

    看三个用户,lifish,mysql,jrm :

      

    lifish和jrm共用用户组,与mysql非同一用户组。依据上面的对应关系,lifish和jrm具有相同的组权限,即他们可以访问lifish组下所有用户允许组用户执行的文件权限;同时由于mysql与他们不同组,他们没有mysql用户下相关文件权限。

      

  

未完,待续……

    

tip2:Linux系统相关命令使用的更多相关文章

  1. [Linux命令]查看Linux系统相关命令

    #查看系统内核/操作系统/CPU信息 uname -a #返回:内核名 主机名 Linux内核版本 内核编译日期 操作系统版本 CPU型号 硬件平台 GNU/Linux#查看系统是32位还是64位un ...

  2. linux 系统相关命令

    说明:此篇以 Debian ( ubuntu16.04 ) 命令为例 1. tab键默认是不能自动补全命令 apt install bash-completion // 安装完成之后重启系统 2. 虚 ...

  3. Linux系统相关命令

    时间和日期 date cal 磁盘和目录空间 df du 进程信息 ps top kill 01. 时间和日期 序号 命令 作用 01 date 查看系统时间 02 cal calendar 查看日历 ...

  4. Linux进程相关命令使用场景

    Linux进程相关命令使用场景 在Linux系统上工作时,我们常常会碰到很多和进程相关的查询场景,今天在这里进行详细的讲解,进程相关的对象包括以下几个: 端口:Port 进程号:PId 执行文件所在路 ...

  5. spark实验(一)--linux系统常见命令及其文件互传(2)

    2.使用 Linux 系统的常用命令 启动 Linux 虚拟机,进入 Linux 系统,通过查阅相关 Linux 书籍和网络资料,或者参考 本教程官网的“实验指南”的“Linux 系统常用命令”,完成 ...

  6. Linux解压缩相关命令

    Linux解压缩相关命令 运行级别: 0:关机 1:单用户 2:多用户无网络连接 3:多用户有网络连接 4:系统保留 5:图形界面 6:系统重启 通过init[0123456]来切换不同的运行级别 g ...

  7. Linux 文本相关命令(1)

    Linux 文本相关命令(1) 前言 最近线上环境(Windows Server)出现了一些问题,需要分析一下日志.感觉 Windows 下缺少了一些 Linux 系统中的小工具,像在这波操作中用到的 ...

  8. 查看linux系统版本命令 (转)

    查看linux系统版本命令 分类: Linux 知识小结2011-10-10 15:26 240162人阅读 评论(9) 收藏 举报 linuxredhatdebianx86susesun 一.查看内 ...

  9. Linux文件管理相关命令

    Linux文件管理相关命令   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在了解了Linux文件管理背景知识之后, 我们可以 ...

随机推荐

  1. vue中使用两个window.onresize问题解决

    在vue开发中,因为引用的父组件和子组件都使用了window.onresize以至于一个window.onresize失效.找了下解决方案,可以采用下面的方式写就可以了. window.onresiz ...

  2. 网络协议学习笔记(二)物理层到MAC层,交换机和VLAN,ICMP与ping原理

    概述 之前网络学习笔记主要讲解了IP的诞生,或者说整个操作系统的诞生,一旦有了IP,就可以在网络的环境里和其他的机器展开沟通了.现在开始给大家讲解关于网络底层的相关知识. 从物理层到MAC层:如何在宿 ...

  3. java下拉框转换公共方法

    1. 下拉框实例类 import org.apache.commons.beanutils.PropertyUtils; import org.apache.commons.lang3.Boolean ...

  4. [MAUI] 在.NET MAUI中结合Vue实现混合开发

    ​ 在MAUI微软的官方方案是使用Blazor开发,但是当前市场大多数的Web项目使用Vue,React等技术构建,如果我们没法绕过已经积累的技术,用Blazor重写整个项目并不现实. Vue是当前流 ...

  5. 单篇长文TestNG从入门到精通

    简介 TestNG是Test Next Generation的缩写,它的灵感来自于JUnit和NUnit,在它们基础上增加了很多很牛的功能,比如说: 注解. 多线程,比如所有方法都在各自线程中,一个测 ...

  6. leetcode 921. 使括号有效的最少添加

    问题描述 给定一个由 '(' 和 ')' 括号组成的字符串 S,我们需要添加最少的括号( '(' 或是 ')',可以在任何位置),以使得到的括号字符串有效. 从形式上讲,只有满足下面几点之一,括号字符 ...

  7. 【解决了一个小问题】alpine镜像中,busybox的date命令获取昨天的日期

    直接上答案: date -d@"$(( `date +%s`-86400))" +"%Y-%m-%d"

  8. mate10碎屏机当成小电脑使用尝试

    1.屏碎了修起来300-400,自己动手至少也要260以上买个屏幕钱. 手机图案锁屏也不知道密码,给我手机的亲戚忘了.当年手机被车压弯了. 对着恢复教程,盲屏幕猜着按还原了. 2.之后一路从8代系统更 ...

  9. JavaCV推流实战(MP4文件)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  10. 请解释final finally finalize的区别

    final  关键字 ,可以定义不能被继承的父类.定义不能被重写的方法,常量 finally   关键字, 异常处理的统一出口 不管是否有异常都执行 finalize   方法(protected   ...