我刚刚从 Kubuntu 切换到 Feodra KDE Spin。现在,我有一个 LVM 设置,其中我的主分区位于其自己的卷上。我创建了一个用户,其用户名与上一个发行版中的用户名相同。我沮丧地发现我无法登录。屏幕一片空白,然后我看到一个闪烁的光标,然后我被弹回登录屏幕。我尝试从 tty 登录,成功了,但我收到了这条美妙的消息:
-- user: /home/user: change directory failed: Permission denied
好的。所以我以 root 身份登录并尝试将所有内容重新更改为user
.没什么进展。我修改了 /home/user 目录。依然没有。我正式不知道下一步应该尝试什么,我想你们好心的人可能会有所帮助。这里有一些信息供您参考:
id -u user
1000
stat /home/user/
File: '/home/user/'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: fd02h/64770d Inode: 11272193 Links: 22
Access: (0700/drwx------) Uid: ( 1000/user) Gid: ( 1000/user)
Context: system_u:object_r:unlabeled_t:s0
Access: 2017-06-16 19:42:02.224062623 -0400
Modify: 2017-06-16 19:42:00.651082621 -0400
Change: 2017-06-16 19:42:00.651082621 -0400
Birth: -
对我来说这一切看起来都不错,但我知道什么?奇怪的是,当我以 登录时user
,我可以cd
毫无问题地进入该目录。
答案1
根据 OP 的信息(顺便说一句,对于这个问题来说非常好),SELinux 上下文是不正确的。在OP的问题中,上下文显示为:
Context: system_u:object_r:unlabeled_t:s0
但是,主目录应该具有user_home_dir_t
.
要解决这种情况,运行restorecon -Rv /home
(使用 /home 确保其他用户的主目录得到更新;可以通过 修复特定用户的主目录restorecon -Rv /home/user
)将调整这种情况。结果应该类似于:
File: ‘/home/user’
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: fd00h/64768d Inode: 18642668 Links: 16
Access: (0700/drwx------) Uid: ( 1000/ user) Gid: ( 1000/ user)
Context: unconfined_u:object_r:user_home_dir_t:s0 <-- THE CONTEXT
Access: 2017-06-16 19:10:34.914968689 -0600
Modify: 2017-06-16 18:30:31.135767008 -0600
Change: 2017-06-16 18:30:31.135767008 -0600
Birth: -
使用-R
还可以确保 中的目录/home/user
得到正确调整。例如,该.ssh
目录的上下文为unconfined_u:object_r:ssh_home_t:s0
.