Si creo un archivo como un usuario sin privilegios, y cambio el modo de permisos a 400, ese usuario lo ve como de solo lectura, correctamente:
$ touch somefile
$ chmod 400 somefile
$ [ -w somefile ] && echo rw || echo ro
ro
Todo está bien.
Pero luego aparece la raíz:
# [ -w somefile ] && echo rw || echo ro
rw
¿Que demonios? Claro, la raíz puede escribir en archivos de solo lectura, pero no debería convertirse en un hábito: las mejores prácticas tenderían a dictar que debería ser capaz de probar el bit de permiso de escritura, y si no es así, se configuró de esa manera por una razón.
Supongo que quiero entender por qué sucede esto y cómo puedo obtener un código de retorno falso al probar un archivo que no tiene el bit de escritura establecido.
/etc/dhcp/dhcpd.conf, que es propiedad de root. Estoy usando el suministrado por el vendedor dhcpd. Desastre total, ¿eh? El archivo se registró en RCS, estoy automatizar el uso de rcsdiff, ciy coporque tenemos operadores que deben operar .... La comprobación de bits de permiso ( -wcomo se detalla en test(1)) iba a ser una primera línea de falla, trabajando sobre la base de que ci -udeja un archivo de solo lectura. Estoy abandonando eso y yendo directamente a rcsdiff -qcomprobar $?. dhcpd¿ Desastroso ? Que sería propiedad de dhcpd.
bashy testme llevaron a creer que para eso [ -wes.
4.1.2(1)-release) como RHEL7 (4.2.46(2)-release).