
Estoy usando este comando:
chown root:www-data /var/www/example.com -R
pero recibo un mensaje de error que indica que el directorio no aparece en la lista.
¿Lo que está mal?
Respuesta1
Hay que poner la -R
opción delante.
chown -R root:www-data /var/www/example.com
(Siempre uso un punto en lugar de dos puntos entre usuario y grupo, pero las páginas de manual dicen que se deben usar dos puntos).
Respuesta2
La versión GNU coreutils de chown
, que es estándar en Ubuntu, acepta opciones colocadas en cualquier lugar (siempre que --
no se utilice). Eso es:
chown foo:bar some/location -R
chown -R foo:bar some/location
ambos trabajan. Esto se debe a cómogetopt_long()
obras. En mi libro, esto es un error, ya que debería resultar en un error o estar documentado, lo cual, por lo que pude encontrar, no es así.
chown foo:bar some/location -- -R
buscaría el directorio llamado -R
.
Sin embargo, si se establece una variable de entorno, POSIXLY_CORRECT
el primer ejemplo fallaría si no hay un directorio llamado -R
y nunca se repetiría.
$ export POSIXLY_CORRECT=
$ chown -v :foo a/ -R
ownership of `a/' retained as foo:foo
chown: cannot access `-R': No such file or directory
En mi humilde opinión: siempre trate de ajustarse a la forma POSIX, ya que un día ingresa ese comando en otro sistema donde se aplica un POSIX, lo que se rompe.
También tenga en cuenta que el valor de POSIXLY_CORRECT
no tiene ningún efecto. Esto no lo desactivaría:
export POSIXLY_CORRECT=0
export POSIXLY_CORRECT=no
export POSIXLY_CORRECT=false
export POSIXLY_CORRECT=...
Sería necesario unset
.
Podría ser que su sistema esté configurado con otra chown
herramienta o
POSIXLY_CORRECT
esté configurado.
Corregido por:
export | grep POSIX
chown --version
# etc.
Como nota al margen, el uso del punto, .
para separar grupo y usuario quedó obsoleto a partir dePOSIX 2001( info coreutils 'chown invocation'
), pero aún se admite por compatibilidad con versiones anteriores, aunque no se recomienda.