Linux系统相关命令使用
好记忆不如烂笔头,很多东西不常用突然要用就是记得相关的命令但是具体就不确定了,本文记录个人不常用同时偶尔用到但不确定或者记不住的内容。
一、用户管理
这组个人使用频率不高,知道同时记不住具体涉及的系统配置文件,下面以特殊方式——修改系统配置文件增删用户为例解析用户删减涉及的系统文件:
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 /usermod等,具体使用方法参考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用户下相关文件权限。
一个用户属于多少个组:groups 用户名
一个组有多少个用户:getent group group_name
二、软件安装目录
使用yum安装了软件之后,想知道文件的安装目录可以使用whereis/which softwarename 查看。也可以通过rpm查看,如下:
其实Linux 的软件安装目录类似Windows 有一个默认的安装目录专门用来安装软件,可以类比Windows看Linux的目录:
卸载使用yum remove 待卸载软件全名。
未完,待续……