/ media / user文件夹上的权限问题阻止我访问外部媒体
当我插入外置硬盘,插入DVD或尝试查看我的USB驱动器上的内容时,通常的结果就是特殊的行为。
文件系统安装正常。 当我通过sudo su
以root身份登录时,我可以完全看到/media/casper/externaldrive
的内容。 然而,我的用户, casper
,不能。 Ubuntu回复涉及位置Permission denied
每个操作:
casper@casper-desktop:/media$ ll /media/casper/externaldrive ls: cannot access '/media/casper/externaldrive': Permission denied
我决定深入研究/media
文件夹的权限(问题)。 作为casper
,我看到以下内容:
casper@casper-desktop:/media$ ls -alF total 16 drwxr-xr-x 4 root root 4096 apr 21 17:47 ./ drwxr-xr-x 25 root root 4096 jul 29 15:43 ../ drwxr-x--- 3 root root 4096 aug 3 21:02 casper/ lrwxrwxrwx 1 root root 45 apr 21 17:47 .directory -> /etc/kubuntu-default-settings/directory-media lrwxrwxrwx 1 root root 42 apr 21 17:47 .hidden -> /etc/kubuntu-default-settings/hidden-media drwxr-xr-x 2 root root 4096 feb 29 23:56 home/
令我印象深刻的是它total 16
,而最多只有6个。 所以我再次运行命令,但是作为root
。 结果是一样的,很奇怪。 (任何人都可以启发我吗?)
无论如何,更令我/media/casper
是/media/casper
目录不是我的,也是我无法访问的。 我被诱惑只是chown -R
bazinkas,但是在我抓住自己之后,我搜索了一些类似“Media user folder not mine help me”的内容。
花了一段时间,但最后我偶然发现了这个线程,用户解释了750 root:root /media/user
文件夹的用途。 它确保只有root可以在那里安装,查看和管理文件系统,其中各个权限被更改为实际用户。
因此,如果我的信息是正确的, /media/casper/externaldrive
权限应该对我有利。 我检查了,
root@casper-desktop:/media/casper# ll total 12 drwxr-x--- 3 root root 4096 aug 3 21:02 ./ drwxr-xr-x 4 root root 4096 apr 21 17:47 ../ drwxrwxrwx 1 casper casper 4096 aug 3 20:20 externaldrive/
这似乎是这种情况。
所以这就是我被困住的地方。 文件系统在目录树中一直拥有权限,但我无法访问单个文件。 CD和USB驱动器也是如此。
谁能帮助我访问我的宝贝?
哦,顺便说一下。 前面提到的线程在这些/media/user
文件夹上提到ACL,在常规权限之后用+
表示,如drwxr-x---+ 3 root root
。 我的系统没有显示这个。 这些文件夹上的ACL是Ubuntu的标准,还是用户有特殊的事情,我应该担心这是我的问题来自哪里?
谢谢阅读。
由于/media/casper
的权限和所有权是
drwxr-x--- root root
如果ACL没有+
( 访问控制列表 ),则很明显只有root可以打开,输入,读取或写入此目录。 像我们这样谦虚的用户获得字符串末尾的权限---
🙁
我们没有特权的人获得使用ACL访问此位置的权限。 我不知道为什么你没有这些,但你可以设置它们,这可能很简单或需要一点点修改:
- 需要
acl
包(检查apt-cache policy acl
) - 必须使用
acl
选项挂载文件系统
要检查后者(为您的根分区适当地替换sdxY
):
sudo tune2fs -l /dev/sdxY | grep "Default mount options:"
应该返回:
Default mount options: user_xattr acl
默认安装选项在/etc/mke2fs.conf
中设置
它们可能被覆盖,因此请检查:
cat /proc/mounts | grep sdxY
看起来像:
/dev/sdxY / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
以上是好的,( acl
不需要提及)但如果它说noacl
你需要改变它。
您可以将选项添加到默认安装选项,如下所示:
sudo tune2fs -o acl /dev/sdxY
或者您可以在/etc/fstab
为根分区行的选项添加acl
,例如:
UUID=whatever / ext4 errors=remount-ro,acl 0 1
启用ACL后,使用setfacl
为自己添加权限。 在/ media / casper上提供username
读取和执行权限(您需要执行权限才能输入目录或搜索其内容):
sudo setfacl -mu:username:rx /media/casper
你可以用uid替换username
(可能你是1000
– 用id
命令检查)
sudo setfacl -mu:1000:rx /media/casper
你可以在他的回答中看到你使用getfacl
的ACL权限
getfacl /media/casper
从用户删除ACL权限
sudo setfacl -xu:username /media/casper
清除所有ACL权限
sudo setfacl -b /media/casper
注意:我作弊并自己问了一个问题,为什么/media
有这么多条目。 答案就在这里
当您想从ubuntu授予对Windows驱动器的访问权限时:
如果它是windows ntfs驱动器,正常的chmod命令将不起作用。
做以下,它适合我。
打开文件/ etc / mtab
gedit / etc / mtab
在此文件中找到驱动器名称(只需将鼠标hover在您正在寻找解决方案的驱动器上,在我的情况下,GUI显示不同的名称,鼠标hover在它上面显示/ media / user-name / drive-name)
现在在etc / mtab中:搜索文件中的驱动器名称,并检查已分配已安装驱动器的驱动器(在我的情况下 – / dev / sda4)
现在将此驱动器安装为:
sudo ntfs-3g / dev / sda4 / media / username
如果您不知道您的用户名,只需打开终端并输入即可
我是谁?
现在我能够执行我的可执行文件。 但我无法看到驱动器名称的内容,所以我卸载了驱动器并再次安装它。