Linux--权限问题(1)

前文

Linux--初识和基本的指令(1)-CSDN博客

Linux--初识和基本的指令(2)-CSDN博客

Linux--初识和基本的指令(3)-CSDN博客


目录

前文

前言

 1.剩余指令部分

1.1 打包和压缩的其它指令

2.权限部分

2.1权限预备知识

2.2 理解权限


前言

在前面我们学习了Linux基本的指令操作,本节我们将进入Linux权限的学习。

        本节重点:

                1.剩余的几条指令(tar),(sz,rz,scp)(uname)

                2.Linux中的用户和权限操作

                3.权限所引出的问题。


 1.剩余指令部分


1.1 打包和压缩的其它指令

        在上篇文章中我们学习了zip和unzip指令,这两个都属于打包和压缩的指令,除了这两个指令外,打包和压缩还有对应的其他指令。

        1.tar指令(后缀为.tgz)

tar指令(重要):打包/解包,不打开它,直接看内容
tar [-cxtzjvf] 文件与目录 ....
参数: 


  • -c :建立一个压缩文件的参数指令(create 的意思);
  • -x :解开一个压缩文件的参数指令!
  • -t :查看 tarfile 里面的文件!
  • -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
  • -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
  • -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
  • -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
  • -C : 解压到指定目录

tar指令的常用组合项,-cvzf/-xzvf

eg:

        打包dir目录

我们可以看到dir包括dir中的文件都已经被打包压缩了

那我们现在把test.tgz解压

我们可以看到被解压出来的dir了

解压到指定目录:-C(大写的C)


把test.tgz传输到本地系统中去

        我们学习打包和压缩就是为了便于网络的传输,因此我们将引出一条新的指令sz

sz 是使用安全 shell (SSH) 协议在本地系统和远程系统之间传输文件的命令行实用程序。

eg:我们使用sz传输给本地

传输成功

我们在本地打开(打开成功,内容一致)


从本地传输文件到Linux系统中

使用rz 指令

eg:

        我们在本地创建了一个test.txt的文件,文件里的内容为“hello Linux”,并添加到test.zip当中,现在我们要把这个文件传输到Linux系统中去。

启动rz指令,选择文件,传输成功

路径当中出现了test.zip

我们将dir目录解压出来。


那如果想实现两台Linux机器之间的互传呢?

使用scp指令

        scp 是 Secure Copy 的缩写,是一个命令行工具,用于在两个计算机之间安全地复制文件。它使用 SSH 协议,因此需要在两台计算机上都安装 SSH 客户端和服务器。

其中,source_file 是源文件的路径,destination_file 是目标文件的路径。

        scp 命令支持以下选项:

                * **-r**:递归复制文件夹和文件。

                * **-p**:保留文件的权限和修改时间。

                * **-v**:显示详细的传输信息。 * **-q**:静默模式,不显示任何传输信息。

                * **-C**:使用压缩传输文件。

                * **-i**:指定 SSH 密钥文件。

                * **-l**:指定最大传输速度。

                * **-t**:指定传输超时时间。

以下是一些使用 scp 命令的示例:

* 复制文件/home/user/file.txt 到远程主机[email protected]上的/tmp/file.txt :

scp /home/user/file.txt [email protected]:/tmp/file.txt

总结一下:

        打包并压缩/解压:

 1.2 uname指令

语法: uname [选项]
功能: uname用来获取电脑和操作系统的相关信息。
补充说明: uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。
常用选项:
       *** -a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称

       ***-r 显示操作系统内核的版本。


2.权限部分


2.1权限预备知识

1.大部分指令都是文件,如果把指令对应的文件删除了,那么这条指令就使用不了了。

2.用户执行某种功能的时候,不是直接让操作系统执行对应的指令的,而是先交给外壳程序

常见的外壳程序有,图形化界面和命令行。

1.外壳程序是什么?

      外壳程序就是介于用户和操作系统之间的软件,简单的来说就是,命令行解释器  。

2.为什么要有外壳程序?

        ***因为用户不善于与操作系统之间进行交互。

        ***外壳shell的存在,可以对请求进行合法性检测,变相的保护操作系统。

3.外壳程序也不是直接进行,而是创建一个子进程交给子进程操作,bash只需要进行等待就行了,命令不合法也不会影响到bash。


2.2 理解权限

1.什么是权限?

        就如看视频要vip,门禁。。。。

        总的来说,就是通过一定的条件,拦住一部分人,给另一部分人权利,来访问某种资源。也就是有无,或者能不能的问题!

2.权限的本质?

        通过1我们知道了权限一定和人有关。

        再举个例子,我们只能在爱奇艺看视频,而不能在爱奇艺写代码。因此权限也和事物的属性有关。

        因此权限 = 人 (角色)+ 事物属性

3. Linux中的用户

        ***root(超级管理员)不受权限约束

        ***其他用户

        如果想让两者之间进行身份切换该如何去做

eg:

        我们现在切换到了普通用户

        现在我要切换回普通用户,这里直接su/su -就行了,然后操作系统就会提醒我们要输入root的账号

演示su:

演示su -

    两者的区别就是路径发生改名,没有很大的差别,两个指令随便用

         现在我们像回退到普通用户,直接CTRL+D就行了

eg:

        root账户切换为普通账户

        直接su+用户名,而且不用输入密码’

eg:

        我不想变成root,但我想以root的身份执行指令该怎么做

        在指令前面加上sudo(指令提权),这里会让我们输入密码,不过这里是输入用户自己的密码,而不是root的密码       

我们输入密码后发现,你没有权限使用 light 命令,这是为什么呢?

        在 Linux 中,普通用户默认没有 sudo 权限。这是为了防止普通用户执行一些可能对系统造成损害的命令。 如果普通用户需要使用 sudo 权限,可以通过以下方式进行设置: 1. 将普通用户添加到 sudo 组。 2. 修改 sudoers 文件,允许普通用户使用 sudo 命令。

        这个就类似于白名单的功能。

4.Linux中的角色

     Linux中有三种角色:

                        拥有者

                        所属组:在多人协作的时候更好的进行权限管理

                        othre     

        在下面我们可以看到第一列显示的是拥有着,第二列显示的是所属组,那other呢?

因为other是在匹配完拥有者和所属组之后,发现没有,那么就属于other了。

     

本节完!!下节我们将学习Linux中权限更多的问题。

猜你喜欢

转载自blog.csdn.net/2301_76618602/article/details/134872959