SELinux阻止某些程序运行的处理方法

来源:互联网 发布:c语言数组变成字符串 编辑:程序博客网 时间:2024/05/19 16:36

背景:

    产品运行在服务器上,之前是root身份ssh远程登录服务器进行业务配置等,客户质疑不专业,不安全,要求产品提供专业的命令行。命令行移植开源quagga的vtysh实现了(vtysh移植后续单独开帖记录),服务器上本地开启vtysh也可以运行,但是ssh远程无法登录vtysh,经过一番折腾发现是SElinux阻止了,网上给出的方法多是简单粗暴关闭了之,这里给出方法不关闭SELinux服务也可以ssh远程登录vtysh.

1. ssh远程登录服务器,运行vtysh shell的方法:

    设置userName用户的登录shell为vtysh

    chsh -s /path/of/vtysh  userName

    设置成功后可以cat /etc/passwd查看userName的登录shell是否修改成功

2. 如果服务器开启SELinux服务的话,ssh远程服务器无法进入vtysh界面

    查看/var/log/message日志有 “SELinux is preventing /usr/sbin/sshd from getattr access on the file"的异常日志;SELinux最小授权,sshd无权访问vtysh程序,如下设置vtysh的SELinux属性使sshd有权限访问 , chcon -t shell_exec_t /path/of/vtysh 。


3. 附送几个SELinux相关命令

    ls -Z file    ---- 查看file的SELinux属性

    setenfore  ----- 设置SELinux工作模式

    sestatus ----- 查看SELinux状态

参考:http://blog.chinaunix.net/uid-7608308-id-2048312.html

0 0
原创粉丝点击