2014-12-16 7 views
2

python 스크립트를 사용하여 디렉토리의 모든 사용자에게 쓰기 권한을 부여하고 모든 파일에 대한 파일 사용 권한을 변경하려고합니다. 그러나 마우스 오른쪽 버튼을 클릭하여 파일 권한을 확인할 때 스크립트를 실행 한 후에는 읽기 권한 만있는 모든 사용자와 그룹의 권한 만 표시됩니다. os.chmod documentation의 참고에 따르면Python을 사용하여 파일 권한을 변경하는 Chmod 문제

import os 
import pdb 

for dirpath, dirnames, filenames in os.walk('M:\intra\EU'): 
    for filename in filenames: 
     path = os.path.join(dirpath, filename) 
     os.chmod(path, 0o777) # for example 

답변

5

내가 여기 해결책을 발견 :

Setting folder permissions in Windows using Python

import win32security 
import ntsecuritycon as con 
import os 
import pdb 
userx, domain, type = win32security.LookupAccountName ("", "Everyone") 
directory='M:\intra\EU' 
for dirpath, dirnames, filenames in os.walk('M:\intra\EU'): 
    for FILENAME in filenames: 
     sd = win32security.GetFileSecurity(directory+'\\'+FILENAME, win32security.DACL_SECURITY_INFORMATION) 
     dacl = sd.GetSecurityDescriptorDacl() # instead of dacl = win32security.ACL() 
     dacl.AddAccessAllowedAce(win32security.ACL_REVISION, con.FILE_ALL_ACCESS, userx) 
     sd.SetSecurityDescriptorDacl(1, dacl, 0) 
     win32security.SetFileSecurity(directory+'\\'+FILENAME, win32security.DACL_SECURITY_INFORMATION, sd) 
4

: 나는 다음과 같은 스크립트를하고있는 중이 야 문제가 있나요

Windows가 chmod를()를 지원하지만, 당신은 단지 설정할 수있는 파일의 읽기 전용 플래그를 사용하여 (stat.S_IWRITEstat.S_IREAD 상수 또는 해당 정수 값). 다른 모든 비트는 입니다.

+0

감사를 falsetru, 그 어떤 다른 해결책은 있는가, 다른 사용자가 내가 만든 파일을 편집 할 수 있도록 내가 권한을 설정하는 방법 일부 파이썬 스크립트를 사용하여. 내 python 스크립트는 다른 사람들도 편집 할 수 있도록 공유 디렉토리에 파일을 만듭니다. 나는 이것들이 많은 파일이기 때문에 그것을 수동으로 할 수 없다. 어떤 아이디어를 어떻게 창문에서 얻을 수 있습니까? – Chaos