我的图片文件夹中的文件来自 Windows,在 Ubuntu 磁盘擦除安装期间,这些文件被传输到外部硬盘驱动器,然后又从外部硬盘驱动器传回,以保留下来,这些文件都被设置为可执行文件。我修复了这些问题,然后尝试打开子文件夹来检查它,但我需要管理员权限才能这样做!我该如何修复文件和文件夹的权限?
答案1
复制非来自 Linux 分区(ext4、bttrfs、zfs……)的文件夹后,文件夹和文件所有权和权限可能不适合非 root 用户。
首先要考虑的是更改文件的所有权。这可以通过以下方式实现:
sudo chown username:groupname /path/to/files -R
(对于单个用户设置,用户名和组名通常相同)
在此之后,文件夹需要设置其执行位才能被访问。
find /path/to/files -type d -exec chmod +x {} \;
最后,文件的读写权限可能需要进行一些更改。如果要求所有文件都可读写:
chmod +rw /path/to/files -R
有关更多信息文件权限。
答案2
您可以将这个 bash 脚本指向一个目录来修复它,这适用于我的用例。有些文件变为可执行文件,有些则不是。这会从所有文件中删除可执行文件。然后所有内容都具有其他人可写的权限,而我的主目录中在 ext4 上创建的文件则没有。我看不出从 NTFS 中取出的东西和放入 ext4 中的东西有任何其他区别。所有权已经井然有序。
#!/bin/bash
find "$1" -type f -exec chmod -x {} \; # Remove executable from all files
find "$1" -exec chmod o-w {} \; # Remove others-writable from everything