Eu empacoto uma pasta com muitas subpastas e arquivos no Windows com 7zip, carrego no VPS e executo o comando:
tar -xvzf file.tar.gz
então, todos os arquivos e pastas descompactados terão permissões 777. Como faço para que as pastas tenham permissões 755 e os arquivos 644?
Responder1
Se você estiver executando tar(1)
como um usuário normal, ele aplicará o seu umask
por padrão. Se você estiver executando tar(1)
como root
, poderá fornecer --no-same-permissions
a opção de linha de comando para pedir tar(1)
para respeitar o umask
.
Então: execute isso como um usuário normal:
umask 022
tar zxvf file.tar.gz
ou execute isso como root
:
umask 022
tar zxvf file.tar.gz --no-same-permissions
Você pode querer manter umask 022
seu ~/.bashrc
, ~/.bash_profile
, ou ~/.profile
. (Veja bash(1)
a página de manual para detalhes completos sobre os arquivos de inicialização. É complicado.)
Detalhes sobre umask
podem ser encontrados na página de manual do seu shell, na umask(2)
página de manual de chamada do sistema ou na umask(1posix)
página de manual do utilitário fornecido pelo POSIX (se você tiver o manpages-posix
instalado).
Responder2
Execute os seguintes comandos na raiz do diretório para definir as permissões desejadas para seus diretórios e arquivos:
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
Esteja ciente do espaço entre a chave de fechamento e a barra invertida
Responder3
Se você usar X maiúsculo, chmod
poderá usá-lo para definir as permissões de execução apenas em diretórios. ou seja
chmod -R ugo+X .
Responder4
encontrar . -type f -exec chmod 644 {} \;