sftp chmod recursivo

1

Eu fiz o login em um servidor via sftp via terminal.

Quando eu executo o comando

chmod -R 755 ./*

Eu recebo o erro You must supply a numeric argument to the chmod command. . Como aplico um chmod 755 recursivo enquanto no sftp?

    
por John 16.10.2012 / 16:25

3 respostas

1

Você pode não conseguir. Há uma boa chance de o chmod disponível para você via FTP ou SFTP não suportar a opção recursiva. Comandos disponíveis sob FTP / SFTP são frequentemente versões um pouco aleijadas do que você teria disponível localmente sob o shell. Se tiver sorte, chmod pode agir de forma recursiva, mesmo sem a opção -R , mas se você tiver azar, terá que percorrer a árvore, chmod'ing cada nível um por vez.

    
por 16.10.2012 / 17:27
3

De man sftp :

chmod mode path

Change permissions of file path to mode. path may contain glob(3) characters and may match multiple files.

man 7 glob ( man 3 glob referencia glob (7)) descreve o *,? e [] padrões de caracteres curinga com os quais estamos familiarizados quando usamos ls . Então você poderia usar:

chmod 755 ./*
chmod 755 ./*/*
chmod 755 ./*/*/*

repetidamente até chegar a todos os arquivos e receber o erro:

Couldn't setstat on "./*/*/*": No such file or directory

Antes dessa alteração em massa, você poderia confirmar com antecedência quais diretórios seriam afetados com lls (de man sftp ):

lls [ls-options [path]]

Display local directory listing of either path or current directory if path is not specified. ls-options may contain any flags supported by the local system's ls(1) command. path may contain glob(3) characters and may match multiple files.

assim (especifique um caminho absoluto para lls para evitar surpresas):

lls -Rla /path

Você também pode usar lls -Rla /path para garantir que seu chmod funcionou como esperado.

    
por 16.10.2012 / 22:08
1

Eu estava trabalhando em um servidor onde a recursiva não parecia ser suportada, de acordo com o comentário de Nicole acima. O curinga chmod funcionou, mas estava esgotando o tempo tentando executar na estrutura de pastas insana.

O que o truque para mim no final foi realmente o Filezilla - embora eu não pudesse recursivamente chmod via terminal, o Filezilla foi capaz de fazê-lo de alguma forma através da GUI.

    
por 03.03.2016 / 19:15