如何电话推销客户做网站,杭州品牌网站建设推广,长春网络公司哪家最好,濮阳网站建设熊掌号个人主页#xff1a;点我进入主页 专栏分类#xff1a;C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 数据结构初阶 Linux 欢迎大家点赞#xff0c;评论#xff0c;收藏。 一起努力 目录
一.前言
二.权限修改的两种方法 … 个人主页点我进入主页 专栏分类C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 C语言刷题 数据结构初阶 Linux 欢迎大家点赞评论收藏。 一起努力 目录
一.前言
二.权限修改的两种方法
2.1利用字符修改
2.1.1Linux中文件的类型
2.1.2拥有的权限以及对文件属性的解读
2.1.3权限的修改
2.1.3.1root用户和其他用户的区别
2.2 使用八进制进行修改
2.3 umask 三.修改拥有者和所属组
四.粘滞位 一.前言 在Linux中用户分为超级用户和普通用户今天我们主要讲解一些修改权限有无权限的差别我们主要通过一些的实验来展示一下我们的操作大家可以跟着一起来感受一下权限的操作。我们知道文件是文件内容加文件属性文件属性应该怎么去查看呢如何去增加和减少权限如何实现共享文件以及共享文件中的粘滞位有什么作用应如何去实现这些问题在这篇博客中我会使用三个用户为大家一一解答大家要看仔细呦
二.权限修改的两种方法
2.1利用字符修改 我们使用ll可以查看文件的属性输入ll可以看到 其中4096是文件占用4096个字节第一个root表示这个文件的拥有者第二个root表示文件的所属组Jan 16 1722表示文件最近的修改日期,y表示文件的文件名对于drwxr-xr-x我们首先需要知道d的含义
2.1.1Linux中文件的类型 在Linux中d表示目录文件在我们经常使用的类型中包括说到文件类型我们知道windows中我们文件的类型通过后缀名来区分的例如我们的.exe文件,.c文件等但是在Linux中我们的文件类型是否也是通过文件的后缀名来区分呢事实上我们是通过文件属性前面的一个字符来区分的例如我们上面的y文件中的drwxr-xr-x中的第一个字符d这就是表示目录文件还有那些文件类型呢-类型的文件这是普通文件d类型的文件是目录文件还包括l软链接类似Windows的快捷方式b块设备文件例如硬盘、光驱等p管道文件c字符设备文件例如屏幕等串口设备s套接口文件在前面连个文件类型中我们是经常使用的。我们应该如何去验证Linux中的文件后缀不是文件的类型呢我们可以通过写一个.c文件利用gcc进行编译产生a.out文件我们对它进行修改文件名看是否可以执行呢 我们先执行一遍 我们修改a.out的名字为a.txt然后执行文件看是否可行 我们看到程序依旧执行了那我们就可以得到在Linux中文件的后缀不影响文件的类型。又有人有一些疑问那我将test.c的后缀改成test.txt再使用gcc对其进行编译为什么不行呢 我们可以看到出错了不是说Linux文件的后缀不是文件的类型吗这句话确实没有错但是gcc的要求不是这样的我们应该知道Linux≠gcc两个的要求不同我们应该理性的去看待他们两个。 我们看图现在我们知道了drwxr-xr-x中d表示文件的类型。
2.1.2拥有的权限以及对文件属性的解读 那么rwxr-xr-x表示什么呢首先我们需要知道Linux中我们有三种角色拥有者所属组其他rwxr-xr-x就是所这三种角色的权限是什么样子的这时候我们需要知道rwx表示的是什么意思 r表示文件具有可读属性也就是说我们可以用ls指令查看文件的属性和文件的内容 w表示文件具有可写属性也就是说我们可以增加删除修改文件的内容或者目录里面的内容; x表示文件具有可执行属性也就是说我们是否能执行某个文件例如cd文件这就需要我们具有x属性。 如果具有这些属性就会显示相应的字符如果没有就会显示-符号并且顺序一定权限表示的讲人分别是拥有者所属组其他例如rwxr-xr-x表示拥有者具有rwx权限所属组有rx权限其他人有rx权限。我们对 进行完整的解读就是文件名为y的文件是目录文件拥有者root具有rwx权限所属组root具有rx权限其他人具有rx权限占用4096个字节最近修改时间为Jan 16 17.22。
2.1.3权限的修改 文件权限的修改需要我们的chmod指令那chmod指令应该如何使用呢首先我们需要知道我们修改谁的权限 u拥有者 g所属组 o其他人 a所有人 我们知道对谁进行修改权限我们还需要知道修改哪些权限我们知道权限有rwx三种我们还需要知道是增加权限还是减少权限这需要我们的符号-其中表示增加权限-表示减少权限。我们还需要我们的目标文件我们的格式为文chmod 对象-权限 目标件这样就可以进行权限的修改首先我们在root用户中对a文件进行修改 例如我们想要让其他人具有rwx权限我们输入chmod orwx test1.txt指令就可以了 我们的普通用户是其他人我们进行实验看看有没有rwx属性,我们在普通用户中输入ls -ld a指令 所以具有r权限我们输入指令touch a/test.txt指令 我们可以看到可以增加删除文件所以具有w属性我们cd a可以判段有没有x属性 我们删除o的权限我们再看看能不能实现 我们输入ll a可以看到 我们输入mkdir a/test.txt 我们输入cd a 我们可以看到我们都没有权限
如果我们想修改多个人的权限我们可以输入chmod urwx,grwx,orwx a可以实现所有人有全部权限。
2.1.3.1root用户和其他用户的区别 我们知道普通用户想要对文件进行修改访问执行需要权限吗但是对于root我们需要知道这个不需要权限也能访问root就像一个老流氓一样可以在任何地方进行访问我们可以看看以下示例我们输入指令chomd a-rwx a我们可以看到我们取消了所有人的权限我们试试能不能进行访问 我们在它里面创建一个test.txt然后进入里面看能不能进行访问和执行 我们可以看到我们进入了目录a里面说明有x权限增添了文本test.txt说明有w权限执行了ll说明具有r权限这就是我们的root用户。
2.2 使用八进制进行修改 我们可以将权限的选项看成1和0有这个权限就是1没有这个权限就是0例如我们具有的权限是rwx对应的二进制就是111对应的八进制就是7我们想将一个人的权限设置成rwx我们就可以输入指令 chmod 777 a 我们想设置成000就可以输入指令chmod 000 a 2.3 umask 在正常情况下我们的目录文件应该全是777普通文件应该全是666但是目录文件却是775普通文件是664为什么会这样呢这就是文件掩码我们输入umask就可以看到我们的文件掩码的值那值是如何计算的呢就是777~umask先对umask的二进制未进行取反然后按位与值我们以777为例对应的二进制为111111111umsk为002对应000000010进行取反为111111101进行按位与为111111101也就是775. 三.修改拥有者和所属组 我们知道我们权限是谁具有什么权限我们在前面学过了如何去修改权限在这里我们学习如何去修改拥有权限的人我们先在root用户下进行 我们想将a.txt的拥有者修改为yang 我们输入指令chown yang a.txt 我们可以看到我们的拥有者是yang我们想修改所属组我们需要输入指令chgrp yang a.txt可以看到 由于是root账户可以对任意信息进行修改我们进入普通用户看看还行不行
我们用text.tga文件进行演示 我们可以看到 我们不能进行访问我们知道拥有者和所属组是root我们认为由于不是我们所以不能进行修改那我们对a进行修改看是否可行 我们看到不能进行修改所以在这里有显示了root和普通用户的区别。
当然我们也可以在前面加上sudo 进行操作。 四.粘滞位 在多人进行工作时我们一些人需要在一个文件中进行工作为了防止别人进行修改我们就需要粘滞位我们输入sudo chmod t 所属的目录 我们用一个普通用户让他进行删除a.txt 如果想要删除需要是root账号或者拥有者和所属组才能进行删除。