2

不,它不是那个的副本因为我想将一个目录分配给一个(或多个)用户,当他们通过 SSH 登录时。

例如,根据用户的登录:

  • userFoo/somewhere/here/=> 我希望他在 SSH 登录后到达
  • userBar/somewhere/here/=> 我希望他在 SSH 登录后到达
  • userOof/anywhere/=> 我希望他在 SSH 登录后到达
  • 等等。

我怎样才能做到这一点 ?(它们与 PuTTY 连接,我不能强迫它们连接附加数据,例如ssh -t user@server 'cd /home/some/dir ; exec "$SHELL"'

4

2 回答 2

2

更改用户的主目录,因为这是他们连接后登陆的地方。

/etc/passwd 中的倒数第二个条目包含此信息,例如可以从

userFoo:x:1000:1000:,,,:/home/userFoo:/bin/bash

userFoo:x:1000:1000:,,,:/somewhere/here:/bin/bash
于 2013-10-22T13:10:39.677 回答
0

当您通过 SSH 登录远程机器时,它会启动一个 shell,在大多数情况下它是bash。它有一个脚本,每次启动时都会执行,可以在~/.bashrc找到。您可以编辑它们,将cd /somewhere添加到它们。

无论如何,这可能不是一个好主意,最好将适当的文件夹链接到用户:

ln -s /somewhere/here ~/userFoo/comehere
ln -s /somewhere/here ~/user/comehere
ln -s /anywhere ~/userOof/comehere

因此,您可以只告诉用户“请在登录后执行cd comehere ”,它会将他们放到指定的文件夹中。

于 2013-10-22T13:57:52.860 回答