SSH作为用户允许在Linux中进行临时root访问

时间:2012-02-27 17:07:32

标签: linux ssh centos root

我想以用户X的身份SSH一个CentOS服务器,比如说(不是root)。然后我想将文件传输到服务器。这很容易。但后来我想将文件移动到一个“池”,所有用户都可以访问它们,即在用户X的目录之外。

我可以这样做吗?出于各种原因,包括安全问题,我不想以root用户身份登录。我基本上想要我的脚本,它将文件从用户X的目录移动到外部目录,暂时拥有root privelages。

5 个答案:

答案 0 :(得分:1)

您的问题基本上与SSH无关。您只是问“可以在Unix系统上设置一组文件,以便所有用户都可以访问它们”,答案当然就是答案。

你没有解释你想要做什么,但chmod,mv和mkdir手册页应该可以帮助你弄清楚你需要什么。

答案 1 :(得分:0)

如果ssh用户可以写 pool 目录没问题,你可以

scp file user@host:/srv/pool

答案 2 :(得分:0)

也许我并没有完全理解这个问题,但似乎最简单的方法就是通过以root权限运行脚本,而不是通过放宽目标的目录“outside”目录来实现目标。

如果您设置了sticky bit,那么任何人都可以将文件放在该目录中,包括脚本,但只有原始所有者才能删除和/或重命名其中的文件。

但是,如果这不适合你,那么让Bash以root身份运行是pretty straight forward.但是,请记住经验法则,你放入系统的漏洞越多,嗯,越多它会有洞。

答案 3 :(得分:0)

我假设您希望通过SSH使用rsync,就像大多数人一样。有两种可能性:

  • 反转数据传输:在拥有池目录的计算机上启动rsync会话,然后文件。这样你就可以存储--numeric-id和你需要的任何东西(例如设备文件,硬链接......),因为只有外部机器提供数据,它实际上不会上传它。
  • 使用here中的技巧。它实际上与上述方法非常相似,但避免了大多数缺点。

答案 4 :(得分:0)

$ sudo chmod 777 / path / to / dir

$ sudo chmod + t / path / to / dir

使用棒位将解决您的问题。