Sei o que é ugoa (proprietário, grupo, outros, todos) ou rwx (leitura / direita / executar) ou 4,2,1 ou -
, f
, d
, l
, e eu tentei ler em man chmod
entender o que é um capital X
em chmod
mas não havia uma entrada para ele. Li então neste artigo em posix / chmod, mas fiquei preso nesta passagem:
Defina o bit executável apenas se o destino a) for um diretório b) já tiver pelo menos um bit executável definido para qualquer usuário, grupo ou outros.
Também li neste artigo que fornece este exemplo de código:
chmod -R u=rwX,g=rX,o=rX testdir/
Entendo que existe uma permissão recursiva no testdir/
, em relação ao proprietário (u), grupo (g) e outros (o), mas admito que ainda perco a intenção da capital X.
Talvez uma frase didática aqui possa lançar alguma luz sobre isso (a principal razão pela qual publiquei aqui é porque não encontrei uma sessão SE).
Atualizar
Desculpe tudo, eu senti falta disso no homem. Não imaginei que o X aparecesse antes da lista de argumentos e pensei que a pesquisa retornasse x em vez de X, que é ruim.
fonte
---, ---, ---
um indoe sem um "conjunto de bits"?---------
significa que nenhum bit está definido. Você pode achar essa pergunta útil....,...,...
) e "conjunto de bits inválido" (eu descreveria como---,---,---
), no início da resposta, poderia ajudar a torná-lo ainda mais didático e diminua a chance de alguém ter perdido isso; Isto é onde eu originalmente caí com isso.chmod
diz que "altera os bits do modo de arquivo de cada arquivo" etc. etc. Portanto, no contexto, "execute bit (s)" se refere a as três+x
permissões possíveis (ugo) . A meu ver, "nenhum conjunto de bits" soa estranho, pois não menciona nenhum contexto....,...,...
realmente não significa nada, nem “conjunto de bits de execução inválido” (o que é inválido?).Do
man chmod
:(ênfase minha).
No entanto, isso não esclarece muito. Este artigo possui as duas regras que esclarecem o que faz:
Por exemplo, emitimos o seguinte comando chmod em um diretório:
Usando o X maiúsculo, o comando acima define o atributo executável de acordo com as duas regras a seguir:
Se o arquivo for um diretório, ele definirá o atributo executável para o proprietário, grupo e mundo, o que significa que eles podem entrar nesse diretório.
Se o arquivo for um arquivo normal, ele adicionará o atributo executável às suas permissões, se o arquivo já tiver algum bit de execução definido. Se o arquivo não tiver um conjunto de bits de execução, nenhum será adicionado.
Usando o x minúsculo, seria impossível alcançar esse resultado com apenas um comando.
Esperança de que esclarecer o uso da X .
fonte
Por favor, não insira esta resposta. Foi exatamente o que entendi da resposta de Stephen Kitt acima, que aceitei como correta.
1) Um X maiúsculo como
a=rwX
diz: Todos os diretórios encontrados obterão x e todos os arquivos regulares encontrados que tiverem pelo menos 1 bit executável em um dos três grupos de permissão, também receberão x nos três grupos.2) A combinação de
a-x
(que garante que todos os arquivos percam o bit de execução), e uma subseqüentea=rwX
diz: Obtenha os bits de leitura e gravação em todos os lugares e um bit de execução apenas nos diretórios.fonte