1、用命令新建一用户 adduser -d /test/bdctool -m bdctool
2、用新用户登录,报错:Could not chdir to home directory /test/bdctool: Permission denied
Last login: Wed Apr 11 17:43:27 2018 from 10.1.26.41
Could not chdir to
home directory /test/bdctool: Permission denied
3、但是同样一台机器,有的用户可以正常登录,却没有报这个错。比如用户sims20(其home目录为/opt/aspire/product/sims20)
4、查了一下资料,大约是与SELINUX相关
5、看一下可以正常登录及会报错用户的home目录的安全上下文
[root@sv09135 test]# ls -Z -d /opt/aspire/product/sims20
drwxrwxrwx.
sims20 sims20 system_u:object_r:usr_t:s0 /opt/aspire/product/sims20
[root@sv09135 test]# ls -Z -d /test/bdctool
drwx------. bdctool bdctool
system_u:object_r:default_t:s0 /test/bdctool
还是有区别的,出问题的类型为default_t,而正常的却是usr_t
6、改一下吧,将出问题的也改为usr_t
[root@sv09135 test]# chcon -t usr_t /test/bdctool
查一下,改过来了
[root@sv09135 test]#
ls -Z -d /test/bdctool
drwx------. bdctool bdctool
system_u:object_r:usr_t:s0 /test/bdctool
7、再次用bdctool用户以SSH方式登录,问题还在,没解决
Last login: Wed Apr 11 17:44:45 2018 from 10.1.26.41
Could not chdir to
home directory /test/bdctool: Permission denied
[bdctool@sv09135 /]$
8、看一下正常用户sims20用户家目录所有上级目录的安全上下文件
[root@sv09135 test]# ls -Z -d /opt /opt/aspire
/opt/aspire/product
drwxr-xr-x. root root system_u:object_r:usr_t:s0
/opt
drwxrwxrwx. root root unconfined_u:object_r:usr_t:s0
/opt/aspire
drwxrwxrwx. root root unconfined_u:object_r:usr_t:s0
/opt/aspire/product
都是usr_t
9、再看一下出问题的bdctool用户的所有上级目录的安全上下文
[root@sv09135 test]# ls -Z -d /test /test/bdctool
drwxr-xr-x. root
root system_u:object_r:default_t:s0
/test
drwx------. bdctool bdctool system_u:object_r:usr_t:s0
/test/bdctool
上级目录还是default_t
10、将上级目录test目录也改也下吧
[root@sv09135 test]# chcon -t usr_t /test
查一下,修改成功了
[root@sv09135 test]# ls -Z -d /test /test/bdctool
drwxr-xr-x. root
root system_u:object_r:usr_t:s0
/test
drwx------. bdctool bdctool system_u:object_r:usr_t:s0
/test/bdctool
11、再次用bdctool用户以SSH方式登录,问题解决了,原来从根目录开始每一级目录都要改
Last login: Wed Apr 11 17:55:17 2018 from 10.1.26.41
[bdctool@sv09135 ~]$