首页
最新活动
服务器租用
香港服务器租用
台湾服务器租用
美国服务器租用
日本服务器租用
新加坡服务器租用
高防服务器
香港高防服务器
台湾高防服务器
美国高防服务器
裸金属
香港裸金属服务器
台湾裸金属服务器
美国裸金属服务器
日本裸金属服务器
新加坡裸金属服务器
云服务器
香港云服务器
台湾云服务器
美国云服务器
日本云服务器
CDN
CDN节点
CDN带宽
CDN防御
CDN定制
行业新闻
官方公告
香港服务器资讯
帮助文档
wp博客
zb博客
服务器资讯
联系我们
关于我们
机房介绍
机房托管
登入
注册
帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
联系客服
服务器资讯
/
香港服务器租用
/
香港VPS租用
/
香港云服务器
/
美国服务器租用
/
台湾服务器租用
/
日本服务器租用
/
官方公告
/
帮助文档
【Linux】关于Linux中的权限
发布时间:2024-02-29 09:32:43 分类:帮助文档
【Linux】关于Linux中的权限 文章目录 前言Linux权限文件访问者的分类(人)文件类型和访问权限(事物属性)文件类型基本权限 目录的权限粘滞位权限的总结 前言 前面我们已经知道。Linux下有两种用户:超级用户(root)、普通用户 以及相互之间的切换: 以及引入的权限的一些铺垫。 下面,我们对其进行补充说明。 如果不切换用户,就想让普通用户以root的身份,执行对应的指令,该怎么去做呢? 很简单,加上sudo.sudo加上指令表示短暂的提权,root执行命令。不过这里会有一个问题,不让我们执行,也就是说系统不相信这个用户: 在这个地方,我们授权的时候,让我们输入自己的密码:给受信任的用户,提供最少的执行障碍 解决方法:需要将当前用户添加到系统的文件/etc/sudoers中。这里先不展开说明。后面会做补充。如果暂时使用root,root的权限是最大的,可以随便切换到其他普通用户。也就不存在没有权限的问题了。 Linux权限 简单理解权限:权限简单来说就是进行约束的。(人,一个或者某些群体) 目标对象,本来就没有对应的属性。也就不具备该权限。一个事情是否允许被谁做 文件 = 内容+属性 为什么要有权限❓便于我们系统进行安全管理的 为什么创建的目录或者普通文件,默认的权限是我们看到的这个样子: 为什么创建出来的目录/文件权限是默认上面这个样子的: Linux规定,目录起始的权限是777(二进制表示,这一部分不懂可以先跳过,往下继续看权限的二进制) 普通文件的起始权限是666 umask: 注意这里的umask是可以进行改变的: 0022——系统默认会配置好umask权限掩码:凡是在umask中出现的权限,都必须在起始权限去掉!!! 这也就对应上了: 这里还存在一个问题:去掉是在做减法吗❓ 我们发现file根本没有发生变化如果是减法的话应该是原来的666(110 110 110)--------》001 001 001.所以不是减法 实际上,最终权限 = 起始权限 & (~umask) 起始权限:666 110 110 110 umask: 0111 001 001 001 ~umask: 110 110 110 起始权限 & (~umask): 110 110 110 即 rw- rw- rw- 文件访问者的分类(人) 文件和文件目录的所有者: u—User 文件和文件目录的所有者所在的组的用户: g—Group 其它用户: o—Others 文件类型和访问权限(事物属性) 文件类型 补充:Linux和windows(根据文件的后缀)的差别很大。而Linux的文件类型和后缀无关(后缀名可以作为提示,用户可以使用后缀区分文件类型),但是对linux来说区分文件和文件本身的后缀是无关的(但是gcc等工具对文件后缀可能有要求)。后缀本质就是文件名的一部分。 开始之前,我们输入ll指令,来看看前面10个字符代表什么意思: 在linux中,是通过ll显示的众多属性列中的第一列的第一个字符来区分文件类型的。 d:目录文件 -:普通文件(源代码,库文件,可执行程序,文档压缩包等等) l:链接文件(类似Windows的快捷方式) b:块设备文件(例如硬盘、光驱等) p:管道文件 c:字符设备文件(例如键盘,显示器) [hwc@VM-8-3-centos test5]$ ll /dev/tty crw-rw-rw- 1 root tty 5, 0 Sep 29 16:02 /dev/tty s:socket文件 到了这里,我们已经了解了第一个字符,那其他的呢❓ 对于权限字符所代表的意思,请往下看👇 基本权限 i.读(r/4): Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限 ii.写(w/2): Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限 iii.执行(x/1): execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限 iv.“—”表示不具有该项权限 对于权限我们有了基本的了解,那我们该如何去设置权限呢❓ chmod 功能: 设置文件的访问权限 格式: chmod [参数] 权限 文件名 常用选项:R -> 递归修改目录文件的权限 说明:只有文件的拥有者和root才可以改变文件的权限 chmod 用户表示符+/-=权限字符 +:向权限范围增加权限代号所表示的权限 -:向权限范围取消权限代号所表示的权限 =:向权限范围赋予权限代号所表示的权限 用户符号: u:拥有者 g:拥有者同组用 o:其它用户 a:所有用户 [hwc@VM-8-3-centos test5]$ chmod u+x file.txt [hwc@VM-8-3-centos test5]$ chmod u-r file.txt [hwc@VM-8-3-centos test5]$ chmod g-rw test.txt [hwc@VM-8-3-centos test5]$ chmod g+rwx test.txt [hwc@VM-8-3-centos test5]$ chmod o-r test.txt [hwc@VM-8-3-centos test5]$ chmod o+rw test.txt 当然,我们也可以组合起来: [hwc@VM-8-3-centos test5]$ chmod u-rwx,g-rwx test.txt [hwc@VM-8-3-centos test5]$ chmod u+rw,g+rw,o-rw test.txt 对于所有用户: [hwc@VM-8-3-centos test5]$ chmod a-rwx test.txt 到了这里,我们对于权限的设置有了了解。如果我们把r权限去掉,而去读取呢?当前不能读 [hwc@VM-8-3-centos test5]$ chmod u-r test.c [hwc@VM-8-3-centos test5]$ ll total 20 -rwxrwxr-x 1 hwc hwc 8360 Sep 29 18:59 aaa drwxrwxr-x 2 hwc hwc 4096 Sep 29 18:46 dir -rw-rw-r-- 1 hwc hwc 0 Sep 29 18:46 file.txt --w--w---- 1 hwc hwc 89 Sep 30 17:16 test.c -rw-rw-rw- 1 hwc hwc 0 Sep 30 12:10 test.txt [hwc@VM-8-3-centos test5]$ cat test.c cat: test.c: Permission denied [hwc@VM-8-3-centos test5]$ chmod u-w test.c [hwc@VM-8-3-centos test5]$ ll total 20 -rwxrwxr-x 1 hwc hwc 8360 Sep 29 18:59 aaa drwxrwxr-x 2 hwc hwc 4096 Sep 29 18:46 dir -rw-rw-r-- 1 hwc hwc 0 Sep 29 18:46 file.txt -r---w---- 1 hwc hwc 89 Sep 30 17:16 test.c -rw-rw-rw- 1 hwc hwc 0 Sep 30 12:10 test.txt [hwc@VM-8-3-centos test5]$ echo "you can see me " >> test.c -bash: test.c: Permission denied 这是在普通用户下的,而在root用户下不受约束,我们可以来看看 [root@VM-8-3-centos test5]# cat test.c #include
int main() { printf("hello world\n"); return 0; } you can see me [root@VM-8-3-centos test5]# chmod a-rwx test.c [root@VM-8-3-centos test5]# ll total 20 -rwxrwxr-x 1 hwc hwc 8360 Sep 29 18:59 aaa drwxrwxr-x 2 hwc hwc 4096 Sep 29 18:46 dir -rw-rw-r-- 1 hwc hwc 0 Sep 29 18:46 file.txt ---------- 1 hwc hwc 89 Sep 30 17:16 test.c -rw-rw-rw- 1 hwc hwc 0 Sep 30 12:10 test.txt [root@VM-8-3-centos test5]# echo "hello root" >>test.c [root@VM-8-3-centos test5]# ll total 20 -rwxrwxr-x 1 hwc hwc 8360 Sep 29 18:59 aaa drwxrwxr-x 2 hwc hwc 4096 Sep 29 18:46 dir -rw-rw-r-- 1 hwc hwc 0 Sep 29 18:46 file.txt ---------- 1 hwc hwc 100 Sep 30 18:17 test.c -rw-rw-rw- 1 hwc hwc 0 Sep 30 12:10 test.txt [root@VM-8-3-centos test5]# cat test.c #include
int main() { printf("hello world\n"); return 0; } you can see me hello root [root@VM-8-3-centos test5]# 对于二进制的表示方法: [hwc@VM-8-3-centos test5]$ chmod 000 test.c [hwc@VM-8-3-centos test5]$ ll total 20 -rwxrwxr-x 1 hwc hwc 8360 Sep 29 18:59 aaa drwxrwxr-x 2 hwc hwc 4096 Sep 29 18:46 dir -rw-rw-r-- 1 hwc hwc 0 Sep 29 18:46 file.txt ---------- 1 hwc hwc 100 Sep 30 18:17 test.c -rw-rw-rw- 1 hwc hwc 0 Sep 30 12:10 test.txt [hwc@VM-8-3-centos test5]$ chmod 777 test.c [hwc@VM-8-3-centos test5]$ ll total 20 -rwxrwxr-x 1 hwc hwc 8360 Sep 29 18:59 aaa drwxrwxr-x 2 hwc hwc 4096 Sep 29 18:46 dir -rw-rw-r-- 1 hwc hwc 0 Sep 29 18:46 file.txt -rwxrwxrwx 1 hwc hwc 100 Sep 30 18:17 test.c -rw-rw-rw- 1 hwc hwc 0 Sep 30 12:10 test.txt 这里如果我们去改文件的拥有者呢❓ chown 功能:修改文件的拥有者 格式: chown [参数] 用户名 文件名 # chown user1 f1 # chown -R user1 filegroup1 很现实的问题:把文件修改为其他人是不能“单方面”就可以的,需要他人的同意。 解决方法:1.使用sudo指令。2.切换到root用户,直接改变。 root的权限是最大的,可以直接将文件修改为其他用户: chgrp 功能:修改文件或目录的所属组 格式: chgrp [参数] 用户组名 文件名 常用选项: -R 递归修改文件或目录的所属组 sudo chgrp hwc test.txt //把文件拥有者和所属组同时改了 sudo chown huangweichang:huangweichang test.txt file指令 功能说明:辨识文件类型。 语法: file [选项] 文件或目录… 常用选项: -c 详细显示指令执行过程,便于排错或分析程序执行的情形。 -z 尝试去解读压缩文件的内容 目录的权限 如果我们要进入一个目录,需要什么权限❓X权限 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容. 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件 所以这也是为什么系统规定目录的起始权限从777开始,所有的目录被创建出来,一般都要能够被进入 换句话来讲, 就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限。也就是说,张三创建的一个文件, 凭什么李四可以删掉 [root@VM-8-3-centos Test]# ll total 24 -rwxr-xr-x 1 root root 8360 Sep 28 18:56 no_die -rw-r--r-- 1 root root 107 Sep 28 18:54 no_die.c drwxr-xr-x 2 root root 4096 Sep 28 08:56 test drwxr-xr-x 2 root root 4096 Sep 28 23:36 test5 [root@VM-8-3-centos Test]# chmod 0777 /home/ [root@VM-8-3-centos Test]# ls /home/ -ld drwxrwxrwx. 12 root root 4096 Sep 30 18:53 /home/ [root@VM-8-3-centos Test]# touch /home/root.c [root@VM-8-3-centos Test]# su - hwc Last login: Sat Oct 1 08:18:52 CST 2022 from 222.200.254.195 on pts/0 [hwc@VM-8-3-centos ~]$ rm /home/root.c rm: remove write-protected regular empty file ‘/home/root.c’? y [hwc@VM-8-3-centos ~]$ 为了解决这个不科学的问题, Linux引入了粘滞位的概念 粘滞位 Linux系统中有很多人,我们需要在一个公共的目录下,进行临时文件的操作(增删查改) 通过ll /就会发现有一个这样的目录tmp,这就是公共目录。对于粘滞位:一定是在一个公共的目录下,大家一起进行文件操作。 公共目录通常由root用户来创建: 创建公共目录 至此,我们把公共目录创建完毕。 用不同身份在mytmp创建文件 接下去我们用另一个用户创建文件(由于sudo权限暂时用不了,我们直接暴力一点,用root账号去切换另一个账户(huangweichang)) 这时这两个都可以在公共目录下读写自己的临时文件。现在huangweichang相对于hwc是others,可以进行读吗? 这里的权限只有只读,没有任何问题哦。可以往自己的文件进行读写。 删除文件 hwc1.txt的权限不让huangweichang这个用户去写,就把hwc1.txt这个文件给删除了 这问题可大了,一个文件在公共目录下,不能写,我们却能把它删掉,这是不合理的。一个不能以另一个用户读、写、执行的文件,竟然可以让另一个用户删除。所以创建和删除的权限是目录的权限,即在目录中创建和删除里面文件的权限不是文件本身的权限,而是目录的权限 这时候需要一个策略,让一个公共目录,大家各自可以进行rwx操作,但是禁止大家互删对方的文件,因此我们需要给这个公共目录设置粘滞位(权限的一种特殊情况)。 当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由 一、超级管理员删除 二、该目录的所有者删除 三、该文件的所有者删除 权限的总结 目录的可执行权限是表示你可否在目录下执行命令。如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限 所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。
上一篇
绝地求生 日本 服务器
下一篇
什么是服务器租用啊
相关文章
传奇租完服务器怎么用
宝塔面板内存占用率优化
listen EACCES - permission denied 127.0.0.1-80错误解决方法
高防ip怎么使用说明
Linux学习记录——사십사 高级IO(5)--- Epoll型服务器(2)(Reactor)
适合大型企业的云计算服务器有哪些?
腾讯云4核8G服务器多少钱?646元一年零3个月
Redis主从集群搭建三主三从服务器并检查集群信息-----Redis
ubuntu网卡驱动安装流程、手机为服务器提供临时网络
香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价
7*24H在线售后
高可用资源,安全稳定
1v1专属客服对接
无忧退款试用保障
德讯电讯股份有限公司
电话:00886-982-263-666
台湾总部:台北市中山区建国北路一段29号3楼
香港分公司:九龙弥敦道625号雅兰商业二期906室
服务器租用
香港服务器
日本服务器
台湾服务器
美国服务器
高防服务器购买
香港高防服务器出租
台湾高防服务器租赁
美国高防服务器DDos
云服务器
香港云服务器
台湾云服务器
美国云服务器
日本云服务器
行业新闻
香港服务器租用
服务器资讯
香港云服务器
台湾服务器租用
zblog博客
香港VPS
关于我们
机房介绍
联系我们
Copyright © 1997-2024 www.hkstack.com All rights reserved.