赞
踩
我经常所说的linux操作系统,其实不完全正确,linux其实是一个操作系统内核(kernel),而作为普通用户我们不能直接访问kernel,因为kernel可以为我们工作,但是我们不是kernel的设计者,不懂得kernel的运作机制,很容易误操作或者不会操作。所以我们需要一个中间者让我们和kernel建立联系。那就是shell。
shell作用:
1.将用户命令翻译给kernel,让kernel执行。
2.将kernel执行命令后的结果反馈给用户。
其实shell就像翻译
我们现在所使用的Windows的GUI图形化用户界面,其实与shell起到相同的作用,不过GUI是将鼠标点击的图形的动作翻译给kernel,然后再将kernel执行后的结果图形化显示给用户。
比如点击磁盘(disk)图形进入磁盘内部。
超级用户
可以在linux系统下任意操作,不受限制,命令行提示符是“#”
普通用户
在linux系统下访问受限,命令行提示符是“$”
计算机发展到今天,家家户户都有了计算机,计算机被用于各种各样的工作,小到在上面写个日记,大到政府部门在上面建立秘密级或者绝密级资料。既然计算机的用途很广,作用很大,已经被成体系的使用了,到现在计算机组成的网络已经成为了一个虚拟世界了,甚至它都已经成为了赚钱的工具,为了不出乱子,那么计算机就必须建立秩序,计算机上的所有信息都是用文件构成的,那么就用文件访问权限来构建秩序。
一个操作系统把拥有不同权限的人,分成三类
1.文件和文件目录拥有者(u)—user
2.文件和文件目录拥有者以外的人,其他用户(0)—other
3.与拥有者共同处理文件或文件目录的人,所属组(g)—group
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
权限 | 普通文件 | 目录 |
---|---|---|
r | 读内容权限 | 查看目录信息权限 |
w | 修改文件内容权限 | 创建删除文件或目录权限 |
x | 对于可执行文件有执行权限 | 进入目录的权限 |
注意:这些权限信息是固定位置不变的
标识符 | 八进制表示方法 | 普通文件 / 目录权限 |
---|---|---|
r | 4 | 读取信息 / 查看目录信息 |
w | 2 | 修改文件内容 / 创建删除文件以及目录 |
x | 1 | 对于可执行文件可执行 / 进入目录 |
rw | 6 | 读写 / 查看目录内容,创建修改目录以及文件 |
rx | 5 | 可读,可执行 / 可查看目录信息,可进入目录 |
wx | 3 | 可修改文件内容,可执行 / 创建文件以及目录,可进入目录 |
rwx | 7 | 可读,写,执行 / 查看并进入目录,在目录中创建文件以及目录 |
a)chmod
功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限
chmod
① 用户表示符+/-=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
那么这里出现一个问题,如果我们想在磁盘中创建一个公共文件,想要所有用户都可以在里面创建文件,但是对于别人的文件没有删除权限。如果去掉w权限,那么所有用户都会失去创建和删除文件的其权限,这里我们引申一个知识点,叫做粘滞位。
粘滞位就可以轻松解决上述问题,给这个公共目录设置粘滞位以后,这个目录的文件就只能有文件拥有者,目录创建者,超级管理员来删除了。
b)chown
功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名
c)chgrp
功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组
当我们在linux上创建文件或者目录时,可以看到文件或者目录是有初始权限的,而且文件和目录的初始权限还不同。这是怎么回事?
其实linux规定的文件创建默认权限是:666,目录默认权限是:777;但是我们看到的文件初始权限是:644,目录权限是:655;那是因为文件和目录的权限还受umask文件掩码的影响
查看或修改文件掩码:umask指令
假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask
修改mask值:umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。
上面解释了linux有两种用户,一种是root超级管理员不受权限约束,一种是普通用户受权限约束;在装应用程序,改变本来拥有者是root的文件拥有者等这些操作都是需要root才能完成的操作,如果我们管理员不想普通用户知道root的密码,还想让一个普通用户暂时拥有对一条指令提权的权限的话,那么就可以使用sudo指令对本来无法执行的指令暂时赋予执行权限。
sudo使用之前需要配置文件,将普通用户信息添加到root用户下/etc/sudoers文件的信任列表中
1.切换root用户,或者是找管理员,找到/etc/sudoers系统文件并打开
2.找到root ALL(ALL) ALL
3.下面添加 用户名 ALL=(ALL) ALL 就可以了
现在就可以使用了,
用法:sudo+指令
需要输入当前用户密码:*********
本篇博客主要围绕文件,目录和用户的使用操作,介绍了linux的权限的表示方法,如何使用,怎么修改,使用到了chmod、chown、chgrp,sudo,umask,等指令。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。