我在 SSH 服务器上,想要使用位于 /usr/local/bin 的程序,但我没有权限。
因此,我将程序安装文件从系统复制到服务器上的用户,以便将其安装在 /home/user 处。它可能是与安装在 /usr/local/bin 处的程序不同的版本。我是否有可能搞砸已经安装的程序的工作方式?我猜不会,因为我不是管理员,所以它会阻止我搞砸一些事情。
答案1
您不太可能搞砸现有的安装。本地“安装”的程序不会被 setuid,因此它将以您的权限运行,这意味着它无法执行其他程序无法执行的操作。
但是,如果您只是从自己的系统复制二进制文件,它们可能无法按预期工作。最坏的情况是它根本不起作用(例如,如果架构不同,就会出现这种情况),更有可能它将依赖于某些不是适当版本的库。获得一个可以工作的程序的最佳方法是自己编译它,并作为其中的一部分将其配置为使用您需要的所有库的本地版本,并且不能依赖于(和保持)良好版本在系统上,当然你可能需要自己编译很多库。
简而言之:在开始之前你需要非常确定,因为它很快就会变成一个巨大的项目。您是否尝试询问管理员是否可以更改权限以便您可以使用已安装的版本?
答案2
如果您没有 Admin/Sudoer 访问权限,那么您破坏系统(对于所有用户)的可能性可能相当小,但话又说回来,您的系统可能已被定制为允许非 sudoer 安装程序,或进行其他有害的修改。仅为您的本地用户安装副本也可能会导致您的个人资料出现问题。
我最好的建议是谨慎行事,并跟踪您的更改,以防您需要撤销它们。如果您担心会破坏其他用户/用户配置文件的系统,您可能不会这样做。社区也许能够提供更清晰的更详细的问题,例如:什么发行版?系统是否做了很多修改?您想安装什么应用程序...等等。