|
|||||||
| Wiki | Classificados | Galeria | Reviews | Jogos | Comunidades | RSS Feeds | FAQ | Termos de Uso | Sobre |
| Cadastre-se | Fotos | Blogs | Lista de Membros | Calendário | Pesquisar | Mensagens de Hoje | Marcar Fóruns Como Lidos |
FerramentasPublicidade |
From UnderLinux WikiLimitando um usuário ao seu próprio diretório no FTP [editar] IntroduçãoEste artigo mostra como utilizar mao de um recurso muito poderoso que é o de "travar" o usuario de FTP somente ao contexto dele no sistema de arquivos do servidor. Dessa maneira os usuarios nao poderão fazer acesso a áreas do sistema, que nao sejam reservadas a ele. [editar] ConfiguraçaoCrie o usuário ftp com o comando #adduser (sugiro que este seja usado somente para ftp). Crie a senha do usuário com o comando #passwd . Insira a entrada /etc/ftponly em /etc/shells. Essa entrada será utilizada para validar um suposto shell. Esse suposto shell é, por default, visto pelo wu-ftpd como uma espécie de ordem de ativação de comandos ftp para o usuário logado. Como o shell /etc/ftponly não existe, o usuário não conseguirá efetuar logon por telnet, terminal etc. Isso já é uma boa medida de segurança. :-) Edite o arquivo /etc/passwd e edite a linha referente ao usuário. Troque o shell de /bin/bash (geralmente esse é o default) para /etc/ftponly. Depois coloque a sentença /./ (barra-ponto-barra) no ponto que será considerado a raiz do usuário ftp. Exemplo: digamos que você tenha criado o usuário eriberto e não queira que ele saia do seu próprio diretório. A linha original, que era assim: eriberto:x:501:501::/home/eriberto:/bin/bash Fica agora assim: eriberto:x:501:501::/home/eriberto/./:/etc/ftponly Se você quisesse manter o eriberto dentro de /home, a linha ficaria assim: eriberto:x:501:501::/home/./eriberto:/etc/ftponly Edite o arquivo /etc/ftpaccess e insira como últimas linhas: path-filter guest /etc/pathmsg ^[-A-Za-z0-9_.]*$ ^. ^- guestuser eriberto A linha path-filter definiu que os arquivos a serem transportados (ftp) podem conter no seu nome qualquer letra maiúscula ou minúscula, todos os algarismos de 0 a 9, além dos caracteres . (ponto),_ (underscore ou underline) e - (traço). Também diz que o nome dos arquivos não podem começar com . (ponto) ou - (traço). Se houver algum nome de arquivo irregular, a mensagem contida em /etc/pathmsg será enviada ao usuário. Ainda no arquivo ftpaccess, verifique se a primeira linha (class) contém a entrada guest. Exemplo: class all real,guest,anonymous * Esse guest refere-se aos usuários que irão logar ftp. Determine também quais ações o guest pode realizar. Isso é feito nas linhas compress, tar, chmod, delete, overwrite e rename. Por exemplo: delete yes guest,anonymous A linha acima permite que os usuários tipo guest e anonymous possam deletar arquivos por ftp. A expressão all refere-se a guest e anonymous ao mesmo tempo. Crie o arquivo /etc/pathmsg com um conteúdo similar a: Só é permitido o upload de arquivo cujo nome contenha qualquer letra de A a Z, maiúscula ou minúscula, algarismos de 0 a 9, além dos caracteres . - _ Os nomes dos arquivos não podem iniciar com . ou - Verifique as permissões de /home/eriberto com os comandos: #cd /home #ls -l | grep eriberto O usuário eriberto deverá ser o dono do diretório /home/eriberto. Se for o caso, ajuste isso com o comando: #chown eriberto.eriberto /home/eriberto Dê permissão 700 para o diretório caso somente o usuário deva ter acesso ao mesmo. Para torná-lo público (é o caso de sites que são administrados por ftp), utilize permissão 755. Exemplo: #chmod 755 /home/eriberto O wu-ftp é capaz de realizar ações como deletar arquivos ou renomeá-los. Mas você deve fornecer o comando ls e as libraries necessárias. Para tanto, crie os diretórios etc e lib dentro de /home/eriberto e setar as devidas permissões: #cd /home/eriberto #mkdir bin lib #chmod 111 bin lib Agora copie o comando ls para /home/eriberto/bin e as libraries necessárias para /home/eriberto/lib. Para descobrir onde está o comando ls e a suas libraries, execute os seguintes comandos: which ls ldd /bin/ls Copie os arquivos: #cp /bin/ls /home/eriberto/bin #cp /lib/libtermcap.so.2 /home/eriberto/lib #cp /lib/libc.so.6 /home/eriberto/lib #cp /lib/ld-linux.so.2 /home/eriberto/lib Pronto ! Se você fez tudo certo, logue por ftp. Deverá aparecer a mensagem "Access restrictions apply". Digitando o comando pwd, ele deverá mostrar que o diretório atual é o raiz ( / ). Se você quiser ativar o recurso de descompactação de arquivos pelo servidor, a exemplo do mostrado no ultimo passo ., faça o mesmo com os comandos tar, gunzip e unzip. [editar] AutorJoão Eriberto Mota Filho |