我对这个问题真的束手无策。我最近更改了用户的 UID 号(用户名保留),因为我将身份验证更改为 kerberos/ldap 身份验证。
一切正常,我已更改了用户的所有主目录权限(包括隐藏文件),但现在我无法读取我连接的任何 USB 磁盘。以 root 身份读取磁盘没有问题。
权限(带有sudo ls-l /media/usera/
)如下所示:
drwx------ 3 usera groupa 4096 Jan 1 1970 TRANSCEND
usera
并且groupa
是正确的,并且具有正确的数字ID。
然而鹦鹉螺告诉我:
无法打开文件“/media/usera/TRANSCEND”。您没有打开该文件所需的权限。
不用说,ls -l /media/usera
给了我:
ls: cannot access /media/usera: Permission denied
所有用户都会遇到这种情况。我认为肯定存在某个磁盘(或用户)数据库,该数据库仍与旧的 uid 编号(某个 ACL?)相关联。但也许我完全走错了路。
任何帮助将不胜感激。
答案1
当我将系统切换到使用 freeipa 时,我遇到了同样的问题。我尝试了各种组,但都不起作用。
我最终发现 /media 中剩余一个用户目录,其中的用户 ID 是错误的。
运行getfacl /media/USERNAME
返回了以下信息:
getfacl: Removing leading '/' from absolute path names
# file: media/USER
# owner: root
# group: root
user::rwx
user:1000:r-x
group::---
mask::r-x
other::---
用户 ID 1000 是原始用户的 ID,而不是新的 freeipa 用户的 ID。最后我只是删除了目录,让系统创建一个新的目录
sudo rmdir /media/USER