欢迎光临散文网 会员登陆 & 注册

Linux 高级教程(上)

2023-07-31 10:57 作者:程序员四次元ポケット  | 我要投稿

一、Linux用户与权限

1.  用户和权限的基本概念

1.1、基本概念

用户 是Linux系统工作中重要的一环, 用户管理包括 用户 与 组

管理 在Linux系统中, 不论是由本级或是远程登录系统, 每个系统都必须拥有一个账号, 并且对于不同的系统资源拥有不同的使用权限

对 文件 / 目录 的权限包括:

在 Linux中 ,可以指定 每一个用户 针对 不同的文件或者目录 的 不同权限


1.2、组

为了方便用户管理, 提出了 组 的概念, 如下图所示


1.3、ls -l扩展

ls -l 可以查看文件夹下文件的详细信息, 从左到右 依次是:

权限, 第一个字符如果是 d 表示目录

硬链接数, 通俗的讲就是有多少种方式, 可以访问当前目录和文件

拥有者, 家目录下 文件 / 木兰路 的拥有者通常都是 当前用户

组, 在linux中, 很多时候, 会出现组名 和 用户名 相同的情况, 后续会讲

大小

时间

名称


2.  终端命令:组管理

本质: 给 同一类型用户 分配权限

提示:

  • 组信息保存在 /etc/group 文件中

我们以root:x:0:root,linuxsir 为例: 用户组root,x是密码段,表示没有设置密码,GID是0,root用户组下包括root、linuxsir以及GID为0的其它用户。

在实际应用中, 可以预先针对 组 设置好权限, 然后 将不同的用户添加到对应的组中, 从而不用依次为每一个用户设置权限

演练目标:

1、在 指定目录下 创建 aaa 目录

2、新建 dev 组

3、将 aaa 目录的组修改为 dev chgrp dev aaa

3.  终端命令:用户管理

3.1 创建用户 、 设置密码 、删除用户

提示:

  • 创建用户时, 默认会创建一个和用户名同名的组名

  • 用户信息保存在 /etc/passwd 文件中

/etc/passwd 文件存放的是用户的信息, 由6个分好组成的7个信息, 分别是

用户名

  1. 密码 (x, 表示加密的密码)

  2. UID (用户标志)

  3. GID(组标志)

  4. 用户全名或本地账号

  5. 家目录

  6. 登录使用的Shell, 就是登录之后, 使用的终端命令

3.2 查看用户信息

3.3 su切换用户


  • 因为 普通用户 不能使用某些权限, 所以需要 切换用户


  • su 不接用户名, 可以切换到 root , 但是不推荐使用, 因为不安全

  • exit 示意图如下:


3.4 sudo

  • 虽然 通过 su -u root 可以切换到 root用户, 但是 存在严重的 安全隐患

  • linux系统中的 root 账号通常 用于系统的维护和管理, 对操作系统的所有资源 具有访问权限

  • 如果不小心使用 rm -rf ... ... , 就可能将系统搞瘫痪

  • 在大多数版本的linux中, 都不推荐 直接只用 root 账号登录系统

  • sudo 命令用来以其他身份来执行命令, 预设的身份为 root

  • 用户使用 sudo 时, 必须先输入密码, 之后5分钟的有效期限, 超过期限则必须重新输入密码

提示: 若其未经授权的用户企图使用 sudo, 则会发出警告邮件给管理员

3.4.1 给 指定用户 授予 权限

  • 本质: 通知 服务器 给 特定用户 分配 临时管理员权限

visudo


3.4.2 使用 用户 zhangsan 登录, 操作管理员命令

  • 本质: 使用临时管理员权限

4.  修改用户权限

准备工作: 使用root用户操作

4.1 方式一

  • chmod 可以修改 用户/组 对 文件/目录 的权限

  • 命令格式如下:

提示: 已上方式会一次向修改 拥有者 / 组权限

目标演练:

4.2 方式二

  • 虽然 方式一 直接修改文件|目录的 读|写|执行 权限, 但是不能精确到 拥有者|组|其他 权限

  • 命令格式如下:( u 表示所属用户 / g 表示所属组 / o 表示其他)


4.3 方式三

  • 第一个数字 是 拥有者权限, 第二个数字 是 组权限, 第三个数字 是 其他用户权限


二、Linux系统信息

本节内容主要是为了方便通过远程终端维护服务器时, 查看服务器上当前 系统日期和时间 / 磁盘空间占用情况 /程序执行情况

本小结学习终端命令都是查询命令, 通过这些命令对系统资源的使用情况有个了解

1.  时间和日期

1.1. date时间

第一步: 显示当前时间

第二步:设置系统时间

1.2. cal日历

2.  磁盘、内存信息

选项说明


3.  进程信息

ps 默认只会显示当前用户通过终端启动的应用程序

Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux。这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同。现在的大部分Linux系统都是可以同时使用这两种方式的。

ps 选项说明功能

提示: 使用kill命令时, 最好只终止由当前用户开启的进程, 而不要终止root身份开启的进程, 否则可能导致系统崩溃

要退出 top 可以直接输入 q

三、Linux软件安装

1.  rpm软件包管理器

rpm(英文全拼:redhat package manager) 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项软件包的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让Linux易于安装升级,间接提升了 Linux的适用度。

命令格式: rpm -参数  软件包名  

示例1:查询已安装的rpm列表,通常通过管道命令配合grep进行查找

示例2:查询软件包信息

示例3:显示软件包中的文件列表 rpm -ql 软件包名称

示例4:查看指定文件归属于哪个软件包 rpm -qf  文件绝对路径

1.1. rpm包的卸载

rpm卸载命令:

示例:卸载tree

1.2. rpm包的安装

rpm包安装命令:

安装命令参数:

2.  yum软件包管理器

yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat中的 Shell 前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum 语法:

yum [options] [command] [package ...]

options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 "yes"),-q(不显示安装的过程)等等、command:要进行的操作、package:安装的包名。

2.1. yum常用命令

  1. 列出所有可更新的软件清单命令:yum check-update

  2. 更新所有软件命令:yum update

  3. 仅安装指定的软件命令:yum install

  4. 仅更新指定的软件命令:yum update

  5. 列出所有可安裝的软件清单命令:yum list

  6. 删除软件包命令:yum remove

  7. 查找软件包命令:yum search

  8. 列出当前可用仓库信息:yum repolist all

  9. 清楚仓库缓存信息:yum clean all

2.2. yum在线安装软件案例


2.3. yum在线删除软件案例


3.  Linux安装JDK

3.1. 统一软件安装路径

理论上来说,可以把软件安装在Linux的任意路径下,但是企业为了规范化管理,通常会设置约束相关的目录用来安装软件、存储软件运行的数据、日志。

3.2. JDK安装

4.  Linux安装、卸载MySQL

4.1. 安装MySQL

step1:安装MySQL:

step2:初始化MySQL:

step3:修改root密码 授权远程访问 设置开机自启动

4.2. 卸载MySQL


Linux 高级教程(上)的评论 (共 条)

分享到微博请遵守国家法律