Linux权限
Linux是一个多人多任务的系统,因此经常会出现同一台机器同时有多个人进行操作,为了考虑每个人的隐私权以及每个人喜好的工作环境,所以文件的权限归属就至关重要。为了保障系统的安全性和文件的隐私性,一个文件针对不同权限的账户有着不同的权限。
文档类型
d : 目录
- : 常规
l : 软链接
b : 装置文件里面的可供储存的接口设备(可随机存取装置)
c : 装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
文档权限
分为三组,分别是所有者权限、同一群组权限、其他人权限。
一个文件只能归属于一个用户和组, 如果其它的用户想有这个文件的权限,则可以将该用户加入具备权限的群组,一个用户可以同时归属于多个组。
权限由rwx三个字母表示,分别表可读、可写、可执行。对于目录而言,必须是可执行的,否则无法读取目录内容。
切换身份
/home目录下的不同文件夹表示不同的身份,不同身份目录下的文件归属权是不同的。/根目录下文件的归属权是root用户,普通用户无法修改文件,须切换root身份才能修改。普通用户使用Vscode修改后保存是没有效果的,且Vscode没有相关提示,很容易不注意到。
~在Linux中代表用户主目录。对一般用户,~表示/home/(用户名)。对于root用户,~表示/root。
su(switch user)
su v.s. su-
su只是切换了root身份,但Shell环境仍然是普通用户的Shell;而su -连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。
sudo su v.s. su
sudo su是当前用户暂时申请root权限,所以输入的不是root用户密码,而是当前用户的密码。sudo是用户申请管理员权限执行一个操作,而此处的操作就是变成管理员。
su是申请切换用户,默认是root用户,需要输入root用户密码。有些Linux发行版,例如ubuntu,默认没有设置root用户的密码,所以需要我们先使用sudo passwd root设置root用户密码。
查看group
- 当该组内只有一个用户,并且用户名和组名相同时,在组列表中,包含用户一列可以为空
- 系统中root分组的组编号一定为0
- 组号1~499为系统预留的组编号,一般是预留给系统安装的软件或者服务的编号,越早安装的软件或者服务的组编号约早。用户手动创建的用户组编号从500开始
- 组密码占位符,无一例外,全部用x表示
修改权限
chmod 参数 文件名
直接设置代表权限的数字
chmod 777(对应权限的数字) 文件名
//权限的八进制表示(三位二进制即八进制)
r-- = 100
-w- = 010
--x = 001
给文件添加或减去某些权限
chmod u+w 文件名 给user用户加上w权限
chmod g-r 文件名 将group中的r权限去掉
chmod a+x 文件名 给user、group、other全部加上x权限
文件大小
目录创建过程中会为分配一个inode,文件系统inode会指向磁盘的一个块,块的大小为4k。
文件名
如果文件名前面有“ . ”,则表示这个文档或目录是隐藏的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!