fork download
  1. using System;
  2. using System.IO;
  3. using System.Security;
  4. using System.Security.Permissions;
  5.  
  6. public class Program
  7. {
  8. public static void Main()
  9. {
  10. var files = Directory.GetFiles("/");
  11.  
  12. var directories = Directory.GetDirectories("/");
  13.  
  14. foreach (var directory in directories)
  15. {
  16. var absPath = Path.GetFullPath(directory);
  17.  
  18. var permissionSet = new PermissionSet(PermissionState.None);
  19.  
  20. var writePermission = new FileIOPermission(FileIOPermissionAccess.Write, absPath);
  21.  
  22. permissionSet.AddPermission(writePermission);
  23.  
  24. if (permissionSet.IsSubsetOf(AppDomain.CurrentDomain.PermissionSet))
  25. {
  26. Console.WriteLine("WRITE: " + absPath);
  27. }
  28. else
  29. {
  30. Console.WriteLine("NONE: " + absPath);
  31. }
  32. }
  33. }
  34. }
Success #stdin #stdout 0.04s 24184KB
stdin
Standard input is empty
stdout
WRITE: /bin
WRITE: /boot
WRITE: /dev
WRITE: /etc
WRITE: /home
WRITE: /lib
WRITE: /media
WRITE: /mnt
WRITE: /opt
WRITE: /proc
WRITE: /root
WRITE: /run
WRITE: /sbin
WRITE: /srv
WRITE: /sys
WRITE: /tmp
WRITE: /usr
WRITE: /var