Foros del Web » Administración de Sistemas » Seguridad y redes »

comando cacls para grupos ¿como?

Estas en el tema de comando cacls para grupos ¿como? en el foro de Seguridad y redes en Foros del Web. (En Vista no funciona bien) Hola a todos, Quiero cambiar los permisos a una carpeta para que todos los usuarios tengan acceso a ella, no ...
  #1 (permalink)  
Antiguo 14/03/2008, 05:40
LSS
 
Fecha de Ingreso: marzo-2008
Mensajes: 13
Antigüedad: 16 años, 8 meses
Puntos: 0
De acuerdo comando cacls para grupos ¿como? (Solucionado)

(En Vista no funciona bien)

Hola a todos,

Quiero cambiar los permisos a una carpeta para que todos los usuarios tengan acceso a ella, no encuentro el modo de dar acceso a todos los usuarios de golpe (al grupo de todos ellos) si lo puedo hacer uno a uno por su nombre. Para ello estoy intentando usar el comando y los parámetros
cacls "C:\CSW32\Keybank\Exe" /t /e /g “nombre de usuario”:F

Lo podría hacer de este modo cacls "C:\CSW32\Keybank\Exe" /t /e /g “usuarios”:F y de he comprobado que funciona pues usuarios es el grupo al que pertenecen los usuarios sin privilegios (que son a los que quiero dar acceso a la carpeta). EL PROBLEMA es que si hago lo mismo en un PC con un Windows en ingles u otro idioma el nombre usuarios se traduce al idioma correspondiente y no se produce el cambio de permisos.

¿Alguien sabe como hacerlo?

Gracias

Última edición por LSS; 27/03/2008 a las 04:31
  #2 (permalink)  
Antiguo 14/03/2008, 07:16
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 10 meses
Puntos: 19
Re: comando cacls para grupos ¿como?

Por ejemplo con este script
Código:
if exist c:\grupos.txt del c:\grupos.txt
@echo off
@net localgroup >  c:\grupos.txt
@find /I /C  "Usuarios" c:\grupos.txt > nul
if errorlevel 1 cacls c:\carpeta /E /G users:C
if errorlevel 0 cacls c:\carpeta /E /G usuarios:C

rem boceto a toda prisa by javacasta
Lo acabo de hacer a toda prisa, por lo que tiene errores de sintaxis seguro, así que tendrás que depurarlo ... pero si captas la idea del script me alegro

salu2
salu2
  #3 (permalink)  
Antiguo 14/03/2008, 09:09
LSS
 
Fecha de Ingreso: marzo-2008
Mensajes: 13
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: comando cacls para grupos ¿como?

Muchísimas gracias

La idea es buena, pero tiene que funcionar con Windows en cualquier idioma y con eso solo lo consigo para español e ingles.

No es plan poner casos para todos los idiomas. De momento por lo menos necesito Aleman, Itlainao, Frances, Sueco, Noruego, Danes y Holandes, pero se que también se va a usar en China, Israel, Republica Checa y algún otro país mas con lo cual no puedo andar poniendo todas las posibles traducciones de usuario.

Yo tenia la esperanza que todos los grupos de usuarios estuvieran bajo un grupo (master), que dicho grupo tuviera un nombre en Windows del tipo %users% o %All User% , pero no, no he encontrado nada de eso.

¿Alguna brillante idea?
  #4 (permalink)  
Antiguo 16/03/2008, 14:44
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 10 meses
Puntos: 19
Re: comando cacls para grupos ¿como?

Vas a tener que tirar de WMI y vbs :

http://www.nocturnabsas.com.ar/forum...un-idioma.html
Cita:
rem script WMI en vbs que da el nombre del grupo administradores en el idioma del sistema
Ordenador = "."
Set ServicioWMI = GetObject("winmgmts:\\" & Ordenador & "\root\cimv2")
Set Cuenta = ServicioWMI.Get ("Win32_SID.SID='S-1-5-32-544'")
Wscript.Echo Cuenta.AccountName
Siguiendo esa idea podrias:

Sabiendo que el SID conocido para el grupo local Todos es: S-1-1-0

Código:
rem lanza_permisos.cmd
@echo off
if not exist c:\grupotodos md c:\grupotodos
rem el script en vbs debe de crear un fichero todos.txt con una linea con el nombre_grupo_todos
averigua_nombre_grupo_local_todos.vbs
set nombre_grupo_todos =
FOR /F "eol=; tokens=1* delims=: " %%i in (c:\grupotodos\todos.txt) do SET nombre_grupo_todos=%%i 
cacls c:\carpeta /E /G %nombre_grupo_todos%:C
rem by javacasta - http://javcasta.es
Código:
'averigua_nombre_grupo_local_todos.vbs

'hay que crear fichero todos.txt con el nombre del grupo local todos
Ordenador = "."
Set ServicioWMI = GetObject("winmgmts:\\" & Ordenador & "\root\cimv2")
Set Cuenta = ServicioWMI.Get ("Win32_SID.SID='S-1-1-0'")
'Wscript.Echo Cuenta.AccountName
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "cmd /c  echo " & Cuenta.AccountName & " > c:\grupotodos\todos.txt"
Navegando he encontrado esto por si te interesa documentarte:
script para modificar permisos


http://www.microsoft.com/spain/techn...5/hey1102.mspx

http://support.microsoft.com/kb/288900/es

http://support.microsoft.com/kb/328889/es

salu2

Última edición por dogduck; 16/03/2008 a las 14:54
  #5 (permalink)  
Antiguo 17/03/2008, 08:31
LSS
 
Fecha de Ingreso: marzo-2008
Mensajes: 13
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: comando cacls para grupos ¿como?

Muchas gracias por la información dogduck

La verdad es que es la primera vez que tengo que hacer algo así y gracias a ti creo que lo podré resolver.

Ahora mismo estoy asimilando toda la información que me has aportado. Estoy mirándome lo del WMI y el VBS pues es algo que no he visto en la vida.

Me has dado faena para un par de días hasta que asimile todo lo que me has mostrado.

De momento estoy comprendiendo que hace cada línea de los scripts que me has pasado luego intentaré ejecutarlos y adaptándolos a mis necesidades, pero de momento he de asimilar/aprender todo para saber que estoy haciendo exactamente.

Nuevamente te doy las gracias
  #6 (permalink)  
Antiguo 17/03/2008, 14:34
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 10 meses
Puntos: 19
Re: comando cacls para grupos ¿como?

Por cierto atención con la linea de lanza_permisos.cmd :
FOR /F "eol=; tokens=1* delims=:" %%i in (c:\grupotodos\todos.txt) do SET nombre_grupo_todos=%%i
No pongas espacio en blanco entre los 2 puntos y las dobles comillas delims=:"

Te comento los scripts:

1º ejecutas lanza_permisos.cmd


if not exist c:\grupotodos md c:\grupotodos = si no existe el directorio lo crea
averigua_nombre_grupo_local_todos.vbs = lanza el script en vbs
set nombre_grupo_todos = = inicializa la variable
FOR /F "eol=; tokens=1* delims=: " %%i in (c:\grupotodos\todos.txt) do SET nombre_grupo_todos=%%i = lee del fichero todos.txt su contenido y lo asigna a la variable
cacls c:\carpeta /E /G %nombre_grupo_todos%:C = da permisos a la carpeta, editando la acl en vez de reemplazarla y concede permisos de escritura al usuario que esté en la variable %nombre_grupo_todo%

el fichero averigua_nombre_grupo_local_todos.vbs, que es lanzado por el .cmd y debe de estar en la misma carpeta que el .cmd

Ordenador = "." = variable que apunta a localhost (cosas del WMI)
Set ServicioWMI = GetObject("winmgmts:\\" & Ordenador & "\root\cimv2")
Set Cuenta = ServicioWMI.Get ("Win32_SID.SID='S-1-1-0'") = Hasta aquí consigue que la variable Cuenta obtenga las propiedades del grupo local Todos (en cualquier idioma)
Set WshShell = WScript.CreateObject("WScript.Shell") = Inicializamos el ActiveX Windows Scripting Host Shell
WshShell.Run "cmd /c echo " & Cuenta.AccountName & " > c:\grupotodos\todos.txt" = Equivalente a lanzar el comando
inicio > ejecutar > cmd /c echo Todos > c:\grupotodos\todos.txt
pero gracias a Cuenta.AccountName en el idioma del sistema
el comando lo que hace es escribir en un fichero el valor de Cuenta.AccountName (todos) y si existe el fichero lo sobrescribiria (>) ( para añadir se usaria >> )


Postdata: lo he probado en XP, 2K3 y vista Home premium y funciona. Suerte
salu2
  #7 (permalink)  
Antiguo 17/03/2008, 16:34
LSS
 
Fecha de Ingreso: marzo-2008
Mensajes: 13
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: comando cacls para grupos ¿como?

Jajaja esa es la unica linea que no entiendo muy bien como lo hace. Se para que es, pero la sintaxis es complicada y me hubiera llevado tiempo solucionar el detalle del espacio en blanco entre el los 2 puntos y las dobles comillas.

Otra coas voy a usar el SID S-1-5-32-545 que corresponde a users (usuarios).
Lo hare así por 2 motivos, primero porque lo veo más seguro y lo segundo porque con el SID S-1-1-0 que corresponde a everibody (todos), no me funciona.
He probado a dar permisos a una carpeta para el grupo Todos pero luego un “usuario limitado” sigue sin poder crear, borrar y modificar ficheros en la carpeta donde aplico el cambio de permisos. Cosa que no ocurre si hago lo mismo para el grupo Usuarios.

Por lo demás todo bien, solo me queda entender toda la sintaxis de la línea
FOR /F "eol=; tokens=1* delims=: " %%i in (c:\grupotodos\todos.txt) do SET nombre_grupo_todos=%%i

Cuando tenga claro como es possible que esta linea lea el contenido del fichero ya podre decir que he entendido el script. Bueno no se puede decir que yo ahora se hacer scripts, pero por lo menos he aprendido a manejarme un poco con ellos.

Cuando tenga todo claro y los scripts finales, los pondré aquí para que veas "mis" progresos, pero ya te digo que será practicamete lo mismo que tu has ido poniendo.

Por cierto de momento lo estoy probando en XP, pero si me dices que irá en vista me quedo mas tranquilo. Cuando lo tenga funcionando en XP tenia pensado testearlo en Vista y en 2000. Para 2000 he visto que tendré que hacer una pequeña modificación, pero bueno precisamente Win 2000 es donde mas puedo sobrevivir sin que funcione

Gracias por todo

Última edición por LSS; 17/03/2008 a las 16:39
  #8 (permalink)  
Antiguo 18/03/2008, 04:38
LSS
 
Fecha de Ingreso: marzo-2008
Mensajes: 13
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: comando cacls para grupos ¿como?

Esta es mí conclusión de la línea

FOR /F "eol=; tokens=1* delims=:" %%i in (c:\TEMPA2\grupos.txt) do SET nombre_grupo_users=%%i

Pues vamos a ver, For /F lo que hace es buscar en todas las filas de un archivo.

Este for procesara todas las líneas menos las que empiecen por “;” ya que eol=;.

En cada línea que procese solo dará tantas vueltas como “:” se encuentre (delims=:).

Almacenara en la variable %i, solamente la parte de la cadena que se encuentre entre el principio y la primera (tokens=1) aparición de “:”.

Para las líneas que no tengan “:” se considera el primer token como la línea completa, por lo que en esas líneas en vez de pasar de ella, las tomara enteras en la variable.

En caso de tener en el fichero una línea con mas de una palabra y separadas por “:”, como el ejemplo “usuarios : perro de casa”, en la variable %i se pondría el valor “usuarios” y en la variable %j el resto de la frase “perro de casa”. Esto es así porque el tokens tiene un * después del 1 (tokens=1*), si no fuera así no se crearía la variable %j con el resto de la frase.

La última parte del for es simple, el valor de la variable %i lo coloca, con el set, en la variable nombre_grupo_users.

Ahora solo me falta testear bien el script y luego, si todo va bien, lo colgaré aqui.

Saludos
  #9 (permalink)  
Antiguo 18/03/2008, 11:07
LSS
 
Fecha de Ingreso: marzo-2008
Mensajes: 13
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: comando cacls para grupos ¿como?

Por fin tengo listo el script.

Con este scrippt se consigue dar permisos para que los usuarios tengan todos los permisos en 2 carpetas y para que todos los usuarios tengan permisos para acceder a una clave del registro.

En total tenemos 3 ficheros: Script.bat, GetUsersName.vbs y Script.txt.

Ejecutamos Script.bat el cual primero da permisos de acceso a una clave del registro a todos los ususarios con el comando Regini y según lo contenido en Script.txt.
Luego se lanza GetUsersName.vbs que deja el nombre del grupo usuarios en un fichero y finalmente se usa el comando cacls se da para dar permiso al grupo usuarios (obtenido con GetUsersName.vbs) para que tenga total acceso a las carpetas que se pasan por parámetros al Script.bat

Script.bat
Código:
@echo off
Set path1=%1
Set path2=%2
rem Accessos al registro
regini Script.txt
if exist c:\TEMPA2\grupos.txt del c:\TEMPA2\grupos.txt
if not exist c:\TEMPA2 MD c:\TEMPA2
rem el script en vbs debe de crear un fichero c:\TEMPA2\grupos.txt con una linea con el nombre_grupo_users
GetUsersName.vbs
:ESPERA
if not exist c:\TEMPA2\grupos.txt GOTO :ESPERA
set nombre_grupo_users =
FOR /F "eol=; tokens=1* delims= " %%i in (c:\TEMPA2\grupos.txt) do SET nombre_grupo_users=%%i
cacls %path1% /t /e /g %nombre_grupo_users%:F
cacls %path2% /t /e /g %nombre_grupo_users%:F
if exist c:\TEMPA2\grupos.txt del c:\TEMPA2\grupos.txt
if exist c:\TEMPA2 rd c:\TEMPA2
Finalmente la linea de For /f en el parámetro delins le asigno un espacio en blanco. Si no hago eso y no asigno nada o asigno “:”, como antes, parece ser que coge el carácter de final de linea y luego el comando cacls falla (normal )

Script.txt
Código:
\Registry\Machine\Software\Firebird Project\Firebird Server\Instances [1 5 7 11 17]
GetUsersName.vbs
Código:
Ordenador = "."
Set ServicioWMI = GetObject("winmgmts:\\" & ordenador & "\root\cimv2")
Set Cuenta = ServicioWMI.Get ("Win32_SID.SID='S-1-5-32-545'")
rem Wscript.Echo Cuenta.AccountName
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "cmd /c  echo " & Cuenta.AccountName & " > c:\TEMPA2\grupos.txt"



Muchísimas gracias por todo sin tu ayuda no lo hubiera conseguido.

Un placer encontrar gente como dogduck , tan dispuesta a enseñar.
Gracias
  #10 (permalink)  
Antiguo 18/03/2008, 12:26
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 10 meses
Puntos: 19
Re: comando cacls para grupos ¿como?

Pues me alegro que te haya ayudado.
Buén análisis y buena implementación.

solo una observación:

:ESPERA
if not exist c:\TEMPA2\grupos.txt GOTO :ESPERA

si no existe el fichero, entraria en un bucle infinito ... a no ser que le estés dando tiempo al
script en vbs para que lo cree ...

pero veo que has captado el espiritu del scripting.
Por cierto para windows existe una especie de lenguaje tipo VB que implementa scripts, macros para el sistema y los compila a .exe , mirate el AutoIt ( http://es.wikipedia.org/wiki/AutoIt ), si llegas a hacerte con el, te olvidarás de los batch y los vbs, ya que puedes implemetar muchas tareas administrativas desatendidas en background o con formularios con la asistencia del usuario.

salu2

Última edición por dogduck; 18/03/2008 a las 12:40
  #11 (permalink)  
Antiguo 19/03/2008, 02:35
LSS
 
Fecha de Ingreso: marzo-2008
Mensajes: 13
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: comando cacls para grupos ¿como?

Efectivamente el “bucle infinito” es para que GetUsersName.vbs tenga tiempo de crear el fichero con el nombre del grupo de usuarios.

Con respecto al AutoIt cuando tenga tiempo le echaré un ojo, mas por curiosidad que por necesidad. Pero ahora la verdad es que tiempo precisamente no es lo que más tengo. Lo pongo en mi lista de cosas interesantes y cuando tenga tiempo lo miraré.

Sinceramente gracias por la ayuda prestada, un placer encontrar gente como tu.
Saludos
  #12 (permalink)  
Antiguo 27/03/2008, 04:57
LSS
 
Fecha de Ingreso: marzo-2008
Mensajes: 13
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: comando cacls para grupos ¿como?

Bueno después de un periodo de ausencia, por fin he podido testear el script en Windows vista y los resultados no han sido los esperados.

Resulta que cuando intento modificar con el comando cacls los permisos de un carpeta que esta en archivos de programas, win Vista no me deja, me dice que no tengo permisos para hacer eso.

Total que siendo administrador no puedo usar (o no se usar) el comando calcs para cambiar los permisos de una carpeta que esta en archivos de programa.

Como lo puedo hacer?
  #13 (permalink)  
Antiguo 27/03/2008, 14:01
Avatar de Marto
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Atapuerca, cuna de la Evo
Mensajes: 3.499
Antigüedad: 23 años
Puntos: 17
Re: comando cacls para grupos ¿como?

Muy buenas:

En vez de usar la ruta Archivos de programa, usa "Program Files" ya que en vista las carpetas originales están en inglés aunque cuando tú las visualizas te las traduce a tu idioma.
__________________
Me encantaría poder cambiar el mundo, pero es que no me dan el código fuente

** SIGO OFFLINE, PERO PRONTO REGRESO DE NUEVO, COSAS DEL TRABAJO ;D **
  #14 (permalink)  
Antiguo 28/03/2008, 02:30
LSS
 
Fecha de Ingreso: marzo-2008
Mensajes: 13
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: comando cacls para grupos ¿como?

No lo he puesto en el mensaje anterior, pero uso el path con "program files" en lugar de "archivos de programa".

El caso es que del path donde ha de poner los permisos no se queja, se queja porque no tengo permisos para hacer esa operación sobre el path especificado.

No se como hacerlo, porque el script lo ejecuto con un administrador de Vista.
  #15 (permalink)  
Antiguo 28/03/2008, 05:39
Avatar de Marto
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Atapuerca, cuna de la Evo
Mensajes: 3.499
Antigüedad: 23 años
Puntos: 17
Re: comando cacls para grupos ¿como?

Aunque lo ejecutes como el administrador de vista, tienes que ejecutarlo como administrador ... ya se que es un lio pero verás como lo entiendes con un ejemplo.

Eres el administrador de la máquina y por ejemplo voy a realizar un cambio a través de la consola cmd. La abres, ejecutas el comando y sorpresa¡¡¡¡ acceso denegado, tienes que ejecutar la consola con permiso de administrador aunque tu ya los tengas. Para eso, pulsas sobre el icono con el botón derecho del ratón sobre él y elige "ejecutar como administrador"



Todo esto es debido a la nueva funcionalidad UAC del windows Vista, puedes probar a deshabilitarla entrando en Inicio -> Panel de Control -> Cuentas de usuario y protección infantil -> Cuentas de usuario -> Activar o desactivar el Control de cuentas de usuario, y desmarcamos la casilla "Usar el Control de cuentas de usuario (UAC) para ayudar a proteger el equipo".

Haber si así hay suerte.
  #16 (permalink)  
Antiguo 28/03/2008, 07:47
LSS
 
Fecha de Ingreso: marzo-2008
Mensajes: 13
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: comando cacls para grupos ¿como?

Eso lo se y lo entiendo, peo yo necesito hacer algo así pero por código. El script se ejecuta desde una instalación y no puedo hacer lo que me expones.

dogduck comentoó que el lo había testeado en Vista y le funciono. Seria interesante si el pudiera comentar como lo hizo

Gracias por el tiempo empleado en mi problema
  #17 (permalink)  
Antiguo 30/03/2008, 13:20
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 10 meses
Puntos: 19
Re: comando cacls para grupos ¿como?

Pues para el tema del path de instalación, yo usaria la variable de entorno %ProgramFiles% (para un vista ProgramFiles=C:\Program Files).
Y para eludir el problema de los permisos de ejecución ... el conocido y util runas

c:\runas /u:administrador "c:\carpeta\script.cmd"

Para evitar el tema de que pida la contraseña se puede optar por usar una utilidad llamada sanur que permite ejecutar un runas pasandole la clave
http://www.commandline.co.uk/sanur/
http://blog.pucp.edu.pe/item/20249

y por seguridad incluso hay utilidades tipo sanur que pasa la clave encriptada:
http://www.joeware.net/freetools/tools/cpau/index.htm


salu2
  #18 (permalink)  
Antiguo 02/04/2008, 02:32
LSS
 
Fecha de Ingreso: marzo-2008
Mensajes: 13
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: comando cacls para grupos ¿como?

Gracias por el iteres, pero creo que he llegado a un callejón si salida.

El caso es que en principio no conozco el pasword del administrador. El script se ha de ejecutar durante la instalación de un programa. Como especificación exijo que el programa lo instale el administrador, pero no veo normal tener que preguntar el pasword, además si el administrador no tiene pasword (como ocurre en muchísimos ordenadores usados por una sola persona) no puedo usar el runas.

En fin de momento,mientras acabamos de adaptar el software para Windows vista, sobreviviré con la instalación en XP .
  #19 (permalink)  
Antiguo 10/04/2008, 02:30
 
Fecha de Ingreso: abril-2008
Mensajes: 2
Antigüedad: 16 años, 7 meses
Puntos: 0
Desacuerdo Re: comando cacls para grupos ¿como?

Hola a todos, tengo un dominio y varios equiopos cliente. El caso es que quiero dar permisos de escritura a una carpeta de cada equipo, a todos los usuarios del dominio. Esos usuarios del dominio no son administradores. Quiero hacerlo por politica para no tener que ir equipo a equipo. La idea que tenia era hacer un ficherito .bat para dar permisos a dicha carpeta.

Como puedo hacerlo? Es posible adaptar el script que ha creado dogduck?
yo de programación
Muchas gracias a todos.
  #20 (permalink)  
Antiguo 10/04/2008, 10:40
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 10 meses
Puntos: 19
Re: comando cacls para grupos ¿como?

Si tienes servidor de dominio puedes incluir en el script de incio de sesión de cada usuario, por ejemplo inicio.cmd, lo siguiente

Código:
@echo off
rem dando permisos de escritura a los usuarios
attrib -h -r -s c:\carpeta1\carpeta2\
cacls c:\carpeta1\carpeta2 /t /e /g usuarios:W
rem probar tambien con:
rem cacls c:\carpeta1\carpeta2 /t /e /g usuarios:F
rem o
rem cacls c:\carpeta1\carpeta2 /t /e /g Todos:W
rem o
rem "cacls c:\carpeta1\carpeta2 /t /e /g usuarios del dominio:W"
rem o
cacls cacls c:\carpeta1\carpeta2 /t /e /g "usuarios del dominio":W
rem o
rem idem usuarios autentificados ...
El problema puede estar en que al ejecutarse el script de inicio de sesión, este se ejecuta con los privilegios del usuario del dominio, por lo que si es algo urgente, puedes hacer lo siguiente:
Hablas con el admin del servidor de dominio, elevas los privilegios de todos los usuarios del dominio al rango que haga falta (administrador del dominio ) y que inicien sesión todos
a las 09:00 a.m. Una vez iniciada la sesión se ejecuta el script, y solo resta volver a darle a los usuarios los privilegios anteriores (esto en el AD se hace muy facilmente y rapidamente)
A pesar de la sencillez de la operación, es algo delicada, ya que si hay un/os equipos comprometidos con virus, gusanos o similares, es peligroso que adquieran privilegios en el dominio, aunque sea solo por unos minutos ... hay que analizar antes de actuar. Pruebalo 1º en un par de equipos y usuarios.

salu2
  #21 (permalink)  
Antiguo 11/04/2008, 00:44
 
Fecha de Ingreso: abril-2008
Mensajes: 2
Antigüedad: 16 años, 7 meses
Puntos: 0
Información Re: comando cacls para grupos ¿como?

Tengo un dominio, y los usuarios no son administradores por defecto, es decir que con esas lineas

"
@echo off
rem dando permisos de escritura a los usuarios
attrib -h -r -s c:\carpeta1\carpeta2\
cacls c:\carpeta1\carpeta2 /t /e /g usuarios:W
"
podria darles permisos de escritura a una carpeta, pero si les pongo como administrador de dominio, los usuarios ya tienen permiso de escritura en la carpeta "c:\windows" ( que es donde al ejecutar la GPO al cierre de sesión se generan los 3 ficheritos, que al ser simplemente usuarios de dominio , NO administradores no pueden crear esos ficheros"

Por lo que si les pongo al inicio como administradores de dominio y hasta el cierre de sesión no se ejecuta mi GPO, durante toda la jornada laboral van a estar como administradores de dominio. La idea seria que al cierre de sesion de los usuarios de dominio, mediante un script les diera permiso de escritura sobre la carpeta "c:\windows" genero los ficheros y justo despues le quito los permisos. El inconveniente es que al ejecutar la politica pasa lo que tu me comentas que como se ejecuta como "usuario de dominio" al ejecutar las lineas anteriormente mencionadas para dar permiso de escritura a la carpeta "c:\windows" como no es un administrador de dominio\local pues no se ejecuta.

Se te ocurre algo para solucionar esto???

Muchas gracias por tu rapida respuesta;

Angelito
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 3 personas




La zona horaria es GMT -6. Ahora son las 08:48.