23/12/2018, 22:00
|
| | Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años, 8 meses Puntos: 120 | |
Respuesta: Asignar permisos a las carpetas Cita:
Iniciado por mblascog Buenas, tenemos una aplicación en la empresa, escrita en php, en que unas de las opciones, crea un directorio en el servidor (windows server 2016) y una serie de subdirectorios. Hasta ahí bien, ningún problema.
Ahora me gustaría que todas los directorios fueran de lectura para todo el mundo, a excepción de:
- el directorio INFO COMERCIAL, que me gustaría que el grupo DocuComercial pudiera escribir, borrar, ...
- el directorio DOC OT, el grupo DocuOT pudiera escribir y el resto no
- ....
Es posible hacerlo? Yo lo he intentado así, pero no funciona. Sólo aparece el propietario con todos los permisos.
Gracias
Código PHP:
Ver original<?php $sc = "prueba"; $cliente = "carpeta"; mkdir("../MAQUINES/".$sc."-".$cliente."/",0777, true); chmod("../MAQUINES/".$sc."-".$cliente."-".$cliente."/",0777); mkdir("../MAQUINES/".$sc."-".$cliente."/INFO COMERCIAL/",0774, true); chgrp("../MAQUINES/".$sc."-".$cliente."/INFO COMERCIAL/", "DocuComercial"); chmod("../MAQUINES/".$sc."-".$cliente."/INFO COMERCIAL/",0774); mkdir("../MAQUINES/".$sc."-".$cliente."/DOC OT/",0774, true); chgrp("../MAQUINES/".$sc."-".$cliente."/DOC OT/", "DocuOT"); chmod("../MAQUINES/".$sc."-".$cliente."/DOC OT/",0774); mkdir("../MAQUINES/".$sc."-".$cliente."/DOC ELEC/",0774, true); chgrp("../MAQUINES/".$sc."-".$cliente."/DOC ELEC/", "DocuElectric"); chmod("../MAQUINES/".$sc."-".$cliente."/DOC ELEC/",0774); mkdir("../MAQUINES/".$sc."-".$cliente."/COMPRES/",0774, true); chgrp("../MAQUINES/".$sc."-".$cliente."/COMPRES/", "DocuCompres"); chmod("../MAQUINES/".$sc."-".$cliente."/COMPRES/",0774); mkdir("../MAQUINES/".$sc."-".$cliente."/QUALITAT/",0774, true); chgrp("../MAQUINES/".$sc."-".$cliente."/QUALITAT/", "DocuQualitat"); chmod("../MAQUINES/".$sc."-".$cliente."/QUALITAT/",0774); } ?>
no es posible , las funciones que usas, son solo para servidores LINUX, si quieres, puedes usar la extension , COM o DOT de php, http://php.net/manual/es/class.com.php
o bien hacer uso de las funciones SHELL_EXEC, popen ,pastrhue o similares de php y hacer uso de los permisos
c:/> icacls "D:\test" /grant John:(OI)(CI)F /T
recuerda que para ello PHP debe de estar siendo ejecutado como Administrador, o con Permisos elevados para poder dar permisos
__________________ Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion https://paypal.com/pools/c/8lmNLmWnG9 |