我自己写了一个限制ssh登录用户的shell,简单点说就是用户登录后直接执行我定制的一个脚本,如果输入的关键字是超出“安全限制值”的,就会自动发送给root@localhost一封邮件记录此操作过程。增加用户时我设置了一个USER_ADD的别名,内容是
alias USER_ADD='useradd -M -s /abc/d.py'
不过这样以来就有两个问题:
首先,添加出来的用户在登录时会显示它没有家目录的信息,因为没有家目录,也就不存在.bash{rc,_profile,_logout}文件,如何才能避免显示这类提示信息?
第二个问题是我必须要把这个d.py塞到/bin才可以让ssh登录的用户有权限去运行这个脚本。然后我第一个想到的就是Selinux的问题,于是我ls -Z /abc,得到的标签是"default_t",我又查看了一下/bin的标签,是“bin_t”。我曾经尝试过用chcon -R bin_t /abc修改标签,但是系统返回说没有这个内容。其实我的确可以通过setenforce 0的方法让权限设置为permissive,可这样一来每次用户访问就会向系统发送一封邮件,而且如果是要求开启Selinux的公司,这样做肯定是不行。我相信一定有什么办法,请问该怎么做?
ps:我想过类似于“link -s /bin/d.py /abc/d.py”的办法,不过我有点洁癖情节,如果可以的话还是希望通过贴标签的方式解决。
烦请各位不吝赐教!