Linux权限

目录 

shell命令以及运行原理
Linux权限的概念
权限的管理
粘滞位
默认权限

shell命令以及运行原理

下图中的被叫作命令行,而后面可以输入的则是命令+选项

广义上,Linux发行版 = Linux内核 + 外壳程序

狭义上,Linux = Linux内核

外壳程序相等于Windows中的gui,即窗口图形

bash是外壳程序的名称,而shell则是它所扮演的角色,比如李明是一名老师,bash相当于李明这

个名字,而shell则相当于老师这个职业

如下图,shell有两个作用

传递请求指令,让OS去执行

保护内核

另外,shell也能创建子进程来进行执行具有风险的事情,程序运行起来就是一个进程,而shell本

身也是一个进程

Linux权限的概念

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

超级用户:具有非常高的权限
普通用户:具有一般权限,需要受权限的约束,比如创建用户就不能做,需要超级用户才行
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
su - :切换至root用户
su name:切换至普通用户
注意:最好不要将root用户和普通用户的密码设成一致,否则可能会造成对权限界限不清楚以及其
它问题
如果要回到原来的用户,用su指令则会增加bash,
直接输入exit或Ctrl+D也能返回,且比su指令更好一些

权限:一件事情是否允许被特定的人做

权限 = 人+ 事物的属性

权限约束的是人,文件本身具有的天然的权限属性:r(读) + w(写) + x(可执行)

权限的管理

权限的操作则是修改人或者修改属性

Linux中的用户类型

拥有者:owner;所属组:group;其它:other

而之所以有所属组,则是为了方便组内协同,比如两组进行竞争,其中一组的一个人写了一段好的

代码,希望组内的人来找bug,这时他就需要开放权限让别人看到,而又不能让另一组的人看到,

这时就只需开放所属组的权限即可

用户的区别

拥有者,所属组,other:指的是一种角色

root和普通用户:指的是具体的一个人,他能是拥有者,所属组或other

第一个字符标识文件的类型 ,Linux中,不以文件后缀作为区分文件类型的方式

文件分类

-:普通文件(文本、各种动静态库,可执行程序,源程序)

d:目录文件

c:字符设备文件:键盘与显示器

b:块设备文件:磁盘

p:管道文件:通信

l:链接文件:软连接

Linux下一切皆文件

如下图,有r则有读权限,为-则没有读权限,有w则有写权限,为-则没有写权限,为x则有可执行

权限,为-则没有可执行权限 

注意:rwx的顺序是不能被改变的

修改权限

需要用到的指令是chmod,格式chmod  所属  +/-某权限  文件,所属就有拥有者,所属组和

other,缩写为u、g、o,+/-表示添加权限或去除权限,文件就是要改变权限的文件,例子如下:

如下图,就是去除拥有者的读权限,然后就不能读取文件内容了

如下图,就是去除拥有者的写权限,可以继续写入,但是保存不了,所以只能不写退出

如下图,就是去除的所属组的权限 

如下图,a是all的缩写,能同时对三种角色的权限进行修改

权限的另一种修改格式(数字)

比如是r和是-就表示有读权限和没有读权限,所以也可以用1/0来表示有无权限,而每个所属都有3

个权限,这里就能用一个8进制数字表示,比如rw-变成r--,用数字就是100,即4,让rw-rw-r--变

成r--rw-r--,则是464,如下图

权限对root用户的限制几乎无效,如下图,other无读和写权限,但root依然可以读和写

 

修改文件所属

改变拥有者是chown,改变所属组则是chgrp,而other则随着前两者变化,无需手动修改

将文件给别人,需要得到对方的同意,所以这里可以在前面加个sudo强制给别人,但暂时无法演

示,这里直接将用户切换为root来做 

如下图,将文件的拥有者进行了改变

root则可以直接拿和给,不受此约束 

如下图,将文件的拥有者和所属组同时改变

进入目录需要的权限是可执行权限(x)

如下图,lesson目录没有了可执行权限,则无法进入目录,而ls因为有读权限,却可以查看目录内

容,就看似显得很矛盾,但只能看到文件/目录名,属性看不到,这样看,就不觉得矛盾了 

粘滞位
如果目录本身对other具有w权限,那other可以删除任何目录下的文件,否则,other不可以删
除任何文件,这里因为sudo暂时无法使用,所以直接用root执行
这时就有一种需求:other可以在特定的目录下创建文件,并写入但是不想让任何人删掉自己的文
件,这就看起来很矛盾,因为让你创建文件,就需要有w权限,而不让你删除文件,就不能有w权
限,所以就有了粘滞位t权限,能满足上述情况,它可以理解为一种特殊的x
添加粘滞位,用root创建文件,因为暂时无法使用sudo,所以只能用root去做,同时无法删除文
件,因为root权限太高,粘滞位对它无影响,所以还是可以删除文件,就无法演示

默认权限

新创建的普通文件或目录的权限是我们所看到的样子的原因
如下图,目录p1的权限是775,文件test.c的权限是664,首先普通文件的起始权限是666,而目录
文件的起始权限是777,而下方的0002则是权限掩码,凡是在umask中出现的,都应在起始权限中
去掉,002则是000 000 010,而777则是111 111 111,所以从右往左第二个1要变为0,方法则是
将002按位取反,再按位与777就得到了775,同理,普通文件就从666变为了664
同时权限掩码还能更改,如下图,不过只在本次登录有效 

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值