扫码关注官方订阅号
在root下执行如下命令
> su - user -c "id" uid=1000(master) ...... > echo $? 1 # 错误地方就这里,应该返回0
root下使用 su - user -c 执行其他所有可执行命令,命令正常执行,但是返回值都为1. 请问下,这个问题如何定位?怎么解决?多谢~~~~
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
这个状态是由 su 命令返回的。请检查你的 su 有没有被别名、被覆盖,是不是有 bug 的版本,有没有已知的 bug 报告,是不是被替换过,等等。SUSE 应该有工具检查你系统上的 su 文件是不是他们发行的文件吧?
使用 strace 工具可以跟踪 su 的系统调用。如果确实是因为某种原因而失败了,很可能能够看到蛛丝马迹。另外可以用 gdb 看看,不过有调试符号才比较容易看。还可以去看看对应版本的源码。
PHP学习
技术支持
返回顶部
这个状态是由 su 命令返回的。请检查你的 su 有没有被别名、被覆盖,是不是有 bug 的版本,有没有已知的 bug 报告,是不是被替换过,等等。SUSE 应该有工具检查你系统上的 su 文件是不是他们发行的文件吧?
使用 strace 工具可以跟踪 su 的系统调用。如果确实是因为某种原因而失败了,很可能能够看到蛛丝马迹。另外可以用 gdb 看看,不过有调试符号才比较容易看。还可以去看看对应版本的源码。