Restringir usuários ao seu diretório home

1

Como faço para restringir o usuário ao seu diretório atual apenas?

Eu tentei os passos mencionados nesta página para configure rssh chroot jail para bloquear usuários apenas para seus diretórios home, mas isso parece muito complicado. Existe uma maneira mais fácil?

    
por shantanuo 26.05.2011 / 08:18

4 respostas

1

Eu uso o Jailkit em $ work, e são necessários apenas alguns comandos. Eles até fornecem um howto da shell chroot . A parte mais difícil sobre a manutenção de um chroot para seus usuários é copiar nas bibliotecas e binários que eles precisam para executar programas. O comando jk_cp se encarrega de copiar nas dependências.

    
por 29.05.2011 / 21:37
1

Não. Um ambiente de usuário requer a existência de determinados arquivos, e esse artigo garante que eles estejam presentes.

    
por 26.05.2011 / 08:20
1

Estou inclinado a pensar que você está confundindo o resultado com o método. O que você está realmente tentando conseguir travando usuários em seus homedirs? A execução de um chroot não trivial seguro e funcional está em algum lugar entre "não vale a pena" e "impossível"; as chances são de que qualquer coisa que você queira realizar possa ser feita de outra maneira, melhor.

    
por 05.07.2011 / 05:03
1

O mais fácil de fazer isso é definir o shell do usuário como /bin/rbash . Isso coloca bash no modo "restrito". Da página man bash:

It behaves identically to bash with the exception that the following are disallowed or not performed:

  • changing directories with cd
  • setting or unsetting the values of SHELL, PATH, ENV, or BASH_ENV
  • specifying command names containing /
  • specifying a file name containing a / as an argument to the . builtin command
  • specifying a filename containing a slash as an argument to the -p option to the hash builtin command
  • importing function definitions from the shell environment at startup
  • parsing the value of SHELLOPTS from the shell environment at startup
  • redirecting output using the >, >|, <>, >&, &>, and >> redirection operators
  • using the exec builtin command to replace the shell with another command
  • adding or deleting builtin commands with the -f and -d options to the enable builtin command
  • using the enable builtin command to enable disabled shell builtins
  • specifying the -p option to the command builtin command
  • turning off restricted mode with set +r or set +o restricted.

These restrictions are enforced after any startup files are read.

Nota: o rbash não é uma fortaleza impenetrável. Ainda é possível deixar buracos abertos, e um "atacante" suficientemente habilidoso (isto é, aquele que sabe mais do que você) provavelmente será capaz de fazer muitas coisas que você não vai querer (ou contornar totalmente suas restrições).

Ainda é possível ler qualquer arquivo legível pelo mundo no sistema.

Verifique também se /bin/rbash NÃO está em /etc/shells , caso contrário, ele poderá alterar seu próprio shell para algo irrestrito usando chsh .

    
por 05.07.2011 / 09:20