O que significa o terceiro símbolo no modo de arquivo “rw-” na página de manual do OS X ls?

11

Tenho problemas para entender lso manual de um arquivo que possui o rw-modo. Aqui está a citação:

  1. Se r, o arquivo é legível ; se , não é legível.

  2. Se w, o arquivo for gravável; se , não é gravável.

  3. O primeiro dos seguintes itens se aplica:

    S     Se nas permissões do proprietário, o arquivo não é executável e o modo set-user-ID está definido. Se nas permissões de grupo, o arquivo não for executável e o modo de identificação de grupo definido estiver definido.

    s     Se nas permissões do proprietário, o arquivo é executável e o modo set-user-ID está definido. Se nas permissões de grupo, o arquivo é executável e o modo de identificação de grupo está definido.

    x     O arquivo é executável ou o diretório pode ser pesquisado.

        O arquivo não é do tipo legível , gravável, executável, nem ID do usuário definido nem ID do grupo definido, nem pegajoso.

Em particular, parece que duas seções em negrito se contradizem: de acordo com a primeira, desde que o modo começa r, o arquivo é legível, mas, de acordo com a última, o arquivo não é legível. Mas, obviamente, não é esse o caso.

Então, o que essa terceira seção significa sobre o arquivo ser "nem legível, gravável ..."?


Bibliografia

  • apple.com parece ser a fonte do texto citado acima.  Esta é a página do manual (para OS X versão 10.9, intitulada "Manual Geral de Comandos do BSD") e esta é uma página de discussão que a cita.
  • ss64.com também possui uma cópia da lspágina do manual do OS X.
  • tuhs.org tem a página de manual 4.4 BSD. Cuidado: usa wwoorrddpara negrito e _w_o_r_dsublinhado.
  • O freebsd.org tem a página de manual do FreeBSD 10.1, de 15 de março de 2013.
  • O unix.com possui uma cópia da página ruim no diretório man-page / freebsd (para FreeBSD 11.0). Observe que eles também têm uma cópia da página correta em man-page / posix .
  • A "Série de computadores A + 4 Real StudyExam4Less" contém o texto citado na pergunta, além de alguns parágrafos sobre Te t, mas não a página de manual inteira. Ele está falando do OS X. Você pode ver páginas de duas versões ligeiramente diferentes (edições?) Deste livro em books.google.com aqui e aqui .   certiguide.com parece citá-los.
  • stevens.edu é um arquivo PDF que contém a versão do BSD (General Commands Manual) ls(1). É datado de 24 de setembro de 2011.

Melhor:

  • O quora.com tem o mesmo texto, mas com a formatação (recuo) corrompida tanto que o significado é ambíguo.

Melhor ainda:

  • cyberciti.biz e hurricanelabs.com têm o mesmo texto, mas com o recuo corrigido a tal ponto que alguém poderia argumentar que está essencialmente OK. Mas os dois ainda estão realmente uma bagunça.
Max Yankov
fonte
Movido daqui: stackoverflow.com/questions/31021900/…
Max Yankov
1
rwx - leitura / gravação / execução
emirjonb
@emirjonb Não tenho certeza de como isso responde à minha pergunta.
precisa
2
@sawdust De acordo com este trecho do manual, um rw-arquivo é simultaneamente legível ( r), gravável ( w) e nem legível nem gravável ( -).
gronostaj
1
@ CML Eu não acho que você leu a pergunta.
precisa

Respostas:

16

Esta resposta foi postada anteriormente no Stack Exchange, antes de eu perceber que a pergunta estava sendo movida.

Cada ponto numerado na sua cotação se aplica sucessivamente a cada um dos três caracteres.

Se o primeiro caractere for 'r', o arquivo ficará legível

Se o segundo caractere for 'w', o arquivo será gravável

Se o terceiro caractere for 'x / s / S', o arquivo terá a propriedade executável e / ou set-userid / setgroupid conforme apropriado

Se o caractere for '-', o arquivo não possui essa propriedade.

Os três primeiros caracteres (após o identificador de diretório) se aplicam às permissões do usuário , os segundos três às permissões de grupo e o terceiro a todos os outros.

rojomoke
fonte
1
OK, esta é uma boa resposta para a pergunta: "O que significa o terceiro símbolo no rw-modo de arquivo?" Mas a verdadeira questão é: "Como essa ls(1)página de manual do OS X deve ser entendida?" e a resposta é: “Não pode ser; está distorcido. ” A postagem acima, que cita e / ou parafraseia uma ls(1)página de manual correta e coerente , não responde à pergunta sobre a página de manual do OS X.
Scott
Ainda é uma ótima resposta; Embora sua resposta seja tecnicamente correta, essa é a mais útil para uma pessoa aleatória que pesquisaria essa página de manual no futuro.
precisa
Sim, mas a pergunta "O que significa a saída ls?" é respondido muito mais detalhadamente em O que significam os campos na ls -alsaída? no Unix e Linux Stack Exchange. Além disso, é claro, qualquer um que Googled tal pergunta iria encontrar os milhões de bom, fontes claras sobre a web, incluindo o não-OS X, versões não-BSD dels(1)
Scott
9

Você está certo - não faz sentido. Parece algum tipo de erro de copiar e colar (embora eu veja que ele aparece em vários sites da Web).

Scott
fonte
A página de manual do BSD (gratuito) também possui essa redação.
user2543253
1
este não é um erro de copiar e colar: finalizar a resposta de rojomoke
CML
Onde você quer chegar? A resposta de rojomoke apresenta uma explicação coerente da representação clássica de nove caracteres dos bits de modo - uma explicação diferente da incoerente apresentada na pergunta. Acredito que seja bem possível que algum escritor de tecnologia da Apple reformate drasticamente algo que ele realmente não entendeu e corrompa o significado do processo.
Scott
A última linha faria mais sentido se não fosse recuada, porque o - representa uma ausência de valor, mas recuou da maneira que sugere que faz parte da descrição do item # 3, que descreve o terceiro símbolo de cada grupo.
Phyrfox
Sim, esse é exatamente o ponto da pergunta de @ Max - embora, se a última linha não fosse recuada, os parágrafos 1 e 2 seriam redundantes, porque também especificam as condições sob as quais -aparece.
Scott
-3

Ao alterar as permissões em um arquivo, é possível indicar duas permissões com um simples rw- ou wx-, o que significa que ambos r e w devem ser definidos como NO. No segundo exemplo, AM E x estão definidos como NÃO.

Você também pode indicar r + w- para definir READ para YES e WRITE para NO. Ou rx + para definir Read AND Execute para YES.

Roger Baran
fonte
1
Não tenho certeza de que isso seja relevante para a pergunta que fiz.
Max Yankov
1
Não tenho certeza de que isso seja relevante para este planeta. :-) ⁠
Scott
chmodargumentos não são formatados da mesma maneira que ls -lsaídas.
Peter Cordes