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 denied3、但是同样一台机器,有的用户可以正常登录,却没有报这个错。比如用户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/bdctooldrwx------. bdctool bdctool system_u:object_r:usr_t:s0 /test/bdctool7、再次用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 /optdrwxrwxrwx. root root unconfined_u:object_r:usr_t:s0 /opt/aspiredrwxrwxrwx. 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 /testdrwx------. 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 /testdrwx------. bdctool bdctool system_u:object_r:usr_t:s0 /test/bdctool11、再次用bdctool用户以SSH方式登录,问题解决了,原来从根目录开始每一级目录都要改
Last login: Wed Apr 11 17:55:17 2018 from 10.1.26.41
[bdctool@sv09135 ~]$