umask permission - onde funciona, onde não funciona - ftp vs scp

1
Src = SJOAM    
Dest = sjoam2

Conectando-se a um servidor ftp, obtenha um arquivo dele.

No lado do servidor de ftp.

[oracle@SJOAM ~]$ ls -l total.zip 
-rwxrwxr-x. 1 oracle oinstall 412 Aug  8 09:03 total.zip

No lado do cliente, conectando-se ao servidor ftp

[grid@sjoam2 ~]$ umask
0002  -- take note of the permission
[grid@sjoam2 ~]$ ftp 192.168.1.25
Connected to 192.168.1.25 (192.168.1.25).
220 Welcome to SJOAM Network
Name (192.168.1.25:grid): oracle
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> get total.zip
local: total.zip remote: total.zip
227 Entering Passive Mode (192,168,1,25,45,116).
150 Opening BINARY mode data connection for total.zip (412 bytes).
226 Transfer complete.
412 bytes received in 0.000105 secs (3923.81 Kbytes/sec)
ftp> exit
221 Goodbye.
[grid@sjoam2 ~]$ ls -l
total 4
-rw-rw-r--. 1 grid grid 412 Aug  8 18:28 total.zip
[grid@sjoam2 ~]$ 

Anote a permissão do arquivo no servidor e no cliente. A permissão do arquivo recuperado é ajustada para o umask do cliente.

No entanto, se formos scp o arquivo do servidor para o cliente, a permissão permanecerá como do servidor.

[oracle@SJOAM ~]$ ls -l total.zip 
-rwxrwxr-x. 1 oracle oinstall 412 Aug  8 09:03 total.zip
[oracle@SJOAM ~]$ scp total.zip [email protected]:/home/grid/
[email protected]'s password: 
total.zip                                     100%  412     0.4KB/s   00:00    
[oracle@SJOAM ~]$ 

Veja a permissão de arquivo abaixo no cliente, é o mesmo que o do servidor

[grid@sjoam2 ~]$ ls -l
total 4
-rwxrwxr-x. 1 grid grid 412 Aug  8 09:03 total.zip
[grid@sjoam2 ~]$ 

Por quê?

No link , ele afirma que, por padrão, as permissões de arquivo aderem a umask no host de destino

7.5.4. Preserving Permissions

When scp copies files, the destination files are created with certain file attributes. By default, the file permissions adhere to a umask on the destination host, and the modification and last access times will be the time of the copy. Alternatively, you can tell scp to duplicate the permissions and timestamps of the original files. The -p option accomplishes this:

No meu caso, a permissão do arquivo de destino segue a da fonte e não da suask.

O que há de errado? Ou estou entendendo errado?

    
por Noob 08.08.2015 / 12:49

2 respostas

1

Seu exemplo mostra que você especificou -p , que a documentação citada explica, copia as permissões de arquivo da fonte em vez de usar umask. Remova o sinalizador -p se você quiser usar o umask.

    
por 09.08.2015 / 03:29
0

Seu umask está definido como 0002 , o que significa que irá ocultar permissões de gravação para outras pessoas.

Nos dois exemplos, o arquivo criado não pode ser gravado por outras pessoas.

Está funcionando corretamente.

    
por 10.08.2015 / 11:41