aboutsummaryrefslogtreecommitdiff
path: root/straper/db/public/apparmor/apparmor.d/usr.bin.msmtp
blob: e47f2092ddaf73e3310c6a3b8343e09da1d2a671 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# Author: Simon Deziel <simon@sdeziel.info>

#include <tunables/global>

profile msmtp /usr/bin/msmtp flags=(attach_disconnected) {
  #include <abstractions/base>
  #include <abstractions/dbus-session-strict>
  #include <abstractions/nameservice>
  #include <abstractions/p11-kit>
  #include <abstractions/ssl_certs>
  #include <abstractions/ssl_keys>
  #include <abstractions/kerberosclient>

  /usr/bin/msmtp          mr,
  /etc/aliases            r,
  /etc/msmtprc            r,
  /etc/mailname           r,
  /etc/netrc              r,
  owner @{HOME}/.msmtp*   r,
  owner @{HOME}/.netrc    r,
  owner @{HOME}/.tls-crls r,

  owner @{HOME}/.msmtp*.log wk,
  /var/log/msmtp            wk,

  owner @{HOME}/**/*msmtprc        r,
  owner @{HOME}/.config/msmtp/*    r,
  owner @{HOME}/.cache/msmtp/*     r,
  owner @{HOME}/.cache/msmtp/*.log wk,

  @{PROC}/@{pid}/loginuid r,
  /tmp/                   rw,
  owner /tmp/*            rw,

  # kerberos related
  /tmp/{,.}krb5cc_* rwk,
  /etc/gss/mech.d/ r,
  /etc/gss/mech.d/** r,

  # to type password interactively
  /dev/tty                rw,
  owner /dev/pts/[0-9]*   rw,

  dbus send
       bus=session
       path=/org/freedesktop/secrets
       interface=org.freedesktop.Secret.Service,
  dbus receive
       bus=session
       path=/org/freedesktop/secrets
       interface=org.freedesktop.Secret.Service,
  dbus send
       bus=session
       path=/org/freedesktop/secrets/prompt/*
       interface=org.freedesktop.Secret.Prompt,
  dbus receive
       bus=session
       path=/org/freedesktop/secrets/prompt/*
       interface=org.freedesktop.Secret.Prompt,
  dbus send
       bus=session
       path=/org/freedesktop/secrets
       interface=org.freedesktop.DBus.Properties
       member=GetAll,

  # secret helpers
  /{,usr/}bin/bash Cx -> helpers,
  /{,usr/}bin/dash Cx -> helpers,
  profile helpers {
    #include <abstractions/base>
    /{,usr/}bin/bash mr,
    /{,usr/}bin/dash mr,
    /tmp/            rw,
    owner /tmp/*     rw,

    /usr/bin/secret-tool PUx,
    /usr/bin/gpg{,2}     PUx,
    /usr/bin/pass        PUx,
    /usr/bin/head        PUx,
    /usr/bin/keyring     PUx,
    /{,usr/}bin/cat      PUx,
    /usr/bin/oauth2get   PUx,
  }

  #include <local/usr.bin.msmtp>
}