mirror of
https://github.com/NixOS/nix
synced 2025-07-02 21:51:50 +02:00
Darwin sandbox: Use sandbox-defaults.sb
Issue #759. Also, remove nix.conf from the sandbox since I don't really see a legitimate reason for builders to access the Nix configuration.
This commit is contained in:
parent
53a1644187
commit
acc889c821
5 changed files with 19 additions and 16 deletions
62
src/libstore/sandbox-defaults.sb
Normal file
62
src/libstore/sandbox-defaults.sb
Normal file
|
@ -0,0 +1,62 @@
|
|||
(allow file-read* file-write-data (literal "/dev/null"))
|
||||
(allow ipc-posix*)
|
||||
(allow mach-lookup (global-name "com.apple.SecurityServer"))
|
||||
|
||||
(allow file-read*
|
||||
(literal "/dev/dtracehelper")
|
||||
(literal "/dev/tty")
|
||||
(literal "/dev/autofs_nowait")
|
||||
(literal "/System/Library/CoreServices/SystemVersion.plist")
|
||||
(literal "/private/var/run/systemkeychaincheck.done")
|
||||
(literal "/private/etc/protocols")
|
||||
(literal "/private/var/tmp")
|
||||
(literal "/private/var/db")
|
||||
(subpath "/private/var/db/mds"))
|
||||
|
||||
(allow file-read*
|
||||
(subpath "/usr/share/icu")
|
||||
(subpath "/usr/share/locale")
|
||||
(subpath "/usr/share/zoneinfo"))
|
||||
|
||||
(allow file-write*
|
||||
(literal "/dev/tty")
|
||||
(literal "/dev/dtracehelper")
|
||||
(literal "/mds"))
|
||||
|
||||
(allow file-ioctl (literal "/dev/dtracehelper"))
|
||||
|
||||
(allow file-read-metadata
|
||||
(literal "/var")
|
||||
(literal "/tmp")
|
||||
(literal "/etc/resolv.conf")
|
||||
(literal "/private/etc/resolv.conf"))
|
||||
|
||||
(allow file-read*
|
||||
(literal "/private/var/run/resolv.conf"))
|
||||
|
||||
; some builders use filehandles other than stdin/stdout
|
||||
(allow file*
|
||||
(subpath "/dev/fd")
|
||||
(literal "/dev/ptmx")
|
||||
(regex #"^/dev/[pt]ty.*$"))
|
||||
|
||||
; allow everything inside TMP
|
||||
(allow file* process-exec
|
||||
(subpath (param "_GLOBAL_TMP_DIR"))
|
||||
(subpath "/private/tmp"))
|
||||
|
||||
(allow process-fork)
|
||||
(allow sysctl-read)
|
||||
(allow signal (target same-sandbox))
|
||||
|
||||
; allow getpwuid (for git and other packages)
|
||||
(allow mach-lookup
|
||||
(global-name "com.apple.system.notification_center")
|
||||
(global-name "com.apple.system.opendirectoryd.libinfo"))
|
||||
|
||||
; allow local networking
|
||||
(allow network* (local ip) (remote unix-socket))
|
||||
|
||||
; Disallow creating setuid/setgid binaries, since that
|
||||
; would allow breaking build user isolation.
|
||||
(deny file-write-setugid)
|
Loading…
Add table
Add a link
Reference in a new issue