生产环境部署与协同开发 Linux(二)

简介: 生产环境部署与协同开发 Linux(二)

3.4 Linux超级用户和伪用户

Linux下用户分为三类:超级用户、普通用户、伪用户

  1. 超级用户:用户名为root,具有一切管理权限,UID为0,可以创建多个管理员。
  2. 普通用户:在默认情况下使用useradd创建出来的用户,普通用户UID是介于500~6000;
  3. 伪用户:这些用户的存在是为了方便系统管理,满足相应的系统进程对文件属主的要求。伪用户不能够登录,他的ID值介于1~499。

用户身份切换(su)

由于超级权限在系统管理中的不可缺少的重要作用,为了完成系统管理任务,必须用到超级权限。

[root@localhost /]# su zj
[zj@localhost /]$

普通用户切换到root用户需要输入密码,密码默认不显示

[zj@localhost /]$ su root
Password: 
[root@localhost /]#

补充:

使用vim命令可以创建文件:

[root@localhost ~]# vim a.info

进入文件后键盘输入 a 可以在文件中书写内容,按 esc 键表示输入完成,按 :wq 表示保存并退出,如果不想创建文件的话使用  :q! 可以强制退出编辑模式。

使用 ll 命令可查看当前创建的 a.info 文件:

[root@localhost ~]# ll
total 8
-rw-r--r--. 1 root root   15 Jun  4 15:52 a.info
-rw-------. 1 root root 1291 May 30 04:40 anaconda-ks.cfg

想要具体查看a.info下的内容的话使用 cat a.info 命令即可。

[root@localhost ~]# cat a.info
this is root a.info

此时我们创建的文件在root目录下,该目录下的文件只能是root用户访问,普通用户不能访问:

[root@localhost /]# cd root
[root@localhost ~]# ll
total 8
-rw-r--r--. 1 root root   15 Jun  4 15:52 a.info
-rw-------. 1 root root 1291 May 30 04:40 anaconda-ks.cfg

提升用户权限(visudo)

顾名思义:干超级用户才能干的事!所以Sudo最常用的功能就是提升一个命名的执行权限。

参数:

-h 列出帮助信息

-l 列出当前用户可执行的命令

-u 用户名或 UID 值 以指定的用户身份执行命令

-k 清空密码的有效时间,下次执行 sudo 时需要再次进行密码验证

-b 在后台执行指定的命令

-p 更改询问密码的提示语

示例

将用户zj配置root权限,root权限的授予只能在root用户下进行。

1、在root用户下使用 visudo 命令进入权限编辑页面。

[root@localhost ~]# visudo

2、进入权限编辑页面后使用 :set nu 命令找到第92行左右。注意使用键盘上下键来定位不能使用鼠标滚轮。

3、使用 :set nonu 命令取消每行前的序号并按照下面的格式设置权限。

谁可以使用 允许使用的主机=(以谁的身份) 可执行命令的列表

4.  使用 :wq 命令保存退出。此时用户zj就有了root权限。

之前我们在zj目录中不能访问root目录下的文件,现在可以访问(删除修改都OK)但是要使用 sudo 命令:

[zj@localhost root]$ sudo cat a.info
this is root a.info

补充:

    当切换用户的时候,有些时候需要输入密码(15分钟有效)但是一次次输入密码也是很麻烦的事情。我们可以在 visodu 中添加配置实现一次输入永久使用:

zj  ALL=NOPASSWD:  ALL

3.5 Linux文件基本属性

显示文件属性

ls命令

Linux ls(英文全拼:list files)命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。

语法:

ls [参数]

参数:

  • -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
  • -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出

查看当前根目录下的文件(出了隐藏文件):

查看当前根目录下的全部文件(包括隐藏文件):

查看文件的详细信息,之前使用的 ll 命令实际上就是 ls -l 的缩写。

Linux文件类型

Linux可以支持长达256个字符的文件名称,且文件名是区分大小写的,“abc” 与 "ABC"所代表的是不同文件。

Linux文件类型

  1. 普通文件(-):存放数据,程序等信息的文件,一般为文本文件和二进制文件。
  2. 目录文件(d):文件系统中一个目录所包含的目录文件,包括文件名和子目录名。
  3. 链接文件(l):可以在不同的文件系统之间建立链接关系来实现对文件的访问。
  4. 设备文件(c):把IO设备映射为一个设备文件。
  5. 管道文件(p):主要用于在进程间传递数据。

文件权限

所谓的文件权限,是指对文件访问权限,包括对文件的读、写、删除、执行操作。Linux是一个多用户操作系统,它运行多个用户同时登陆和工作,因此Linux将一个文件或者目录与一个用户和组联系起来。

Linux系统中,文件有三种访问权限:

  1. 读(r)- 允许读取文件
  2. 写(w)- 允许写、修改和删除某个文件
  3. 执行(x)- 允许执行某个文件

假设a.info是乔治创建的,那么乔治要关注的是属主权限,乔治一家的其他人,猪爸爸、猪妈妈和佩奇要关注的则是属组权限,佩奇的朋友山羊苏西一家关注的就是其他用户权限。(root创建的看属主权限,root组的看属组权限,其他的看其他用户权限;linux中只有一个root超级管理员

3.6 Linux权限字与权限操作

  1. chgrp: 改变文件所属群组;
  2. chown:改变文件所有人;
  3. chmod:改变文件的属性;

改变所属群组chgrp

改变一个文件的群组很简单,直接用chgrp命令,这个命令是change group的缩写。

语法:

chgrp [-R] 属组名 文件名

参数选项

  • -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

示例:将zj 用户下的 opt目录下的a.info 放到Java组。

改变文件属性chmod

Linux文件属性有两种设置方法,一种是数字,一种是符号。

Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。

文字设定法

基本上就九个权限分别是:

  • user:用户
  • group:组
  • others:其他

那么我们就可以使用 u, g, o 来代表三种身份的权限。

此外, a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x,也就是可以使用下表的方式来看:

示例:让java组对a.info文件多一个执行权限。再把这个权限删掉。

操作对象who可是下述字母中的任一个或者它们的组合:

  • u 表示“用户(user)”,即文件或目录的所有者。
  • g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
  • o 表示“其他(others)用户”。
  • a 表示“所有(all)用户”。它是系统默认值。

操作符号可以是:

  • + 添加某个权限。
  • – 取消某个权限。
  • = 赋予给定权限并取消其他所有权限(如果有的话)。
  • 设置mode所表示的权限可用下述字母的任意组合:
  • r 可读。
  • w 可写。
  • x 可执行。
  • X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
  • s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
  • t 保存程序的文本到交换设备上。
  • u 与文件属主拥有一样的权限。
  • g 与和文件属主同组的用户拥有一样的权限。
  • o 与其他用户拥有一样的权限。
  • -c : 若该档案权限确实已经更改,才显示其更改动作
  • -f : 若该档案权限无法被更改也不要显示错误讯息
  • -v : 显示权限变更的详细资料
  • -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
  • –help : 显示辅助说明
  • –version : 显示版本

改变文件拥有者chown

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

示例:  将root所拥有的a.info 文件改为 zj 所有。

3.7 Linux路径

路径,顾名思议,是指从树形目录中的某个目录层次到某个文件的一条道路。 Linux系统中是从" / "开始的。

注意事项:

引入路径的概念的最终目的就是找到需要的目录或者文件。路径是由目录或者文件名构成。

绝对路径

绝对路径是指从“根”开始的路径。例如/usr/local,/etc/hosts,如果一个路径是从“/”开始它一定是绝对路径。

注意:

  • 绝对路径必须以 “/” 开头,它表示根目录。

相对路径

相对路径是以 “ . ” 或者 " .. "开始的。. 表示用户操作所处的位置.. 表示上级目录。

注意:

  • 相对路径不能以 “ / ” 开头。
  • 每个目录中都有 “ ..” 目录文件。

在路径一些特殊符号的说明

. : 当前用户所在目录

.. :表示上一级目录

~ : 表示当前用户自己家目录

~ USER:表示用户名为USER的家目录。这里的USER是在/etc/passwd中存在的用户。

pwd:显示当前用户所在的详细位置。

3.8 Linux目录文件操作常用命令

pwd (显示目前所在的目录)

pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。

[root@www ~]# pwd [-P]

选项与参数:

  • -P :显示出确实的路径,而非使用连结 (link) 路径。

mkdir (创建新目录)

如果想要创建新的目录的话,那么就使用mkdir (make directory)吧。

mkdir [-p] 目录名称

选项与参数:

  • -p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!

示例:在 opt 目录下创建一个叫test的文件夹

rmdir (删除空的目录)

rmdir [-p] 目录名称

选项与参数:

  • -p :从该目录起,一次删除多级空目录

示例:删除 opt 目录下的test文件

cp (复制文件或目录)

cp 即拷贝文件和目录。copy的意思。

示例:将 opt 文件中的 a.info 文件复制到    a/b/c文件下

rm (删除文件或者目录)

rm [-rf] 文件或目录

选项与参数:

  • -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
  • -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

示例:删除 opt 文件夹下的a.info 文件

示例:删除 opt 文件夹下的 a 文件。

mv (移动文件与目录,或修改名称)

mv [-fiu] source destination
 mv [options] source1 source2 source3 .... directory

选项与参数:

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
  • -u :若目标文件已经存在,且 source 比较新,才会升级 (update)

示例:将 opt 文件夹下的 b.info 文件移动到 test 文件下。

示例:将test 文件夹下的 b.info 文件重命名为 a.info

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
11天前
|
消息中间件 Java Kafka
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
|
11天前
|
Ubuntu 网络协议 Linux
快速部署WSL(Windows Subsystem for Linux)
WSL提供了一种轻量级的方法,使开发者能够在Windows上无缝运行Linux环境。通过本文介绍的步骤,可以快速安装、配置和使用WSL,以满足开发和测试的需求。
50 8
|
3月前
|
运维 监控 Linux
Linux系统之部署Linux管理面板1Panel
【10月更文挑战第20天】Linux系统之部署Linux管理面板1Panel
167 3
Linux系统之部署Linux管理面板1Panel
|
2月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
85 2
|
2月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
59 3
|
3月前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
82 2
|
3月前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
582 3
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
138 8
|
2月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
555 6
|
2月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
104 3

热门文章

最新文章