centos(8)-权限

linux可以有多个用户同时登录操作,并且彼此隔离,互不干涉。这是linux非常重要的安全机制,而实现这一点的关键就是权限。

权限身份

在linux中对文件进行操作时,首先要知道操作者的身份,然后判断其身份是否有操作权限,而身份主要分为三种:拥有者、组、其他。
拥有者:文件拥有者,比如用你的账户登录你的目录后,你创建的文件或者你用安装包安装的文件等,你都具有拥有者权限。
组:除了拥有者,每个文件也会属于一个组,而该组的用户对这个文件具有组权限。
其他:即不是拥有者也没有加入文件所属组的其他用户,具有其他权限。
root:还有一个特例就是root用户,他可以不受权限制约。但是一些安全性较高的程序比如数据库,同样会制约root的权限。

查看身份和权限

ll:查看文件。看最后一行hello.txt文件的权限是-rw-r--r--,一共10个字符,下面详解。

第1个字符:如果是d表示目录,这里是 - 表示文件,还有一些其他字符比如 l 表示链接文件。
第2至4个字符: 表示拥有者具有的读/写/执行的权限,图中rw- 表示root用户只有读写权限。
第5至7个字符: 表示同组用户具有的读/写/执行的权限,图中r-- 表示root组成员对文件只有读权限。
第8至10个字符:表示其他人具有的读/写/执行的权限,图中r-- 表示其他人对文件只有读权限。
现在再来看图中的anaconda-ks.cfg文件,这里面记录了一些安装配置信息包括密码。不用担心,从权限可以看出,root以外的用户是无法访问它的。

文件权限和目录权限

文件的rwx和目录的rwx含义是不一样的。

文件r:查看文件内容的权限,如有权执行cat命令看到文件内容。

文件w:修改文件内容的权限,如有权执行vi命令(还没讲)修改并保存。

文件x:执行文件内容的权限,如有权执行之前安装的bin/java可执行文件。

目录r:查看目录内容的权限,如有权执行ls命令查看目录内容。

目录w:可以在该目录下,执行文件的新建、删除、移动、重命名的权限。

目录x:进入目录的权限,如有权执行cd命令进入目录。

修改身份和权限

chown -R 用户名 /文件路径:即change owner,修改文件拥有者为指定用户,-R是指包含该目录下的所有子目录及文件。

chgrp -R 组名 /文件路径:即change group,修改文件的组为指定组,-R同上

chmod -R u=rwx,g=rwx,o=rwx ./hello.txt:修改权限,u是用户,g是组,o是其他。-R同上。

如下,hello.txt有了所有权限,并且变成了绿色,表示可执行文件。


数值权限

 chmod 数值:还可以通过数值来修改权限,更加方便。

000是无权限,777是满权限。第一个数字是用户权限 ,第二个是组权限 ,第三个是其他权限,数值含义如下:

0:无权限

1:x执行权限 

2:w写权限 

4:r读权限 

5:即1+4,rx权限

7:即1+2+4,rwx权限 

还有3和6,意思同上。

用winscp修改权限

登录winscp,文件--右键--属性,在权限那一栏可以直接选择和取消RWX,下面八进制中三个尾数就是数值法,第一位0是特殊权限,这里不讨论。

默认权限

开头可以看到,root用户复制进来的hello.txt文件默认权限是rw-r--r--,如果是目录那么应该是rwxr-xr-x,这就是root用户的默认权限。文件默认没有x,这并不代表root没有执行权,而是通常创建的文件并不是可执行文件。如果自己创建的文件需要执行权,用户可以自行添加。

umask -S:查看默认权限,不加选项是以数值显示,-S是以符号显示。

数值显示时为何是0022?第一个0是特殊权限,这里不讨论。rwxr-xr-x应该是755,而777-755就是三个尾数022。

修改默认权限

假如现在有一个用户,安全级别非常高,所有文件都是私有的,其他人或组连访问权都没有,那么可以设置成rwx------

umask 077:rwx------就是700,777-700=077,就是上面要修改的权限。

mkdir dir:创建一个目录,名字为dir。

touch file:创建一个文件,名字为file。


此时发现,创建的文件file没有x权限,而目录dir默认有x权限,蓝色代表目录。前面说了x是进入目录的权限,这个是必需的。

<think>嗯,用户遇到了一个QEMU镜像创建时的问题,错误提示是说找不到基础镜像文件。我需要先理解这个命令的结构和用途。用户运行的命令是qemu-img create,使用qcow2格式,并且指定了基础镜像-b参数。看起来用户是想创建一个基于现有镜像的新镜像,也就是所谓的“后备镜像”或“差分镜像”。这种情况下,新镜像centos7-044.qcow2会依赖基础镜像centos7-02.qcow2。 错误信息显示无法打开基础镜像,可能是因为路径不正确或者权限问题。首先,我应该检查基础镜像是否存在。用户指定的路径是/home/centos7-02.qcow2,可能实际路径不同,或者文件名有误。比如是否有拼写错误,或者路径是否正确。另外,用户是否拥有访问该文件的权限?需要确认执行命令的用户是否有读取/home目录下文件的权限。 另外,还要考虑文件系统的问题,比如是否挂载正确,或者是否存在符号链接导致路径解析错误。如果基础镜像确实存在,权限也没问题,可能需要检查文件系统状态。还有,qemu-img工具的版本是否支持这种操作,不过一般来说这种情况较少见。 然后,解决方案部分需要分步骤指导用户如何排查。第一步肯定是检查基础镜像是否存在,使用ls命令查看。第二步检查路径是否正确,绝对路径还是相对路径的问题。第三步权限检查,包括目录和文件的权限。第四步,如果确认无误,可以尝试重新创建镜像。如果问题依旧,可能需要更深入的日志分析或者使用strace跟踪系统调用。 用户可能不太熟悉Linux的文件权限和路径解析机制,所以需要用简单明了的步骤引导他们自行检查。此外,可能需要提醒用户关于绝对路径和相对路径的区别,尤其是在不同工作目录下执行命令时的路径问题。还有,可能存在的拼写错误,比如数字0和大写字母O混淆,或者文件名后缀是否正确。 总结来说,回答需要结构清晰,逐步引导用户检查各个可能的原因,并提供相应的解决步骤。同时,保持语言简洁,避免使用过于专业术语,让用户能够轻松理解和操作。</think>这个命令用于基于现有镜像创建新的QEMU虚拟磁盘镜像,但报错表明系统找不到基础镜像文件。让我们逐步分析原因并提供解决方案: 1. **命令结构解析** ```bash qemu-img create \ -f qcow2 \ # 指定新镜像格式为qcow2 -b /home/centos7-02.qcow2 \ # 指定基础镜像(backing file) /home/centos7-044.qcow2 # 新镜像路径 ``` 2. **错误原因排查** *✅ 按优先级排序建议检查项:* **① 验证基础镜像是否存在** ```bash ls -l /home/centos7-02.qcow2 ``` - 若返回 `No such file...`,说明路径错误或文件被删除 - 检查文件名拼写(注意大小写、数字`02`与`044`的区别) **② 路径解析问题** - 确认是否应使用绝对路径: ```bash file /home/centos7-02.qcow2 # 验证文件类型 ``` - 尝试相对路径(需在/home目录执行): ```bash qemu-img create -f qcow2 -b ./centos7-02.qcow2 ./centos7-044.qcow2 ``` **③ 权限检查** ```bash ls -ld /home # 检查目录权限(需有r-x权限) ls -l /home/centos7-02.qcow2 # 检查文件权限(需至少r--) ``` **④ 文件系统状态** ```bash df -h /home # 确认分区是否挂载 mount | grep home # 检查挂载参数(如noexec可能影响访问) ``` 3. **成功创建案例演示** ```bash # 先确保基础镜像存在 sudo cp /var/lib/libvirt/images/base.qcow2 /home/centos7-02.qcow2 # 再执行创建命令 qemu-img create -f qcow2 -b /home/centos7-02.qcow2 /home/centos7-044.qcow2 # 验证结果 qemu-img info /home/centos7-044.qcow2 | grep backing ``` 4. **高级排错技巧** - 使用`strace`跟踪系统调用: ```bash strace -e openat qemu-img create -f qcow2 -b /home/centos7-02.qcow2 /home/centos7-044.qcow2 ``` - 检查SELinux上下文: ```bash ls -Z /home/centos7-02.qcow2 restorecon -v /home/centos7-02.qcow2 ``` 5. **替代方案** ```bash # 如果基础镜像确实丢失,可重建新镜像: qemu-img create -f qcow2 /home/centos7-044.qcow2 20G ``` 建议按顺序执行上述检查步骤,多数情况下问题出在路径拼写错误或权限配置不当。若问题持续存在,请提供以下补充信息: 1. `ls -l /home` 的输出 2. `qemu-img --version` 的版本信息 3. 操作系统的发行版和版本号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值