前言
今天我们简单的介绍Linux中的两个概念,分别是权限和软件包。Linux中一切皆文件,权限无非就是限制不同的角色对文件的能不能得问题,软件包则是简单介绍一下Linux中安装卸载程序
权限
权限针对的对象是角色,首先我们先来介绍一下Linux中的角色有哪些
两种用户
Linux有两种用户,分别是root和普通用户,root是超级管理员,不受任何权限的约束,可以说root就是权限本身,而普通用户是受到权限约束的
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”,当然也可以whoami查看当前用户
我们可以通过 su [用户名] 来切换用户
要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su
root(root可以省略),此时系统会提示输入root用户的密码,而root切换为普通用户不需要密码
用户分类
我们可以将具体的普通用户分为不同的身份,赋予他们不同的权限
文件和文件目录的所有者:u---User
文件和文件目录的所有者所在的组的用户:g---Group
其它用户:o---Others
我们一般只标识所有者和所属组,除此之外其他均为others
文件权限
文件类型我们目前只需要了解两个,d是目录,-是文件
Linux一切皆文件,我们对文件的权限可以分为三类,读写执行,分别使用rwx表示,我们在文件类型后面的九个位置三三以一组分别表示拥有者,所属组和其他人的权限,相应角色有相应的权限则相应的位置用r/w/x表示,没用则使用-表示。身份的确认只确认一次,也就是说一旦确认身份不再向下探测
i.读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
ii.写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
iii.执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
iv.“—”表示不具有该项权限
当然了权限可以使用0-7的数字表示,表示方式是相应的权限权重相加,r-4,w-2,x-1
更改文件权限
chmod
chmod [参数] 权限 文件名
-R 递归修改目录文件的权限
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
这里同样可以使用数字代表具体的权限的方式去修改权限,数字的计算和上面的计算方式相同
chmod [777] test.txt
这里777替换为相应的权限,依次表示拥有者,所属组和其他的权限
只有文件的拥有者和root才可以改变文件的权限
chown
chown [参数] 用户名 文件名
-R 可以递归修改
修改文件的拥有者
一般只有权限高的修改为权限低的,如root转为普通用户
chgrp
chgrp [参数] 用户组名 文件名
-R 可以递归修改
修改文件的所属组
umask
查看或修改文件掩码
新建文件夹默认权限=0666
新建目录默认权限=0777
但有的时候我们需要动态的调整某些权限对某些角色是否被放开,就可以调整这个参数,是创建的文件符合我们的预期
修改方式 umask 权限值 权限值中出现的权限,最终不会再创建文件的权限中出现
sudo提权
有的时候我们操作是需要root权限的,但我没有root账号,就可以向root申请加入root的sudo组中,这样我可以使用普通用户sudo提权暂时行使root的权限。sudo组需要配置,找到匹配文件,将普通用户添加至sudo组即可。
sudo 命令行 既可实现暂时使用root权限运行命令
粘滞位
关于目录的权限理解我们在前面介绍过
r表示读取目录中文件的信息,w表示删除创建文件的权限,x表示可执行是否能进入这个目录
我们可以观察一下普通用户的家目录,/home,这里面的权限对用户自己全开放,对其他人全禁止,这就实现了不同用户的隔离,但隔离解决了,如何协作呢?协作目录中如何保证我们都能创建文件,但不能随意删除别人的文件呢,因为创建删除都是写权限
为此我们引入粘滞位的概念
我们允许执行的x被替换为粘滞位的t
当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除
粘滞位只能加在其他人的可执行权限位,毕竟是协作目录,应该允许任何人进入工作
包管理器apt
我们需要再Linux上安装程序,有安装源码,软件包安装和包管理器安装,我们比较推荐包管理器安装,因为包管理器会自动管理依赖和环境,简单来说前两者需要安装程序之后再配置,包管理器一键安装。包管理器类似于我们的应用商店提供官方安全的软件和便利的安装方式
Linux安装程序要root权限,一次安装所有用户均可使用
查询软件
apt list 可以列出所有软件,但太多了
我们一般配合管道符查询使用
apt list | grep [sl]
它会查询带sl的软件
一般查询出来除了完整的软件名还会带一些别的信息,比如版本,cpu架构……
安装
apt install [sl]
会自动寻找到符合的软件下载
卸载
yum remove [sl]
会自动寻找卸载
其他
软件我们用到啥再下载即可,现在可以下载一个简单的sl程序试试看,并且运行sl
然后再卸载它,就基本掌握了apt的使用
结语
以上便是今天的全部内容。如果有帮助到你,请给我一个免费的赞。
因为这对我很重要。
编程世界的小比特,希望与大家一起无限进步。
感谢阅读!