CentOS   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了centos:su默默地失败了大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

在我通过SSH以root身份登录的CentOS服务器上,我这样做: su otherusername 其中’otherusername’是另一个用户的用户名,该用户名存在. 它什么都不做.在那之后,我仍然是根. whoami返回root,我创建的任何文件都属于root,也就是说su就不是su. 但是,它不会给出任何错误消息.如果我尝试使用无效的用户名su,它会给出错误消息. 我错过了什么? oth
在我通过SSH以root身份登录的CentOS服务器上,我这样做:

su otherusername

其中’otherusername’是另一个@L_675_2@的用户名,该用户名存在.

它什么都不做.在那之后,我仍然是根. whoami返回root,我创建的任何文件都属于root,也就是说su就不是su.

但是,它不会给出任何错误消息.如果我尝试使用无效的用户名su,它会给出错误消息.

我错过了什么?

otherusername在/ etc / passwd中是否有有效的 shell

su做的是以另一个@L_675_2@身份执行进程.认情况下,它选择的进程是/ etc / passwd中相关用户的最后一个字段中的任何内容.这通常是一个sHell,例如/ bin / sh或/ bin / bash.当该过程结束时,您将被转储回您开始使用的原始sHell,由root拥有.

就su而言,它已成功切换到正确的@L_675_2@,因此不需要任何错误消息.然后通过执行它将控制权交给配置的sHell.如果这个sHell类似于/ bin / false,那么它只会执行/ bin / false始终执行的操作,即以1(false)状态退出,退回到root@L_675_2@拥有的父sHell. / bin / true执行相同的操作,但状态为0(true).

其他伪壳可能表现出不同的行为.例如,/usr/sbin / nologin回声

退出前1.

您可以使用usermod -s / bin / bash otherusername作为root@L_675_2@更改已配置的sHell.

如果你将它与cd一起使用,你可能会在sudo周围看到类似的令人困惑的行为.如果您是普通@L_675_2@并且无法进入目录,则sudo cd目录将不会显示错误消息,不会将您更改为root并且不会更改您的目录.

原因是它以root身份启动一个新的sHell,将目录更改为正确的目录,然后立即退出,让您回到原始目录中的原始sHell中.

大佬总结

以上是大佬教程为你收集整理的centos:su默默地失败了全部内容,希望文章能够帮你解决centos:su默默地失败了所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。