hello!这里是敲代码的小董,很荣幸您阅读此文,本文只是自己在学习Linux过程中的笔记,如有不足,期待您的评论指点和关注,欢迎欢迎~~
✨✨个人主页:敲代码的小董
💗💗系列专栏:Linux
1. 认识Linux系统下用户的分类
认识Linux下的用户分类:
- root:超级用户,基本不受约束,可以在Linux系统下做任何事情。
- 普通用户:我们新创建的用户"adduser",受权限约束,在Linux系统下做有限的事情。
- 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。
命令:su [用户名]
功能:切换用户。
例如:要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。
如果我们想要展示对一条指令进行提权 sudo command(目前我们用adduser新建的用户,没有颁发执行sudo,系统不信任新用户,除非将普通用户,添加到系统的信任白名单里面)。
2. 什么叫做权限?
在Linux系统中,文件权限是用于控制用户和组对文件和目录的访问和操作权限。 简单来说,一件事情是否允许被我们做。
权限的认证是身份(权限和“人”有关),在Linux中,权限有三类用户:文件的拥有者(u)、文件所属组的用户(g)和其他用户。
权限也和事务的“属性”有关。以文件属性为例,每个文件或目录都有三个基本权限:读取(r)、写入(w)、可执行(x)。
2.1 文件的类型
文件的类型:
- d:文件夹(目录文件)
- -:普通文件 (文本、可执行程序、库)
- l:软链接(类似Windows的快捷方式)
- b:块设备文件(例如硬盘、光驱等)
- p:管道文件 (用来进行通信的)
- c:字符设备文件(键盘、显示器文件等)
- s:套接口文件
2.2 基本权限
读(r/4):
Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限 。
写(w/2):
Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限。
执行(x/1):
execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。
“—”:
表示不具有该项权限。
3. 文件权限值的表示方法
3.1 字符表示方法
3.2 8进制数值表示方法
没有权限会出现什么现象?
4. 文件访问权限的相关设置方法
4.1 chmod
功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
常用选项:
R :递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限
chmod命令权限值的格式:
①用户表示符+/-=权限字符
- +:向权限范围增加权限代号所表示的权限
- -:向权限范围取消权限代号所表示的权限
- =:向权限范围赋予权限代号所表示的权限
- 用户符号:
- u:拥有者
- g:拥有者同组用
- o:其它用户
- a:所有用户
②三位8进制数字
4.2 chown
功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名
4.3 chgrp
功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组
4.4 umask
功能:
查看或修改文件掩码
新建文件夹默认权限=0666
新建目录默认权限=0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask
格式:umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。