我已经在虚拟机(Cinnamon spin)中安装了 Fedora 25 一两天。
在我的上一次会话中,我运行了一些程序,安装了 Wine,但没有执行dnf update
、编辑我的.bash_profile
或进行任何我能记得的重大更改。
突然,当我尝试登录时,屏幕恢复为黑色光标约 0.5 秒(似乎崩溃),然后登录屏幕返回。
我可以成功登录作为 root,使用相同的 UI,因此它似乎与我的用户帐户隔离。
如果我Ctrl+Alt+F5
,我可以成功登录,但我看到一个奇怪的错误:
Last login: Wed Mar 1 14:02:58 on tty5
-- craig: /home/craig: change directory failed: Permission denied
Logging in with home = "/".
[craig@localhost /]$ cd
[craig@localhost ~]$ ls -la ~ | grep "\.$"
drwx------. 26 craig craig 4096 Mar 1 13:17 .
drwxr-xr-x. 26 root root 4096 Feb 28 07:58 ..
[craig@localhost ~]$
(以上均为手写,如有错别字请见谅。)
我尝试更改我的主目录权限,755
但结果是相同的。 (图形登录和 tty 登录均适用。)
我做了一些研究,我没有文件~/.XAuthority
。我确实有.xsession-errors
,但当我的登录尝试失败时它似乎没有更新。 (已经有几个小时了。)
我对 Unix 有一般的工作知识,但对 Fedora/Cinnamon 没有太多经验。接下来我该看哪里?
更新:
SELinux 警报浏览器显示以下选项:
相关 AVC 包括ausearch -m AVC
:
type=AVC msg=audit(1488394978.226:257): avc: denied { search } for pid=1426 comm="login" name="craig" dev="dm-2" ino=2621441 scontext=system_u:system_r:local_login_t:s0-s0:c0.c1023 tcontext=system_u:object_r:unlabeled_t:s0 tclass=dir permissive=0
答案1
正如 SELinux 警报浏览器中所建议的
/sbin/restorecon -v /home/craig
应该解决问题。
什么问题?
来自AVC:
type=AVC msg=audit(1488394978.226:257): avc: denied { search } for pid=1426 comm="login" name="craig" dev="dm-2" ino=2621441 scontext=system_u:system_r:local_login_t:s0-s0:c0.c1023 tcontext=system_u:object_r:unlabeled_t:s0 tclass=dir permissive=0
您可以看到您的主目录 ( name="craig"
) 有一个错误的标签 ( unlabeled_t
),而不是预期的类型(user_home_dir_t
从屏幕截图中)。 SELinux 有 MAC(强制访问控制)并且试图login
做一些策略不允许的事情,这是被禁止的。
这可能是由对您的主目录的某些操作引起的。