Erro de FTP “553 Não foi possível criar o arquivo” no RHEL

0

Precisamos transferir um arquivo da máquina local para a máquina remota. Configurações de máquinas remotas são como abaixo:

[540607@hsldevoradb ~]$ su - Saphr002
Password:
[Saphr002@hsldevoradb ~]$ pwd
/odi/CSV/in
[Saphr002@hsldevoradb ~]$ ls -ld /odi/CSV/in
drwxrwxr-x. 2 oraedw oedw 4096 Oct 28 18:33 /odi/CSV/in
[Saphr002@hsldevoradb ~]$ groups
Saphr002 oedw
[Saphr002@hsldevoradb ~]$ touch a
[Saphr002@hsldevoradb ~]$ ls
a

Aqui /odi/CSV/in é o diretório inicial para o usuário Saphr002. Existe uma permissão completa para o diretório /odi/CSV/in para o usuário Saphr002 e podemos criar um arquivo dentro desse diretório remotamente. Mas sempre que tentarmos transferir o arquivo de ftp , ele lançará um erro "553 Não foi possível criar o arquivo".

C:\Users\osprbs01>ftp 192.168.5.52
Connected to 192.168.5.52.
220 (vsFTPd 2.2.2)
User (192.168.5.52:(none)): Saphr002
331 Please specify the password.
Password:
230 Login successful.

ftp> put test.csv.odt
200 PORT command successful. Consider using PASV.
553 Could not create file.
ftp>

Por favor, ajude a transferir o arquivo através de ftp .

    
por user44663 28.10.2013 / 14:09

1 resposta

1

Para que o SELinux permita que o ftpd acesse esses arquivos, eles devem ter o contexto apropriado.

O exemplo a seguir é do RHEL. Seus caminhos, etc, podem variar:

Para encontrar o conteúdo apropriado, você pode usar ls -Zd /var/ftp/pub (ou um diretório apropriado configurado para ftp). Você deve ver os contextos do SELinux logo antes do nome do arquivo.
Exemplo: drwxr-xr-x. root root system_u:object_r:public_content_t:s0 /var/ftp/pub

public_content_t é o tipo apropriado para o conteúdo ftp.

Você pode então usar o comando chcon com --reference ou especificando o próprio tipo.
Exemplo: chcon -Rt public_content_t /odi/CSV/in ou você pode usar chcon --reference /var/ftp/pub /odi/CSV/in

Qual deles você usa depende das políticas do SELinux. Depois de concluído, repita o processo de FTP.

    
por 29.10.2013 / 15:39