¿Qué significa el tercer símbolo en el modo de archivo "rw-" en la página de manual de OS X ls?


11

Tengo problemas para entender lsel manual de un archivo que tiene rw-modo. Aquí está la cita:

  1. Si r, el archivo es legible ; si , no es legible.

  2. Si w, el archivo se puede escribir; si , no es escribible.

  3. El primero de los siguientes que se aplica:

    S     Si está en los permisos del propietario, el archivo no es ejecutable y se establece el modo set-user-ID. Si está en los permisos de grupo, el archivo no es ejecutable y se establece el modo set-group-ID.

    s     Si está en los permisos del propietario, el archivo es ejecutable y se establece el modo set-user-ID. Si está en los permisos de grupo, el archivo es ejecutable y se establece el modo set-group-ID.

    x     El archivo es ejecutable o se puede buscar en el directorio.

        El archivo no es legible , escribible, ejecutable, ni establece el modo de ID de usuario ni establece el modo de ID de grupo, ni pegajoso.

En particular, parece que dos secciones en negrita se contradicen entre sí: según la primera, dado que el modo comienza r, el archivo es legible, pero según la última, el archivo no es legible. Pero, obviamente, ese no es el caso.

Entonces, ¿qué significa esa tercera sección acerca de que el archivo no es "ni legible ni grabable ..."?


Bibliografía

  • apple.com parece ser la fuente del texto citado anteriormente.  Esta es la página de manual (para OS X versión 10.9, titulada "Manual de comandos generales de BSD"), y esta es una página de discusión que lo cita.
  • ss64.com también tiene una copia de la lspágina de manual de OS X.
  • tuhs.org tiene la página de manual 4.4 BSD. Cuidado: se usa wwoorrddpara negrita y _w_o_r_dsubrayado.
  • freebsd.org tiene la página de manual de FreeBSD 10.1, con fecha del 15 de marzo de 2013.
  • unix.com tiene una copia de la página incorrecta en el directorio man-page / freebsd (para FreeBSD 11.0). Tenga en cuenta que también tienen una copia de la página correcta en man-page / posix .
  • El "A + 4 Real StudyExam4Less Computer Series" contiene el texto citado en la pregunta, más un par de párrafos sobre Ty t, pero no toda la página del manual. Se trata de OS X. Puedes ver páginas de dos versiones ligeramente diferentes (¿ediciones?) De este libro en books.google.com aquí y aquí .   certiguide.com parece estar citándolos.
  • stevens.edu es un archivo PDF que contiene la versión BSD (Manual de comandos generales) de ls(1). Está fechado el 24 de septiembre de 2011.

Mejor:

  • quora.com tiene el mismo texto, pero con el formato (sangría) tan dañado que el significado es ambiguo.

Mejor todavía:

  • cyberciti.biz y hurricanelabs.com tienen el mismo texto, pero con la sangría corregida hasta el punto de que uno podría argumentar que está esencialmente bien. Pero ambos siguen siendo realmente un desastre.


1
rwx - lectura / escritura / ejecución
emirjonb

@emirjonb No estoy seguro de cómo responde esto a mi pregunta.
Max Yankov

2
@sawdust De acuerdo con este extracto del manual, un rw-archivo es simultáneamente legible ( r), editable ( w) y no legible ni editable ( -).
gronostaj

1
@CML No creo que hayas leído la pregunta.
Max Yankov

Respuestas:


16

Esta respuesta se publicó anteriormente en Stack Exchange, antes de notar que la pregunta se estaba moviendo.

Cada punto numerado en su cotización se aplica a su vez a cada uno de los tres caracteres.

Si el primer carácter es 'r', el archivo es legible

Si el segundo carácter es 'w', el archivo se puede escribir

Si el tercer carácter es 'x / s / S', el archivo tiene la propiedad ejecutable y / o set-userid / setgroupid según corresponda

Si el carácter es '-', entonces el archivo no tiene esa propiedad.

Los primeros tres caracteres (después del identificador de directorio) se aplican a los permisos de usuario , los segundos tres a los permisos de grupo y el tercero a todos los demás.


1
OK, esta es una buena respuesta a la pregunta, "¿Qué significa el tercer símbolo en rw-modo archivo?" Pero la verdadera pregunta es: "¿Cómo debe ls(1)entenderse esta página de manual de OS X ?" y la respuesta es: "No puede ser; está confuso ". La publicación anterior, que cita y / o parafrasea una ls(1)página de manual correcta y coherente , no responde a la pregunta sobre la página de manual de OS X.
Scott

Sigue siendo una gran respuesta; Si bien su respuesta es técnicamente correcta, esta es la más útil para una persona aleatoria que buscaría en Google esta página de manual en el futuro.
Max Yankov

Sí, pero la pregunta "¿Qué significa la salida de ls?" se responde mucho más a fondo en ¿Qué significan los campos en la ls -alsalida? en Unix y Linux Stack Exchange. También, por supuesto, cualquiera que Googled una pregunta tan encontraría los millones de buenos, fuentes claras en la web, incluyendo la no-OS X, versiones no BSD dels(1)
de Scott

9

Tienes razón, no tiene sentido. Parece una especie de error de copiar y pegar (aunque veo que aparece en varios sitios en la web).


La página de manual de BSD (Gratis) también tiene esa redacción.
user2543253

1
esto no es un error de copiar y pegar: consulte la respuesta de rojomoke
CML

¿Cual es tu punto? La respuesta de rojomoke presenta una explicación coherente de la representación clásica de nueve caracteres de los bits de modo, una explicación que es diferente de la incoherente presentada en la pregunta. Creo que es muy posible que algún escritor de tecnología de Apple haya reformateado drásticamente algo que realmente no entendía, y corrompió el significado en el proceso.
Scott

La última línea tendría más sentido si no tuviera sangría, porque - representa una ausencia de un valor, pero la sangría sugiere que es parte de la descripción del elemento # 3, que describe el tercer símbolo de cada grupo.
phyrfox

Sí, ese es exactamente el punto de la pregunta de @ Max, aunque, si la última línea no tuviera sangría, los párrafos 1 y 2 serían redundantes, porque también especifican las condiciones en las que -aparece.
Scott

-3

Al cambiar los permisos en un archivo, es posible indicar dos permisos con un simple rw- o wx-, lo que significa que AMBOS rYw se deben establecer en NO. En el segundo ejemplo, AMBOS wYx están establecidos en NO.

También puede indicar r + w- para establecer READ en YES y WRITE en NO. O rx + para configurar Leer y ejecutar en SÍ.


1
No estoy seguro de que esto sea relevante para la pregunta que hice.
Max Yankov

1
No estoy seguro de que esto sea relevante para este planeta. :-) ⁠
Scott

chmodLos argumentos no están formateados de la misma manera que las ls -lsalidas.
Peter Cordes
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.