我想要一个用户SSH并只能访问我的CLI。 这是通过在.profile中执行一个命令来完成的,该命令以另一个用户身份运行cli(这是在sudoers中完成的,他们只能以该用户的身份运行CLI而没有其他任何操作)。 我有一个问题是用户仍然可以运行命令嘘,说bash,这是我想限制的东西。 还有一个我希望用户能够通过sftp传输的档案。 我想我只是让另一个用户和chroot他们,所以他们只能访问该文件。 我考虑过用同一个用户做这个事情,但是在使用CLI的同时还要限制远程的ssh命令,这样做对他们来说是一个噩梦。 对不起,如果这是令人困惑的,我有麻烦口头化所有这些,并没有太多的经验,这种types的东西。
总之我基本上想:
– 允许用户使用ssh,但只能访问我的CLI
– 阻止用户使用ssh执行其他任何操作
– 允许传输诊断归档
任何人都有一些想法来完成这一切? 请让我知道,如果有任何其他信息将是有益的。 谢谢!
如果用户通过ssh登录,他/她被锁定在chroot jail中。 我不知道你做了什么,所以下面可能没有什么帮助:
尝试:
usermod -s /path/to/CLI username
/ path必须在jail中可见,CLI必须静态链接。 如果你使用system()调用来执行像ls这样的命令 – 而不是使用opendir(),dirent等 – 那么你必须有一个单独的可见/ lib目录库。 例如,在本地可见的/ usr / bin目录中的ls可执行文件或其他命令的单独副本。 在这种情况下,CLI可以动态链接。 使用
ldd executablefilename
命令确保你可以看到你需要的所有库。
考虑一下网上的一些chroot
例子/教程。 Google for linux chroot jail