权限
Linux的最大特点是一个多用户的操作系统,允许多个用户同时操作。因此为了保护文件不被任意破坏修改,将每个用户进行权利的限制,使其可以允许且仅允许用户进行相对应权限的操作。Linux将其分为两种大的权限,分别是用户对系统的操作权限以及对文件的访问权限。
对系统的操作权限
Linux下有两种用户:超级用户(root)与普通用户(user)
* 超级用户:也称管理员用户,可以在Linux系统下做任何事情,不受限制(在使用时,尽量慎重使用,操作不当对系统损害太大)
* 普通用户:在Linux下做有限的事情
超级用户的命令提示符是"#",普通用户的命令提示符是"$"
su指令
语法: su + 用户名
功能: 切换用户
主要将不同的用户之间进行切换,以分别实现不同权限下的功能
例1
从普通(user)用户切换到管理员(root)用户
su root 或者 su
例2
从管理员(root)用户切换到普通(user)用户
su user
sudo指令
sudo不是一个单独的指令,是搭配其他指令同时进行操作,将该次操作临时进行提权。需要进行相关配置,具体配置过程如下:
[1] su root
[2]输入管理员密码
[3]输入visudo
[4]输入:90
[5]输入i,进入插入模式
[6]在Allow root to run any commands anywhere下仿写需要提权的用户名,即 username ALL=(ALL) ALL
[7]esc退出模式
[8]输入:wq退出即配置完成。
对文件的访问权限
主要体现在对文件的操作上,用 ls -l 指令可以查看文件访问权限
文件主要有以下几个分类:
d:文件夹
-:普通文件
l:软链接(类似windows的快捷方式)
b:块设备文件(如硬盘、光驱等)
p:管道文件
c:字符设备文件(如屏幕等串口设备)
s:套接口文件
对于访问用户的分类:文件所有者,文件所属组,其他用户
文件所有者:文件和文件目录的所有者,用u表示
文件所属组:文件和文件目录的所有者所在的组的用户,用g表示
其他用户:用o表示
对于访问操作的分类:可读,可写,可执行
* 可读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限,简写为r,
* 可写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限,简写为w
* 可执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限,简写为x
* “—”表示不具有该项权限
文件权限值的表示方式
【1】字符表示法
Linux中表示 | 意义 | Linux中表示 | 意义 |
---|---|---|---|
r - - | 只读 | r w - | 可读、可写 |
- w - | 只写 | - w x | 可写、可执行 |
- - x | 只可执行 | r w x | 可读、可写、可执行 |
r - x | 可读、可执行 | - - - | 无权限 |
【2】八进制数字表示法
符号表示 | 二进制 | 八进制 |
---|---|---|
- - - | 000 | 0 |
- - x | 001 | 1 |
- w - | 010 | 2 |
- w x | 011 | 3 |
r - - | 100 | 4 |
r - x | 101 | 5 |
r w - | 110 | 6 |
r w x | 111 | 7 |
文件访问权限的设置方法
文件的默认权限:默认权限为权限掩码取反后对应的表达方式
umask指令
umask 查看或设置权限掩码
umask -S 查看默认权限
umask 222 设置默认权限掩码为222
【注意】默认权限的八进制表示实际上是权限掩码取反或者777-默认权限掩码(在创建文件时,文件不具备可执行性,故要去掉x,因此应为666-默认权限掩码)
修改文件权限
chmod指令(两种方法)
1. 字符表示方法
语法: chmod +(u/g/o)+权限+文件名
功能: 给文件在指定的用户上增加或删除某权限
常用选项
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限
相关参数表示说明
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
例3
chmod u +x networks 给networks文件的所有者增加可执行权限
例4
chmod u -r networks 给networks文件的所有者减少可读权限
2. 八进制表示法
语法:* chmod+三位八进制数 +文件名
使用方法雷同。
其他指令
chown指令
语法: chown +[常用选项]+ username+filename
功能: 修改文件的拥有者
例5
chown yunjie passwd 修改passwd文件的所有人为yunjie用户
chgrp指令
语法: chgrp +[常用选项]+ username+filename
功能: 修改文件或目录的所属组
使用方法与***chown***相同不再赘述