Tengo un servidor Linux que exporta carpetas compartidas de Samba a un cliente de Windows. Desde un shell de Linux, necesito configurar el atributo del sistema. En Windows, ejecutaría
attrib +s folder
¿Cómo puedo hacer esto en el servidor Linux?
Respuesta1
El atributo del sistema es algo específico de Windows. No existe un equivalente de Linux.
Samba tiene una forma de asignar atributos de Windows a permisos que existen en Linux. Sin embargo, puede resultar perjudicial, ya que los permisos de Linux tienen un significado diferente. Por tanto, el sistema y el atributo oculto no están asignados de forma predeterminada.
Para que el sistema y los atributos ocultos estén disponibles, edite la configuración de Samba ( /etc/samba/smb.conf
o similar, la ruta exacta depende de su distribución). Active las opciones map system
y map hidden
en la [data]
sección:
[data]
…
map system = yes
map hidden = yes
Luego, el atributo del sistema se asigna al bit de permiso de ejecución del grupo ( g+x
) y el atributo oculto se asigna al bit de permiso de otra ejecución ( o+x
). Por lo tanto, el equivalente de attrib +s some.file
en Windows es
chmod g+x some.file
en el servidor Linux.
Tenga en cuenta que esto significa que si convierte un archivo en ejecutable en Linux ( chmod a+x some.file
), quedará oculto en el sistema en Windows. Así que asegúrese de no crear archivos ejecutables normalmente en Linux.