Linux权限

目录

1、shell命令以及运行原理

2、Linux权限的概念

root创建普通用户

 root切到普通用户

 3、Linux权限管理

1.文件访问者的分类

2.linux中文件的权限

文件类型

如何理解可执行权限和可执行?

对于目录中的r w x的理解

linux创建文件的时候有默认权限

4、问答


1、shell命令以及运行原理

Linux严格意义上来说是一个操作系统,我们称之为核心(kernel),但是我们用户一般不能直接使用kernel,而是通过kernel的外壳,也就是所谓的shell,来与kernel沟通,那么为什么不直接使用kernel呢?
从技术角度,shell的最简单定义:命令行解释器主要包括:

把使用者的命令传给kernel;

将kernel处理后的结果返回给使用者;

对比windows GUI ,我们并不是直接操作windows系统,而是通过图形接口,点击,从而完成我们的操作,shell对于linux也有相同的作用,shell解析指令给linux内核,计算结果通过shell传给用户;

2、Linux权限的概念

权限的本质是什么?

权限和人有关

权限和事物属性有关;

权限=人+事物属性;

Linux下有两种用户:超级用户(root)和普通用户;

超级用户可以在linux下做任何事情,不受限制,

普通用户在linux下做有限的事情;

root创建普通用户

root用户可以创建普通用户;

1. adduser+要创建的用户名

2.passwd+创建的用户名 

3.设置密码

4.再次输入密码

注意: adduer 和用户名之间用空格隔开, passwd和用户名之间也是一样,用空格隔开;

输入密码时没有回显,不要设置的太简单,用数字加字母的方法比较安全,有可能密码太简单创建不成功;

 root切到普通用户

命令: su 用户名

 注意:root的命令提示符是#结尾;普通用户的命令提示符用$结尾;

我们还可以从普通用户切换到root用户,要输入root用户的密码;

或者我们可以直接输入 su 然后回车,输入密码,就可以切换成root用户了;

 3、Linux权限管理

1.文件访问者的分类

Linux中有三种角色:拥有者,所属组,other

linux具有组的概念,主要是在多人合作的时候有更好的权限管理;

比如用root用户创建一个文件,他的拥有者就是root,他默认的所属组就是root;而其他用户对这个文件的权限也不一样,可以更好的进行权限管理;

2.linux中文件的权限

文件的类型: -:普通文件  d:目录文件

文件的属性权限:

一般有三种,r是读权限,w是写权限,x是可执行权限;        

 

每三个字母分别对应拥有者,所属组,other对该文件的权限;

那么如何修改权限呢?

第一种,修改权限的属性;

使用chmod命令可以修改文件角色对于文件的属性;

chmod u+-rwx,g+-rwx,o+-rwx,a+-rwx 文件名 

u表示user,拥有者,g表示group,所属组,o表示other,其他,a表示all,所有;

而对于root用户,不受文件属性的限制,

对于root用户来说,即使是文件不让读写操作,root还是可以进行读写的,所以root用户的权限很高的;

chmod还可以用八进制修改文件的权限

我们把r w x 看做1,- 看做0 ,那么rwx rwx rwx 就可以写成111 111 111,换算成八进制就是777

所以,也可以这样修改;

权限存在的意义:保证普通用户文件的一般安全性;

当文件的拥有者和所属组的名字都是同一个用户,文件优先匹配拥有者,即对用户的身份只识别一次,

第二种,修改文件的拥有者;

但是修改文件的拥有者权限比较高,普通用户无法修改,所以先切换到root用户,再修改文件的拥有者;

 chown 用户名   文件名 ——————————可以修改文件的拥有者

chgrp    用户名   文件名——————————可以修改文件的所属组

chown   用户名:所属组 文件名————————可以修改文件的拥有者和所属组

文件类型

-:表示普通文件

d:表示目录文件

b:表示块设备文件(如硬盘,光驱等)

c:字符设备文件

p:管道文件

l:是链接文件

我们最常接触的就是普通文件和目录文件了;

linux不以文件后缀作为区分文件的类型,但是并不代表linux里的工具不需要(比如,gcc);

所以我们在linux上的文件名可以使用文件后缀,也符合我们对文件的认知;

如何理解可执行权限和可执行?

可执行=可执行权限+可执行文件;

对于目录中的r w x的理解

目录r的权限,可以查看目录中文件的信息;

目录w的权限,可以修改,新建,删除目录中的文件;

目录x的权限,进入一个目录需要x的权限;

linux创建文件的时候有默认权限

创建的普通文件:起始权限是:0666(0表示八进制),去掉x的;

创建的目录文件:起始权限是:0777,包含x的;

但是我们看到的普通文件属性却是664;

这是因为linux中有个默认权限掩码umask ,一般默认是002(不同的服务器上也可能不一样);

文件的最终属性权限=起始权限&(~umask);

umask是可以修改的,如果想改变文件创建时的属性,可以修改umask;

4、问答

Q:为什么普通用户可以删除其他普通用户(包括root用户)的文件?

A:只要在我这个目录中,我有目录w的权限,就可以删除目录中的文件,和文件本身没有什么关系;

Q:如果想在linux下,由多个用户建立一个共享文件,大家都可以访问,怎么办?

A:在非用户目录下创建文件;

  • 24
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值