Linux下有两种用户(具体的人):超级用户(root)、普通用户。
超级用户:可以再
linux
系统下做任何事情,不受限制
普通用户:在
linux
下做有限的事情。
超级用户的命令提示符是
“#”
,普通用户的命令提示符是"$"。
ctrl+d:退出登录
命令
:
su [
用户名
]
功能
:切换用户。
例如,要从
root
用户切换到普通用户
user
,则使用
su user,且不用输入密码。
要从普通用户
user
切换到
root
用户则使用
su root(
root
可以省略),此时系统会提示输入
root
用户的密码。


su - (不推荐使用)
也是从普通用户user切换到root用户,不过路径会改变
Linux权限管理
文件访问者的分类(人:角色)
文件和文件目录的所有者:
u---User
(中国平民 法律问题)
文件和文件目录的所有者所在的组的用户:
g---Group
(不多说)
其它用户:
o---Others
(外国人)
文件类型和访问权限(事物属性)
因为拥有者跟所属组确定了,所有其他人就是others,不显示
文件类型
d
:文件夹
-
:普通文件
l
:软链接(类似
Windows
的快捷方式)
b
:块设备文件(例如硬盘、光驱等)
p
:管道文件
c
:字符设备文件(例如屏幕等串口设备)
s
:套接口文件


Linux不区分文件类型,但是Linux上面的工具(gcc、g++等)可能区分:

基本权限
读(
r
):
Read
对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
写(
w
):
Write
对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
执行(
x
):
execute
对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
“—”
表示不具有该项权限

可执行不等于可执行权限:

文件访问权限的相关设置方法
chmod
功能:
设置文件的访问权限
格式:
chmod [
参数
]
权限 文件名
常用选项:
说明:只有文件的拥有者和root才可以改变文件的权限
① 用户表示符+/-=权限字符

+:
向权限范围增加权限代号所表示的权限
-:
向权限范围取消权限代号所表示的权限
=:
向权限范围赋予权限代号所表示的权限
用户符号:
u
:拥有者
g
:拥有者同组用
o
:其它用户
a
:所有用户
例:
chmod u+w /home/abc.txt



②三位8进制数字
例:
chown
功能
:修改文件的拥有者
格式
:
chown [
参数
]
用户名 文件名
实例:


chgrp
功能
:修改文件或目录的所属组
格式
:
chgrp [
参数
]
用户组名 文件名
实例
:


怎么不见修改other的指令呢??因为不需要
对比权限有无的表现
不能读,写,执行:
对于普通用户,自身要受到对应权限的约束,即便这个文件是自己的
root用户不受权限约束:
对用户进行身份识别时,只匹配一次
即普通用户whb优先匹配拥有者whb,而拥有者没有权限,故不能完成读,写,执行操作,即使whb是所属组(有rw权限)也不行。
目录的权限
可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
可读权限
:
如果目录没有可读权限
,
则无法用
ls
等命令查看目录中的文件内容
.
可写权限
:
如果目录没有可写权限
,
则无法在目录中创建文件
,
也无法在目录中删除文件
.

umask
功能
:
查看或修改文件掩码
新建文件夹默认权限=0666
新建目录默认权限=0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到 umask的影响。假设
默认权限是mask
,则实际创建的出来的文件权限是
:
mask & ~umask

格式
:
umask
权限值
查看:

修改:

即

说明
:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为
0022
,普通用户默认为0002
。


粘滞位
给other加上权限
当一个目录被设置为
"
粘滞位
"(
用
chmod +t),
则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除
关于权限的总结
目录的可执行权限是表示你可否在目录下执行命令。
如果目录没有
-x
权限,则无法对目录执行任何命令,甚至无法
cd
进入目
,
即使目录仍然有
-r
读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
而如果目录具有
-x
权限,但没有
-r
权限,则用户可以执行命令,可以
cd进入目录。但由于没有目录的读权限,所以在目录下,即使可以执行
ls
命令,但仍然没有权限读出目录下的文档。