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

  一、用户管理

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

    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. SYCOJ2140祝福短信

    题目-祝福短信 (shiyancang.cn) 1 #include<bits/stdc++.h> 2 using namespace std; 3 map<string,bool& ...

  2. 金融云原生漫谈(三)|银行云原生基础设施构建:裸金属VS虚拟机

    在金融行业数字化转型的驱动下,国有银行.股份制银行和各级商业银行也纷纷步入容器化的进程.   如果以容器云上生产为目标,那么整个容器云平台的设计.建设和优化对于银行来说是一个巨大的挑战.如何更好地利用 ...

  3. 纯手画WinForm的Alert提示弹出框

    纯手画WinForm的Alert弹框 一.窗体设置 设置以下属性: 属性名 属性值 说明 AutoScaleMode None 确定屏幕分辨率或字体更改时窗体如何缩放 BackColor 103, 1 ...

  4. Git使用:版本回退

    在Git中,我们可以用 git log命令查看我们修改的历史记录 C:\Users\Administrator\Documents\GitHub\learngit [master]> git l ...

  5. VScode远程连接服务器

    VScode远程连接服务器 1.远程服务器安装rmate,在远程服务器上执行以下操作 wget https://raw.githubusercontent.com/sclukey/rmate-pyth ...

  6. 使用redis+lua实现SQL中的select intersect的效果

    公众号文章地址 1.需求 业务中需要实现在两个集合中搜索数据,并返回交集. 用SQL的伪代码可以描述如下: select key from set1 where sorted_key between ...

  7. VS IDE之xml过大报错

    语料处理时遇到这个错误 在命令行中输入 $vsWherePath = Join-Path ${env:ProgramFiles(x86)} "Microsoft Visual Studio\ ...

  8. java接口应用

    1 package face_09; 2 /* 3 * 笔记本电脑使用. 4 * 为了扩展笔记本的功能,但日后出现什么功能设备不知道. 5 * 6 * 定义了一个规则,只要日后出现的设备都符合这个规则 ...

  9. 多线程-线程间通信-多生产者多消费者问题解决(notifyAll)

    1 package multithread4; 2 3 /* 4 * 生产者,消费者. 5 * 6 * 多生产者,多消费者的问题. 7 * 8 * if判断标记,只有一次,会导致不该运行的线程运行了. ...

  10. 不难懂-------git版本回退

    1. git log 定义:该命令显示从最近到最远的提交日志.每一次提交都有对应的 commit id 和 commit message.   如果嫌弃输出的信息杂乱无章,那么加上 --pretty= ...