如何恢复/media/username目录及其内容的权限?
如何恢复/media/username目录及其内容的权限?
嘿,别慌,我来帮你捋捋怎么解决这个误操作的权限问题~
首先先给你吃个定心丸:你执行的sudo chown -R username:username /media/username/*只会修改/media/username目录下所有子文件和子目录的权限,而/media/username这个目录本身的权限并没有被改动——因为通配符*只匹配目录里的子项,不会匹配目录本身。你可以先运行ls -ld /media/username确认一下,正常情况下它的所有者应该还是你的用户,权限也没问题。
接下来分步骤恢复里面的内容:
1. 先卸载挂载的分区(关键!)
/media/username下面的那些UUID命名的目录一般是系统自动挂载的外部存储分区(比如你的目标目录就是这类)。如果分区还挂载着,你改的权限会直接作用在分区内的文件上,而不是挂载点目录本身。所以先把这些分区卸载:
- 先查看哪些分区挂载在这里:
mount | grep /media/username - 然后逐个卸载,比如针对你的目标目录:
sudo umount /media/username/586e1a3e-80c3-4057-81bz7-bbfe7662c6ff
(注意你写的UUID里有个z,大概率是手滑打错了,换成你实际的目录名就行)
2. 恢复挂载点目录的默认权限
系统自动创建的挂载点目录,默认所有者是root:root,权限一般是755(drwxr-xr-x)。所以针对每个误改的挂载点目录执行:
sudo chown root:root /media/username/[你的目录名] sudo chmod 755 /media/username/[你的目录名]
3. 处理分区内的文件权限
- 如果是ext4这类Linux原生文件系统:如果你没有备份过原来的权限,其实不用太担心——如果这些文件都是你自己用的,保持当前的
username:username权限完全不影响使用;要是有一些特殊权限的文件(比如外部存储上的系统备份之类的),那恐怕只能回忆原来的权限手动调整,或者有没有系统日志可以参考(不过一般用户很少会存这个)。 - 如果是NTFS/FAT32这类Windows文件系统:它们本身不支持Linux的权限机制,你刚才改的权限其实不会真正写入文件系统,重新挂载分区后就会自动恢复成默认的可读写权限,完全不用额外操作。
最后给你提个醒:以后用chown -R这种递归修改权限的命令时,一定要格外小心!可以先用ls /media/username/*看看通配符会匹配哪些内容,确认没问题再执行;有些版本的chown还支持--dry-run参数,加这个参数可以预览命令会做哪些操作,不会实际修改权限,非常适合用来验证。
备注:内容来源于stack exchange,提问作者Austin Rojers
相关产品推荐
相关产品推荐

