ユーザーの AD アカウントが作成されたときに、Python を使用して新しい個人用フォルダーを作成しています。フォルダーは作成されていますが、アクセス許可が正しくありません。Python は、新しく作成されたフォルダーにユーザーを追加し、アクセス許可を変更することができますか? これをコーディングする場所がわかりません。
ベストアンサー1
モジュールが必要win32security
なのは、pywin32. ここは例自分がやりたいことをやることです。
この例では、ファイルの新しい DACL を作成し、古い DACL を置き換えますが、既存の DACL を変更するのは簡単です。必要なのは、次のように、空の DACL を作成するのではなく、セキュリティ記述子から既存の DACL を取得することだけです。
import win32security
import ntsecuritycon as con
FILENAME = "whatever"
userx, domain, type = win32security.LookupAccountName ("", "User X")
usery, domain, type = win32security.LookupAccountName ("", "User Y")
sd = win32security.GetFileSecurity(FILENAME, win32security.DACL_SECURITY_INFORMATION)
dacl = sd.GetSecurityDescriptorDacl() # instead of dacl = win32security.ACL()
dacl.AddAccessAllowedAce(win32security.ACL_REVISION, con.FILE_GENERIC_READ | con.FILE_GENERIC_WRITE, userx)
dacl.AddAccessAllowedAce(win32security.ACL_REVISION, con.FILE_ALL_ACCESS, usery)
sd.SetSecurityDescriptorDacl(1, dacl, 0) # may not be necessary
win32security.SetFileSecurity(FILENAME, win32security.DACL_SECURITY_INFORMATION, sd)