什么是权限?(Linux篇)

这篇具有很好参考价值的文章主要介绍了什么是权限?(Linux篇)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

        其实我们在学会运用一些简单的Linux指令之后,我们可以简单的用ls查看当前目录的文件有哪些啊,可以使用tree用树形结构查看目录,可以使用touch来创建文件,用mkdir创建目录,可以使用rm来删除目录和文件,还可以使用等等的指令来配合我们想实现的行为。我们也是第一次听到权限这个词的,原因其实是因为我们一直是root用户,偷偷告诉你吧,root可以无视任何权限哦~

那权限是干嘛的呢?权限是限制什么的呢?权限出现的意义是什么呢?

请大家带着疑惑跟我一起学习权限吧!

忘记指令的可以看我这篇博客

一、Linux的两种用户

        正如上文所说,我们一直使用的是root用户,并且在我们是root用户的时候并没有接触权限这个东西,所以我们把root用户又称为超级用户,而非root用户就是普通用户了。那接下来就一起学习这两种用户的区别吧!

1.1 root用户

1. Linux下的超级用户,可以做任何事情,不受限制

2. 一个Linux系统有且只有一个root用户

3. root用户在命令行的提示符是 #

什么是权限?(Linux篇),Linux学习,linux,运维,服务器

1.2 非root用户

1. Linux下的普通用户,不被允许做任何事情,只可以做权限内的事

2. 一个Linux系统可以有多个普通用户

3. 普通用户的命令行提示符是 $

1.3 如何添加一个普通用户呢?

1. 建立用户: adduser 用户名

2. 设置密码:passwd 用户名

什么是权限?(Linux篇),Linux学习,linux,运维,服务器

1.4 切换用户的命令

查看当前的普通用户有谁

ls /home

1. 切换普通用户(在root用户中)

方法一: su 用户名 

特点:1. 不切换当前目录

           2. 不需要输入密码

方法二:su - 用户名 

特点:1. 以普通用户的身份重新登陆,切换到自己的家目录下

           2. 不需要输入密码

2. 切换普通用户(在普通用户中)

方法一: su 用户名 

特点:1. 不切换当前目录

           2. 需要输入密码

方法二:su - 用户名 

特点:1. 以新的普通用户的身份重新登陆,切换到自己的家目录下

           2. 需要输入密码

3. 切换root用户(在普通用户中)

方法一: su 或者 su root

特点:1. 不切换当前目录

           2. 需要输入密码

方法二:su - 或者 su - root

特点:1. 以root的身份重新登陆,切换到自己的家目录下

           2. 需要输入密码

4. 回退到上一个用户

键盘快捷键:control➕d 

指令二:logout

指令三:exit

1.5 sudo指令的应用(后续更新如何添加)

        普通用户可以以root身份执行,对指定的指令提权。但是我们在使用sudo的前提是,我们被root用户允许了,而如何允许的?是在sudoers的配置文件中添加了我们的用户名了,目前我们暂时不介绍,我们了解sudo可以让普通用户暂时拥有root用户的权限就可以了。

二、权限

在了解Linux环境下的不同用户之后,我们来学习权限吧!那什么是权限呢?

比如学校,你只有刷脸通过才可以进学校,因为你是学生你才可以进,并不是你是你;

比如看电视,有些影片只有vip可以看,因为你是vip你就可以看,并不是你是你

比如酒店,你是酒店的住客,你才可以住,并不是你是你;

这都说明了一点,因为你的身份,才给你了一些权限,并不是因为你是你。

所以权限一定是限制我们可以做的事情的范围的,但是在生活中也总有那些不受限制的人的存在。

这与我们Linux下是一致的,普通用户受权限制约,root用户无视权限

2.1 权限出现的地方

我们要知道Linux下一切皆文件,所以对于Linux下涉及权限的地方无非就是是否可以访问文件,是否可以创建文件,是否可以修改文件,是否可以删除文件等。而我们对文件这一系列操作的人,也被分为下面这几种:

2.2 文件访问者的分类

1. 文件和文件目录的所有者:User ——————用u表示

2. 文件和文件目录的所有者所在的组的用户:Group——————用g表示

3. 既不是文件的拥有者,也不是所属组的其他用户:Others————用o表示

所以我们会以什么身份来访问文件?文件中又在哪里体现了我们的身份?文件被访问,修改,删除,创造等一系列操作的权限又在哪里体现?我们带着这三个问题继续学习新的知识———文件的访问权限

2.3 文件的访问权限和属性

1. 读权限 ‘ r ’ :对文件而言,具有读取文件内容的权限;

2. 写权限 ‘ w ’ :对文件而言,具有修改文件内容的权限;

3. 可执行权限 ‘ x ’ :对文件而言,具有执行文件的权限;

4.  :表示不具有该项权限

这些权限都是在文件的属性中查看的:使用ll命令

如下就是分类:

什么是权限?(Linux篇),Linux学习,linux,运维,服务器

        所以我们是否可以去访问文件,是先根据我们是什么角色,再看文件中角色的对应位置的权限的;

当然root无视一切权限

并且我们只能扮演一种角色,先看拥有者是不是我,如果是我,即使所属组也是我,我们也仅仅扮演拥有者;

2.4 文件权限值的表示方法

1. 以字符表示

Linux表示 说明
r-- 只读
-w- 只写
--x 可执行
rw- 可读可写
r-x 可读可执行
-wx 可写可执行
rwx 可读可写可执行
--- 无权限

2. 以八进制数值表示

权限符号 八进制 二进制
r-- 4 100
-w- 2 010
--x 1 001
rw- 6 110
r-x 5 101
-wx 3 011
rwx 7 111
--- 0 000

2.5 权限的相关指令

1.修改权限指令 chmod(可以同时给u,g和o一起修改,中间加逗号)

什么是权限?(Linux篇),Linux学习,linux,运维,服务器

使用规则 示例 功能
chmod u+/- rwx 文件名/目录名 chmod u+r file
chmod u-r file
chmod u+rw file
chmod u-rwx file
给指定文件或者目录在拥有者的权限做改变
chmod g+/- rwx 文件名/目录名 chmod g+r file
chmod g-r file
chmod g+rw file
chmod g-rwx file
给指定文件或者目录在所属组的权限做改变
chmod o+/- rwx 文件名/目录名 chmod o+r file
chmod o-r file
chmod o+rw file
chmod o-rwx file
给指定文件或者目录在others的权限做改变
chmod a+/- rwx 文件名/目录名 chmod a+r file
chmod a-r file
chmod a+rw file
chmod a-rwx file
给指定文件或者目录在拥有者,所属组和others的权限都做改变
chmod 三位八进制 文件名/目录名 chmod 777 file
chmod 657 file
修改权限为八进制对应的权限

2. 修改拥有者指令 chown

注:chown指令在普通用户中不可以使用,在root用户中才可以使用

使用规则 示例 功能
chown user 文件名/目录名 chown xmb file

修改file文件的拥有者为xmb

3. 修改所属组指令chgrp

注:chgrp指令在普通用户中不可以使用,在root用户中才可以使用

使用规则 示例 功能
chgrp group 文件名/目录名 chgrp xmb file

修改file文件的所属组为xmb

若想同时修改拥有者和所属组

使用规则 示例 功能
chown user:group 文件名/目录名 chown xmb:xmb file

修改file文件的拥有者和所属组为xmb

三、文件类型

首先Linux文件类型不同过后缀区分(不代表不用后缀)

Linux对文件后缀的态度:虽然Linux不通过后缀来识别文件类型,但是我们依旧推荐使用,因为我们的某些指令需要(gcc,g++需要后缀为.c/.cpp的文件),我们用户也需要,可以通过后缀区别具体的文件类型

3.1 文件类型的分类

文件前缀 代表的文件类型
‘-’ 文本、源代码、图片、视频、库、可执行等文件
‘d’ 目录文件
‘b’

块设备文件(磁盘,光驱);

可以在b文件中随机访问数据

‘c’ 字符设备文件(键盘文件,显示器文件)
不支持在c文件中随机访问
‘l’ 软链接文件(文件的快捷方式)
‘p’ 管道文件
‘s’ 套接口文件

1. 查看对应前缀的文件

虚拟机 云服务器
看前缀为b的文件

ll /dev/sd*

ll /dev/hd*

ll /dev/vda*
看前缀为c的文件 ll /dev/tty*

2. 创建软链接文件(类似指针和快捷方式)

ln -s 被链接的文件 软连接文件

3. 建管道文件

mkfifo 文件

3.2 查看文件类型指令

file 文件类型

四、目录的权限

x :决定是否可以进入目录

r :决定是否可以查看目录下的文件/目录的属性

w :决定是否可以在目录下创建文件,重命名文件,删除文件​​​​​​​

t :粘滞位,是给目录中other设置的一个权限位,在x的位置,具有x的作用,同时新增了一个权限,只允许root和文件的owner删除目录里的文件

chmod +t 目录名  增加目录的粘滞位

chmod -t 目录名  去掉目录的粘滞位

所以一个文件是否可以删除,并不取决于文件本身,而是取决于文件所处的目录的角色的权限是否具有‘ w ’权限

五、常见权限的问题

5.1 问题一

         为什么创建的普通文件的默认权限不是777,而是664;为什么创建的目录的默认权限不是777,而是775?

我们的普通文件的起始权限是666,但是也不是664啊,目录文件的起始权限是777,也不是775。这又是为什么呢?这其实是因为一个叫权限掩码的东西(umask),其实是由起始权限和权限掩码的计算才得到我们文件的默认权限。

那如何查看我们当前用户的权限掩码呢?

umask

超级用户的默认权限掩码:0022

普通用户的默认权限掩码:0002

文件默认权限 = 起始权限 & (~umask)

5.2 问题二

我们如何实现在一个目录里,进行多用户共享呢?

我们进行多用户共享的目录一定不能是用户的家目录,家目录都是在根目录内的,所以我们要在根目录里找一个目录来进行多用户的文件的共享。

Linux系统默认的共享目录是tmp

什么是权限?(Linux篇),Linux学习,linux,运维,服务器

而我们在进行共享的时候就怕别人会把你的创建的文件删除,所以在这里就用到了粘滞位。我们可以查看一下tmp的属性:

什么是权限?(Linux篇),Linux学习,linux,运维,服务器

末尾有t,有粘滞位,只有自己才能删,别人删不了。文章来源地址https://www.toymoban.com/news/detail-753093.html

到了这里,关于什么是权限?(Linux篇)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux - 进阶 NFS 服务器 NFS文件权限与共享目录权限主次问题

            #    NFS 的权限本身没有用户密码和账户验证登录过程               ( 你可以回忆下,我们前面访问远程共享目录的时候,是没有输入账户,密码啥的,是没                 有这个步骤的)              所以客户端登录到服务器后,会把客户端的

    2024年02月04日
    浏览(54)
  • Linux服务器常见运维性能测试(1)综合跑分unixbench、superbench

    最近需要测试一批服务器的相关硬件性能,以及在常规环境下的硬件运行稳定情况,需要持续拷机测试稳定性。所以找了一些测试用例。本次测试包括在服务器的高低温下性能记录及压力测试,高低电压下性能记录及压力测试,常规环境下CPU满载稳定运行的功率记录。 这个系

    2024年02月04日
    浏览(82)
  • Linux本地部署1Panel服务器运维管理面板并实现公网访问

    1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器,包括主机监控、文件管理、数据库管理、容器管理等 下面我们介绍在Linux 本地安装1Panel 并结合cpolar 内网穿透工具实现远程访问1Panel 管理界面 执行如下命令一键安装 1Panel: 安

    2024年02月04日
    浏览(98)
  • 如何在LINUX(UBUNTU)实现FTP服务器多用户多权限

    要求 实现两个用户,使得一个student可以上传,下载文件 另一个teacher可以上传,下载,删除文件 首先现在Ubuntu上安装ftp(以下使用vsftp演示) 为了使student用户没有删除的权力,需要做以下更改 ftp服务器配置文件如下

    2024年01月21日
    浏览(47)
  • 必看>>>>Linux数据库被其他服务器远程访问(修改权限、开设端口)

    目录 一:修改权限 1.1 进入Linux数据库 1.2 修改数据库的远程连接权限 1.2.1 数据库远程权限修改命令 1.2.2 数据库远程权限查看命名 1.3 给Linux机添加端口 1.4 远程数据库连接 文章中的四:Linux中mysql数据库的安装 1.2.1 数据库远程权限修改命令 grant all privileges on *.* to \\\'root\\\'@\\\'%\\\'id

    2023年04月17日
    浏览(116)
  • [1Panel]开源,现代化,新一代的 Linux 服务器运维管理面板

    本期测评试用一下1Panel这款面板。1Panel是国内飞致云旗下开源产品。整个界面简洁清爽,后端使用GO开发,前端使用VUE的Element-Plus作为UI框架,整个面板的管理都是基于docker的,想法很先进。官方还提供了视频的使用教程,本期为大家按照本专栏的基本内容进行多方面的测评。

    2024年02月07日
    浏览(94)
  • Linux服务器常见运维性能测试(3)CPU测试super_pi、sysbench

    最近需要测试一批服务器的相关硬件性能,以及在常规环境下的硬件运行稳定情况,需要持续拷机测试稳定性。所以找了一些测试用例。本次测试包括在服务器的高低温下性能记录及压力测试,高低电压下性能记录及压力测试,常规环境下CPU满载稳定运行的功率记录。 这个系

    2024年02月02日
    浏览(55)
  • 华为云云耀云服务器L实例评测 | Linux系统宝塔运维部署H5游戏

    本章节内容,我们主要介绍华为云耀服务器L实例,从云服务的优势讲起,然后讲解华为云耀服务器L实例资源面板如何操作,如何使用宝塔运维服务,如何使用运维工具可视化安装nginx,最后部署一个自研的H5的小游戏(6岁的小朋友玩的很开心😁)。 前端的同学如果想把自己

    2024年02月07日
    浏览(58)
  • linux 服务器安装多版本 cuda (无 sudo 权限 非 root 用户也适用)

    linux 服务器安装多版本 cuda (无 sudo 权限 非 root 用户也适用) 下载想要版本的 cuda toolkit 下载对应版本 cudnn 以 cuda 10.0 为例 每个用户修改自己home目录下的 /bashrc 文件 对于无 sudo 权限 或者 非 root 用户,在安装第一步中安装cuda的时候,将cuda toolkit的安装路径设置为自己有权限

    2024年02月10日
    浏览(52)
  • 【Linux学习笔记】Linux服务器:配置与管理samba服务器

    一、【linux学习笔记】红帽Linux 7.8系统在虚拟机上的安装 二、【Linux学习笔记】Linux系统的基本操作  三、【Linux学习笔记】管理Linux操作系统:用户管理  四、【Linux学习笔记】管理Linux操作系统:磁盘管理 五、【Linux学习笔记】管理Linux操作系统:软件安装  六、 【Linux学习

    2024年02月02日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包