Linux-权限篇及指令补充

本文详细介绍了Linux中的文件权限管理,包括新建用户、修改权限、用户切换、文件类型理解、可执行权限、umask值以及文件共享的实现。重点讲解了chmod命令、文件所有者、组权限和other权限,以及如何在实际操作中处理权限问题。

目录

前言

一、指令补充

mv指令补充

1.在服务器中有关新建用户等操作

新建用户

给新建的用户进行密码修改

给新建的用户赋予高级权限(白名单)

删除用户

查看可使用用户

 删除用户指令

删除用户以及用户的主目录

2.用户切换

root换普通用户

普通用户 切换到 root账户

3.普通用户享用高权限操作指令

4.修改文件的读、写、执行权限(简易版)

二、文件权限(重点)

一、简单权限修改

1.给用户权限进行修改

2.给多个用户权限更改

3.给所有人删除权限

4.给所有人删除所有权限

二、修改权限的第二套做法

1.给文件的拥有者进行修改

2.给文件的所属组进行修改

3.文件权限修改(二)

三、文件类型

四、Linux中如何理解 x (可执行权限)?

五、Linux中如果我们要进入一个目录,需要什么权限?(面试题)

六、umask值,文件创建时的默认权限

七、思考:为什么在一个目录里普通用户能删掉别人的文件(包括root目录下),合理吗?

八、实现不同用户的文件共享 

总结


前言

        本章主要是讲解Linux中的文件权限以及用户的创建和切换用户的指令,以及如何修改文件的用户权限等知识点。


一、指令补充

mv指令补充

指令:mv 文件名 文件名 ,代表直接更改文件名。

1.在服务器中有关新建用户等操作

新建用户

指令:adduser 【用户名】

该指令需要在root用户下或者使用sudo进行。

给新建的用户进行密码修改

指令:passwd 【用户名】

与上面的新建用户要求相似

可以发现我们在设置密码在输入时,是不会显示出来的,所以只要输入即是成功,且需要输入两次密码。

给新建的用户赋予高级权限(白名单)

        我们新建一个用户时,权限是非常低的,像yum等指令是无法使用的,但我们可以给用户设置白名单,文件的路径在root下的 /etc/sudoers 里,需要用vim进行添加,进入文件里只需要按照以下方式进行添加即可([用户名] ALL=(ALL) ALL),如希望sudo时候不需要输入密码只需要将最后一个ALL改为NOPASSWD:ALL(不推荐)。

这里要注意的是使用sudo时输入的密码是普通用户的密码,不是管理员root的密码。

正常情况下sudoers默认是只读状态,所以进行修改是会失败的,只需要确保是esc的状态,
按下 :再输入wq!可强行保存退出。

删除用户

查看可使用用户

在删除用户前我们可以先看,可使用的用户有哪些,有两种指令

第一种:
指令:cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1

第二种:
在根目录下,指令:ls /home

 删除用户指令

 指令:userdel [用户名] (可以删除指定的用户账户及其相关文件)

删除完成后,我们 /home 检查发现之前保留zhangsan的文件根目录,那是否真的删除成功了呢,那我们可以使用第一种查询方法进行查看:

可以发现这里已经不存在zhangsan的用户名了,接下来就要删除 zhangsan 的根目录了。

删除用户以及用户的主目录

指令:userdel -r [用户名] (这将删除用户账户以及其在/home目录下的主目录和邮件目录。)

2.用户切换

root换普通用户

指令: su 【用户名】

这里有两个点需要注意:
1.红线部分可以发现用户已经切换成zhangsan的了。2.切换用户时目录是上一个用户的当前位置。
(两点都需要注意)

普通用户 切换到 root账户

指令:su / su -

当普通用户切换到root账户时需要输入root账户的密码才能登入进去的,su / su -区别在于su是直接进入当前位置,su - 是进入初始位置,也就是root的初始登入的位置。

3.普通用户享用高权限操作指令

当我们不想麻烦的切换root账户时,但是又想以root身份去执行一个工作,我们可以在前面加个sudo,sudo可以让我们享有root账户的高级权限。

指令:sudo 【指令】,如:sudo touch normal.txt

三种情况:
1.未加sudo的情况

读权限不够。

2.加sudo的情况(用户未添加进白名单中)

提示未添加进sudoers文件名单中。

3.加sudo并且已添加进sodoers白名单中

输入普通用户密码操作成功。

4.修改文件的读、写、执行权限(简易版)

指令:chmod a+r/a+rwx 【文件名】
a:表示所用人
r:表示读
w:表示写
x:表示可执行权限


待会会给大家一一解释清楚有关权限的知识。

二、文件权限(重点)

        在Linux中存在三种 “人” ,一种为拥有者,第二种为所属组,最后一种为 other(其他),文件中主要显示拥有者、所属组,当两者都不属于时才属于other组。

从上图可大致理解出文件相关权限的知识,那接下来我会详细告诉大家该如何去修改权限。

在指令补充那我们可以使用chmod去修改一个文件的权限,那么说到底一个文件的权限谁能去修改?
1.文件的拥有者 2.root

从上图可知道文件的权限分为拥有者,所属组,other这三分别对应的是 u、g、o 三个后面我们需要修改他们权限时就用上他们对应的字母,还有一种是对所有人进行修改是使用 a
u -- user , g -- group , o -- other , a -- all
这些权限的缩写区分一定要记住。

一、简单权限修改

1.给用户权限进行修改

指令:chmod u-r,u+w [文件名]

u-r 代表拥有者去除读权限,u+w 代表拥有者加写权限

2.给多个用户权限更改

指令:chmod u-w,g-w [文件名]

u-w 代表拥有者去除写权限,所属组去除写权限

3.给所有人删除权限

 指令:chmod a+w [文件名]

a+w 代表所有人都添加写权限

4.给所有人删除所有权限

指令:chmod a-rwx [文件名]

二、修改权限的第二套做法

我们由此可以发现 权限 = 用户角色(具体的人)+ 文件权限属性 ,因为每个角色对应一层权限。

1.给文件的拥有者进行修改

指令:chown [用户名] [文件名]

有时候进行修改时,可能会出现不允许的情况,只需要强行sudo即可。

2.给文件的所属组进行修改

指令:chgrp  [所属组] [文件名]
与拥有者修改大致相同。

那有没有对other进行修改呢?答案是:没有!上面有说,除了用户名和所属组,其他都是other用户。

3.文件权限修改(二)

我们已经知道权限是由 rwx 组成,由二进制位表示,如 r-- 为 100 是 4,rwx 为 111 是 7。
指令:chmod 444 abcd.txt

三、文件类型

我们见了这么久权限,我们会很疑惑第一个 - 是有什么用,或者文件是目录时 d 又是什么?

我们使用Windows时区分文件类型是使用后缀名区分文件类型的,但 Linux 中不是使用后缀名区分类型的(但也不是说Linux不用后缀表示)

那Linux是用什么区分的?就是文件的第一个属性区分的。

四、Linux中如何理解 x (可执行权限)?

可执行权限 vs 可执行

能执行的文件 = 具有可执行权限 + 是一个可执行文件

五、Linux中如果我们要进入一个目录,需要什么权限?(面试题)

        进入一个目录,我们需要一个 x 权限!
那目录中的 r、w 权限有什么作用?

六、umask值,文件创建时的默认权限

在Linux中创建文件的时候,为什么好像有默认权限?为什么普通文件起始权限是0664(去掉x的),或者是0775(包含x的)。

664、775如何理解?rwx代表二进制位,rw-代表110也就是6,rwx代表111也就是7,所以666、777就是这么来的。

在Linux中存在umask权限反码值,默认是0002,可直接输入umask指令查看。

创建去掉x的普通文件时,起始权限是0666。
创建包含x的普通文件时,起始权限是0777。
通过umask权限反码值,得到最终的权限。

七、思考:为什么在一个目录里普通用户能删掉别人的文件(包括root目录下),合理吗?

删除一个文件和目标文件权限有关系吗?没任何关系!
那和谁又有关系呢?和所在的目录权限有关系!!
与目录中的 r w x 权限有关系。

八、实现不同用户的文件共享 

从第七点我们发现,别的用户可以进入到我们的根目录下的文件进行删除或者修改,那我们想实现文件共享该怎么办呢?在Linux中根目录下有一个tmp目录可以实现文件共享,且不被对方删除。

        我们可以发现tmp目录是全权限分开的,所以在里面放文件时,所有人都可以看见,但里面的文件权限控制归拥有者控制的,那刚刚说了tmp目录是所有权限分开,会导致别人删除我的文件,那这问题该如何解决呢?

方案一:不给 tmp 目录添加 w 权限
        可行吗?不可行!!
虽然解决了不给别人删的权力,但是也新建不了文件了。

方案二:Linux新增加了一个权限叫 t 。
        t 是粘滞位:给目录中的 other 设置了一个权限位,具有 x 的意义,同时也进一步对目录权限进行特殊限定。

        tmp目录中里面的文件,只有 root 或者文件的拥有者有权限去删除文件,其他人一概不允许。


总结

        本文主要是解释了Linux权限相关的内容,以及指令的用户的新建和切换用户,后面会带大家学习Linux中各种工具的使用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值