在工作中,我们有一个 Ubuntu 服务器,人们从内联网连接到该服务器以使用安装在那里的某些工具。如果某个用户想在 Ubuntu 上安装某个软件但没有 root 权限,是否可以使用 Ubuntu 包管理器来安装:apt-get install
?如果可以,怎么做?
我知道其他方法是自己获取软件源代码并自行构建,然后在用户的家庭区域安装二进制文件,但我想避免这种方法。
我们之所以允许这样做,是因为:
1)该工具特定于该项目,并且不希望在整个系统范围内安装。2
)没有其他颠覆或黑客攻击的意图。
答案1
如果您的意思是使用 apt-get 安装私人副本,那么不行。
您可以使用一些诡计来dpkg
直接说服别人这样做,但这并不可靠。
明智的方法是获取源代码并编译本地版本。
但是,我认为让 10 个人下载软件包 X 并在本地安装,占用比正确安装多 10 倍的存储空间,这样做有什么价值?
这里有一些讨论 -https://askubuntu.com/questions/339/how-can-i-install-a-package-without-root-access
答案2
任何要安装的包(使用apt-get
)都应使用具有 的特权用户进行安装sudo
。
您可以在您的主目录中构建包,或者获取一个独立的二进制包,不需要构建,解压后即可直接运行。
答案3
您可以仅使用 apt-get 为用户授予特定的 sudo 权限。
您可以通过运行命令 visudo 来访问 sudoers 文件。您需要遵循语法。
用户主机名=命令