在文件服务器上运行 Fedora 20 并遇到了这个奇怪的问题,不知道我做错了什么。我在安装操作系统时创建的帐户工作正常,但我创建的所有其他帐户都存在此问题。
当尝试登录时,su - USERNAME
我收到以下错误:
su: warning: cannot change directory to /home/USERNAME: Permission denied
-bash: /home/USERNAME/.bash_profile: Permission denied
从那里 bash 就挂在终端中,我必须关闭它。如果我尝试从登录屏幕登录,则会在消息框中弹出相同的错误,并且不久之后我会被踢回到登录屏幕。
如果我 ls -l 任何主目录,除了我在安装时创建的目录之外,它们都包含 0 个文件。主目录的权限均设置为 700,所有者和组设置为每个用户的用户名和组。
我还尝试在 GUI 中创建一个新用户,然后切换到该用户,但出现相同的错误。
用户需要能够通过 Samba 登录才能访问文件共享。即使登录成功,他们也没有权限并且访问被拒绝。
有任何想法吗?
ls -ld /
显示 755 root root 权限
ls -ld /home
显示 700 acase acase 权限。这是我在安装操作系统时创建的用户,也是唯一有效的用户,这是问题所在吗?
至于SELinux,我还没有尝试禁用它。我是 SELinux 新手,但是当我查看审核日志并 grep 查找新帐户之一的“acct=”USERNAME”时,我只看到 4 条消息,并且它们的状态为“成功”。我会尝试禁用它,看看它是否会改变任何东西。
答案1
将权限设置/home
为711
,而不是700
。需要执行权限才能按名称访问目录中的任何内容,因此所有用户都需要执行权限/
才能/home
访问/home/theirname
.省略读取权限将阻止他们列出 的所有其他子目录/home
。
主目录本身的权限可以是700
.这样,即使有人猜测了另一个用户的名字,他们也将无法访问该用户的目录。