[Linus]用户、文件、目录权限和粘滞位

一、用户的权限

(一)超级用户和普通用户

Linus下有两种用户,分别为超级用户(root)、普通用户

超级用户(root):有root权限,可以在linus系统下做任何事情,不受限制。

普通用户:没有root权限,在Linus下只能做有限的事情。

超级用户的命令提示符是'#',普通用户的命令提示符是'$'

(二) 切换用户

命令:su [用户名]

功能:切换用户

例子1:在root用户下切换到普通用户user

因为超级用户root可以做任何事,所以切换用户时可以不输入用户的密码。

例子2:在普通用户下切换到超级用户root,输入指令su - 或 su root

(三)用户提权

        普通用户在执行某些指令和操作时会受到限制。如普通用户使用yum安装某软件是不允许的。

        如果想执行受限制的指令,在知道root密码的情况下可以使用su -切换到超级用户来执行对应的操作。

        也可以不切换root用户,通过用户提权的方法,可在普通用户下执行受限制的指令。

命令:sudo  需要执行的指令

功能:对普通用户执行的一条命令提权

使用方法:

普通用户第一次使用sudo,会遇到下面的情况:

先提示用户输入当前用户的密码,输入成功后会提示用户不在sudoers这个文件里。

简而言之就是当前普通用户不是管理员,不能进行提权操作,我们需要切换到root用户下,在/etc/ 目录下修改一个叫做sudoers的文件,将允许提权的用户添加到sudoers里才能允许提权操作。

下面演示如何添加要给予提权权限用户:

在root用户下用vim文本编辑器打开sudoers文件

修改sudoers文件

强制保存退出(wq!),切换回普通用户user,使用sudo:

二、文件和目录权限的设置

文件和目录访问者的分类

文件和文件目录的所有者(拥有者):u —— User

文件和文件目录的所有者所属组的用户:g —— Group

文件和文件目录的其他用户: o —— Other

文件类型和访问属性 

我们来看一个文件所显示的信息都有什么

        一个用户既不属于文件所有者也不属于所属组的话,那这用户就肯定为其他人,所以文件属性里只需要存储所属用户和所属组是什么即可。

几种文件类型 

-:普通文件
d:文件夹
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件

文件和目录的权限 (重要)

1、读( r Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录内的文件信息的权限。
2、写( w Write对文件而言,具有修改文件内容的权限;对目录来说具有删除、移动和创建目录内文件的权限
3、执行( x execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
4、无(-) 表示不具有该项权限。
文件和目录的权限是独立的
一个文件是否能被读、写、以及执行看的是文件的权限。
文件在目录内是否能被看到、删除、移动、创建看的是文件所在目录的权限。也就是说如果用户对于某个文件不具有写入的权限,但是对其文件所在的目录具有写入权限,那么这个文件可以被用户所删除。
如果我们不想在某个共享文件中创建的文件被其他用户删除,可以设置粘滞位的方法实现。

文件权限值的表达方法

字符表示法

Linus表示法

说明

r--

只读

-w-

仅可写

--x

仅可执行

rw-

可读可写

-wx

可写可执行

r-x

可读可执行

rwx

可读可写可执行

---

无权限

数值表示

权限符号

---

r--

-w-

--x

rw-

r-x

-wx

rwx

二进制

000

100

010

001

110

101

011

111

八进制

0

4

2

1

6

5

3

7

文件访问权限的设置方法

命令:chmod

功能:设置文件的访问权限

常用参数:-R 递归修改目录文件的权限

用法:

1、chmod     用户表示符(u/g/o)加减(+/-)权限表示符(r/w/x)     文件名

例子1:给test文件的其他用户加上可写权限

chmod o+w test

例子2:给test文件的其他用户取消可读可写权限

chmod o-rw test

例子3:给test文件的所有者和所属组增加可执行权限

chmod u+x,g+x test

        注意:一个文件能否运行不仅要看该用户在该文件有没有可执行的权限,还得看该文件是不是可执行文件。

例子4:给test文件的所有者和所属组以及其他用户取消掉所有权限

chmod a-rwx test

2、chmod 三位八进制数字  文件名

八进制数字所表示的权限:

权限符号

---

r--

-w-

--x

rw-

r-x

-wx

rwx

二进制

000

100

010

001

110

101

011

111

八进制

0

4

2

1

6

5

3

7

例子1:把test文件的权限数值修改为421

chmod 421 test

例子2:把test文件的权限数值修改为664

chmod 664 test

3、递归修改目录的权限

例子1:

当前目录下有个目录dir1,其拥有的文件的树状图如下所示

dir1的权限为555

dir1里的所有目录和文件fileX的权限也都为555

执行chmod -R 777 dir1

修改结果为目录里的所有文件的权限都修改为了777。

 文件拥有者、所属组的设置方法

命令:chown

功能:修改文件的拥有者

常用参数:-R 递归修改目录文件的拥有者

用法:chown [参数] 用户名 文件名

例子1:

修改test文件的拥有者为root,修改拥有者需要root权限,即使文件的拥有者是自己

chown root test

命令:chgrp

功能:修改文件的所属组

常用参数:-R 递归修改目录文件的所属组

用法:chgrp [参数] 用户名 文件名

例子1:

修改test文件的所属组为root,修改所属组需要root权限,即使文件的拥有者是自己。

chgrp root test

文件掩码umask

        在Linus中,新建的文件的权限默认是666,而新建的目录的权限默认为777,但是我们创建文件或目录时,发现权限往往不是默认的666或777,其他人other的权限明显是变小了的。实际上,创建文件或目录的时候还要受到umask的影响。假设默认权限是mask(666或777),则实际创建的出来的文件权限是: mask & ~umask。

命令:umask

功能:查看或修改文件掩码

用法:

例子1:查看当前文件掩码

umask

说明当前文件掩码为0002

实际创建的出来的文件权限是: mask & ~umask = 664。

实际创建的出来的目录权限是: mask & ~umask = 775。

我们来创建一个新的文件和一个新的目录来看看是不是664和775:

例子2:修改umask掩码

当我们把umask掩码修改为0777时,创建出来的新文件和新目录是什么权限都没有的。

umask 0777

对文件和目录的权限的补充

当用户既是拥有者又是所属组时,只认拥有者的权限。

文件的所属组也可以是文件的拥有者,这种情况文件的拥有者自成一组。当一个用户既是一个文件或目录的拥有者和所属组时,Linus系统只看拥有者所具有的权限对用户的操作进行限制。

上面的演示中,当前用户user既是文件的拥有者又是所属组,拥有者不具有该文件的可读属性,而所属组具有该文件的读属性,当我们试图将test文件中的内容用cat打印出来时,发现没有读权限,无法打印test里的内容。

三、粘滞位

假如我们用root账号在家目录下创建了一个共享目录(shareDir),其权限对其他人全部开放。

我们以普通用户user在shareDir里创建一个文件myFile。

我们切换到另一个用户NanChengBeiLi,对user创建的文件myFile尝试删除操作。

我们发现可以删除,因为该文件所在的目录对其他人开放了写入的权限,任何人都可以删除该目录下的所有文件。

但是我们在一个共享文件中,往往是不希望自己创建的文件被他人随意删除的,如果要达到这样的功能,Linus提供了粘滞位的方法来解决该问题。

命令:chmod +t 文件名

功能:当目录被设置了粘滞位后,只有超级用户(root)、该目录的所有者、以及文件的直接所有者才能删除或重命名目录下的文件。这有效防止了其他用户误删除或篡改重要文件的可能性。

使用方法:

将shareDir设置粘滞位

将目录设置为粘滞位后,其他用户的可执行权限x会变成粘滞位t。

这个时候用户NanChengBeiLi在该目录下创建一个文件theFile,然后切换到另一个用户user,user试图删除别的用户创建的文件theFile就因为刚设置的粘滞位而无法删除了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值