Crear recursos compartidos de red a través de la línea de comandos con permisos específicos

11

Esta es una especie de pregunta doble.

Estoy desarrollando una aplicación que necesitará poder crear recursos compartidos de red en Windows Server 2003 a través de la línea de comandos. Entonces, en primer lugar, ¿cómo creo recursos compartidos en Windows a través de la línea de comandos? Intenté investigarlo, y todo lo que pude encontrar es que debería estar usando net, pero aparte de eso, no hay mucha documentación.

Además, en este recurso compartido habrá algunos directorios con los nombres de los usuarios en el dominio, y me gustaría que los directorios no sean legibles o escribibles por nadie más. Por ejemplo, digamos que tengo dos directorios: jsmithy jdoe. Me gustaría que el usuario jsmithescriba y lea desde el directorio jsmith, pero no desde el directorio llamado jdoe, y viceversa.

Derek Maciel
fuente

Respuestas:

5

Esta debería ser la información que está buscando:

::Create a drive letter map to an existing network share
net use z: \\servername\share password /USER:domain\username /PERSISTENT:YES

:: grant user 'jsmith' full control access to the jsmith directory
cacls z:\jsmith /T /E /G jsmith:f

También puede eliminar permisos o editar permisos en el directorio utilizando cacls.exe. Mi recomendación sería leer sobre cacls.exe

Cacls

http://technet.microsoft.com/en-us/library/bb490872.aspx

o simplemente "cacls /?" desde la línea de comando debería funcionar también.

matrixx333
fuente
1
PERSIST_E_NT;)
michabbb
¿Qué significa la opción "/ PERSISTENTE: SÍ"?
Bufón del Rey el
Desde Microsoft ( docs.microsoft.com/en-us/previous-versions/windows/it-pro/… ): controla el uso de conexiones de red persistentes. La configuración predeterminada es la última utilizada. Las conexiones sin dispositivo no son persistentes. Sí guarda todas las conexiones a medida que se realizan y las restaura en el siguiente inicio de sesión. No no guarda la conexión que se está realizando o las conexiones posteriores. Las conexiones existentes se restauran en el siguiente inicio de sesión. Use / delete para eliminar conexiones persistentes.
matrixx333
9

El comando que estás buscando es net share. La /?ayuda sobre el comando es bastante sencilla, pero aquí hay un ejemplo:

net share MyShareName="C:\My Local Path\SomeFolder" /GRANT:Everyone,FULL

En lo que respecta a la seguridad, por lo que he leído, la mejor práctica es hacer lo anterior, otorgar al grupo Todos el control total sobre el recurso compartido y luego administrar los permisos en los archivos y carpetas. Esto se debe a que los permisos compartidos son un filtro de restricción sobre los permisos reales de archivos y carpetas.

Jon Seigel
fuente