general_initial
This commit is contained in:
parent
3eb8dd2811
commit
a873af1f26
36 changed files with 640 additions and 110 deletions
|
|
@ -9,7 +9,7 @@ abi <abi/3.0>,
|
|||
include <tunables/global>
|
||||
|
||||
@{exec_path} = /{usr/,}{s,}bin/mount
|
||||
profile mount @{exec_path} flags=(complain) {
|
||||
profile mount @{exec_path} {
|
||||
include <abstractions/base>
|
||||
include <abstractions/consoles>
|
||||
include <abstractions/disks-write>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ profile nmap @{exec_path} {
|
|||
network netlink raw,
|
||||
network packet raw,
|
||||
|
||||
@{exec_path} r,
|
||||
@{exec_path} mr,
|
||||
|
||||
owner @{PROC}/@{pid}/net/dev r,
|
||||
owner @{PROC}/@{pid}/net/if_inet6 r,
|
||||
|
|
|
|||
15
apparmor.d/profiles-m-r/nvidia-detector
Normal file
15
apparmor.d/profiles-m-r/nvidia-detector
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
# apparmor.d - Full set of apparmor profiles
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
abi <abi/3.0>,
|
||||
|
||||
include <tunables/global>
|
||||
|
||||
@{exec_path} = /{,usr/}bin/nvidia-detector
|
||||
profile nvidia-detector @{exec_path} {
|
||||
include <abstractions/base>
|
||||
|
||||
@{exec_path} r,
|
||||
|
||||
include if exists <local/nvidia-detector>
|
||||
}
|
||||
26
apparmor.d/profiles-m-r/nvidia-persistenced
Normal file
26
apparmor.d/profiles-m-r/nvidia-persistenced
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# apparmor.d - Full set of apparmor profiles
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
abi <abi/3.0>,
|
||||
|
||||
include <tunables/global>
|
||||
|
||||
@{exec_path} = /{,usr/}bin/nvidia-persistenced
|
||||
profile nvidia-persistenced @{exec_path} {
|
||||
include <abstractions/base>
|
||||
include <abstractions/nvidia>
|
||||
include <abstractions/nameservice-strict>
|
||||
|
||||
capability chown,
|
||||
capability setgid,
|
||||
capability setuid,
|
||||
|
||||
@{exec_path} r,
|
||||
|
||||
/etc/netconfig r,
|
||||
|
||||
@{run}/nvidia-persistenced/{,**} rw,
|
||||
@{run}/nvidia-persistenced/*.pid k,
|
||||
|
||||
include if exists <local/nvidia-persistenced>
|
||||
}
|
||||
|
|
@ -8,7 +8,7 @@ abi <abi/3.0>,
|
|||
include <tunables/global>
|
||||
|
||||
@{exec_path} = /{usr/,}bin/pkexec
|
||||
profile pkexec @{exec_path} flags=(complain) {
|
||||
profile pkexec @{exec_path} {
|
||||
include <abstractions/base>
|
||||
include <abstractions/authentication>
|
||||
include <abstractions/consoles>
|
||||
|
|
@ -23,7 +23,8 @@ profile pkexec @{exec_path} flags=(complain) {
|
|||
capability setgid, # gdbus
|
||||
capability setuid, # gmain
|
||||
capability sys_ptrace,
|
||||
audit deny capability sys_nice,
|
||||
capability sys_nice,
|
||||
capability sys_resource,
|
||||
|
||||
ptrace (read),
|
||||
|
||||
|
|
@ -54,6 +55,7 @@ profile pkexec @{exec_path} flags=(complain) {
|
|||
# Apps to be run via pkexec
|
||||
/{usr/,}{s,}bin/* rPUx,
|
||||
/{usr/,}lib/gvfs/gvfsd-admin rPUx, #(#FIXME#)
|
||||
@{libexec}/polkit-agent-helper-[0-9] rPx,
|
||||
/{usr/,}lib/polkit-agent-helper-[0-9] rPx,
|
||||
/{usr/,}lib/polkit-[0-9]/polkit-agent-helper-[0-9] rPx,
|
||||
/{usr/,}lib/update-notifier/package-system-locked rPx,
|
||||
|
|
|
|||
|
|
@ -31,11 +31,13 @@ profile qbittorrent @{exec_path} {
|
|||
include <abstractions/dbus-accessibility-strict>
|
||||
include <abstractions/dbus-network-manager-strict>
|
||||
include <abstractions/dbus-gtk>
|
||||
include <abstractions/dri-common>
|
||||
include <abstractions/dri-enumerate>
|
||||
include <abstractions/wayland>
|
||||
include <abstractions/mesa>
|
||||
include <abstractions/openssl>
|
||||
include <abstractions/ssl_certs>
|
||||
include <abstractions/nvidia>
|
||||
|
||||
signal send set=(term, kill) peer=qbittorrent//python3,
|
||||
|
||||
|
|
@ -45,17 +47,17 @@ profile qbittorrent @{exec_path} {
|
|||
network inet6 stream,
|
||||
network netlink dgram,
|
||||
network netlink raw,
|
||||
|
||||
dbus send bus=session path=/org/freedesktop/DBus
|
||||
interface=org.freedesktop.DBus
|
||||
member={RequestName,ReleaseName}
|
||||
peer=(name=org.freedesktop.DBus, label=dbus-daemon),
|
||||
|
||||
dbus send bus=session path=/StatusNotifierWatcher
|
||||
interface=org.freedesktop.DBus.Introspectable
|
||||
member=Introspect
|
||||
peer=(name=org.kde.StatusNotifierWatcher),
|
||||
|
||||
dbus send bus=session path=/StatusNotifierWatcher
|
||||
interface=org.freedesktop.DBus.Properties
|
||||
member=Get
|
||||
peer=(name=org.kde.StatusNotifierWatcher),
|
||||
|
||||
dbus send bus=session path=/StatusNotifierWatcher
|
||||
interface=org.kde.StatusNotifierWatcher
|
||||
member=RegisterStatusNotifierItem
|
||||
|
|
@ -71,12 +73,12 @@ profile qbittorrent @{exec_path} {
|
|||
member=Activate
|
||||
peer=(name=:*),
|
||||
|
||||
dbus receive bus=session path=/StatusNotifierItem
|
||||
dbus send bus=session path=/StatusNotifierWatcher
|
||||
interface=org.freedesktop.DBus.Properties
|
||||
member=GetAll
|
||||
peer=(name=:*),
|
||||
member=Get
|
||||
peer=(name=org.kde.StatusNotifierWatcher),
|
||||
|
||||
dbus receive bus=session path=/MenuBar
|
||||
dbus receive bus=session path={/StatusNotifierItem,/MenuBar}
|
||||
interface=org.freedesktop.DBus.Properties
|
||||
member=GetAll
|
||||
peer=(name=:*),
|
||||
|
|
@ -90,11 +92,6 @@ profile qbittorrent @{exec_path} {
|
|||
interface=com.canonical.dbusmenu
|
||||
member={GetLayout,GetGroupProperties,AboutToShow,AboutToShowGroup,EventGroup,Event}
|
||||
peer=(name=:*),
|
||||
|
||||
dbus send bus=session path=/org/freedesktop/DBus
|
||||
interface=org.freedesktop.DBus
|
||||
member={RequestName,ReleaseName}
|
||||
peer=(name=org.freedesktop.DBus),
|
||||
|
||||
dbus send bus=accessibility path=/org/a11y/atspi/accessible/root
|
||||
interface=org.a11y.atspi.Socket
|
||||
|
|
@ -223,11 +220,12 @@ profile qbittorrent @{exec_path} {
|
|||
/{usr/,}bin/engrampa rPx,
|
||||
@{FIREFOX_BIN} rPx,
|
||||
|
||||
/{usr/,}bin/{ba,da,}sh rix,
|
||||
/{usr/,}bin/{g,m,}awk rix,
|
||||
/{usr/,}bin/readlink rix,
|
||||
/{usr/,}bin/basename rix,
|
||||
/{usr/,}bin/xfce4-mime-helper rix,
|
||||
/{usr/,}bin/{ba,da,}sh rix,
|
||||
/{usr/,}bin/{g,m,}awk rix,
|
||||
/{usr/,}bin/readlink rix,
|
||||
/{usr/,}bin/basename rix,
|
||||
/{usr/,}bin/which{,.debianutils} rix,
|
||||
/{usr/,}bin/xfce4-mime-helper rix,
|
||||
|
||||
owner @{HOME}/ r,
|
||||
|
||||
|
|
|
|||
145
apparmor.d/profiles-m-r/remmina
Normal file
145
apparmor.d/profiles-m-r/remmina
Normal file
|
|
@ -0,0 +1,145 @@
|
|||
# apparmor.d - Full set of apparmor profiles
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
abi <abi/3.0>,
|
||||
|
||||
include <tunables/global>
|
||||
|
||||
@{exec_path} = /{,usr/}bin/remmina
|
||||
profile remmina @{exec_path} {
|
||||
include <abstractions/base>
|
||||
include <abstractions/nameservice-strict>
|
||||
include <abstractions/ibus>
|
||||
include <abstractions/dconf-write>
|
||||
include <abstractions/fonts>
|
||||
include <abstractions/ssl_certs>
|
||||
include <abstractions/openssl>
|
||||
include <abstractions/freedesktop.org>
|
||||
include <abstractions/dbus-strict>
|
||||
include <abstractions/dbus-session-strict>
|
||||
include <abstractions/dbus-accessibility-strict>
|
||||
include <abstractions/dbus-gtk>
|
||||
|
||||
network inet stream,
|
||||
network inet6 stream,
|
||||
network netlink raw,
|
||||
|
||||
dbus send bus=session path=/org/freedesktop/DBus
|
||||
interface=org.freedesktop.DBus
|
||||
member={RequestName,ReleaseName}
|
||||
peer=(name=org.freedesktop.DBus, label=dbus-daemon),
|
||||
|
||||
dbus send bus=session path=/org/freedesktop/secrets{,/collection/login{,/[0-9]*}}
|
||||
interface=org.freedesktop.DBus.Properties
|
||||
member=GetAll
|
||||
peer=(name=:*, label=gnome-keyring-daemon),
|
||||
|
||||
dbus send bus=session path=/StatusNotifierWatcher
|
||||
interface=org.freedesktop.DBus.Introspectable
|
||||
member=Introspect
|
||||
peer=(name=org.kde.StatusNotifierWatcher),
|
||||
|
||||
dbus send bus=session path=/org/freedesktop/secrets
|
||||
interface=org.freedesktop.Secret.Service
|
||||
member={OpenSession,GetSecrets,SearchItems,ReadAlias}
|
||||
peer=(name=:*, label=gnome-keyring-daemon),
|
||||
|
||||
dbus (send, receive) bus=session path=/org/ayatana/NotificationItem/remmina_icon{,/**}
|
||||
peer=(name="{:*,org.freedesktop.DBus}"), # all interfaces and members
|
||||
|
||||
dbus send bus=accessibility path=/org/a11y/atspi/accessible/root
|
||||
interface=org.a11y.atspi.Socket
|
||||
member=Embed
|
||||
peer=(name=org.a11y.atspi.Registry),
|
||||
|
||||
dbus send bus=accessibility path=/org/a11y/atspi/registry
|
||||
interface=org.a11y.atspi.Registry
|
||||
member=GetRegisteredEvents
|
||||
peer=(name=org.a11y.atspi.Registry),
|
||||
|
||||
dbus receive bus=accessibility path=/org/a11y/atspi/registry
|
||||
interface=org.a11y.atspi.Registry
|
||||
member=EventListenerDeregistered
|
||||
peer=(name=:*),
|
||||
|
||||
dbus receive bus=accessibility path=/org/a11y/atspi/accessible/root
|
||||
interface=org.freedesktop.DBus.Properties
|
||||
member=Set
|
||||
peer=(name=:*),
|
||||
|
||||
dbus send bus=session path=/org/freedesktop/secrets/collection/session
|
||||
interface=org.freedesktop.DBus.Properties
|
||||
member=GetAll
|
||||
peer=(name=:*, label=gnome-keyring-daemon),
|
||||
|
||||
dbus send bus=system path=/org/freedesktop/hostname[0-9]*
|
||||
interface=org.freedesktop.DBus.Properties
|
||||
member=GetAll
|
||||
peer=(name=:*),
|
||||
|
||||
dbus send bus=session path=/StatusNotifierWatcher
|
||||
interface=org.kde.StatusNotifierWatcher
|
||||
member=RegisterStatusNotifierItem
|
||||
peer=(name=:*),
|
||||
|
||||
dbus send bus=accessibility path=/org/a11y/atspi/registry/deviceeventcontroller
|
||||
interface=org.a11y.atspi.DeviceEventController
|
||||
member={GetKeystrokeListeners,GetDeviceEventListeners}
|
||||
peer=(name=org.a11y.atspi.Registry),
|
||||
|
||||
dbus send bus=session path=/org/gtk/Private/RemoteVolumeMonitor
|
||||
interface=org.gtk.Private.RemoteVolumeMonitor
|
||||
member={IsSupported,List}
|
||||
peer=(name=:*),
|
||||
|
||||
dbus send bus=session path=/org/freedesktop/secrets/aliases/default
|
||||
interface=org.freedesktop.Secret.Collection
|
||||
member=CreateItem
|
||||
peer=(name=org.freedesktop.secrets, label=gnome-keyring-daemon),
|
||||
|
||||
dbus receive bus=session path=/org/freedesktop/secrets/collection/login
|
||||
interface=org.freedesktop.Secret.Collection
|
||||
member=ItemCreated
|
||||
peer=(name=:*, label=gnome-keyring-daemon),
|
||||
|
||||
dbus receive bus=session path=/org/freedesktop/secrets/collection/login
|
||||
interface=org.freedesktop.DBus.Properties
|
||||
member=PropertiesChanged
|
||||
peer=(name=:*, label=gnome-keyring-daemon),
|
||||
|
||||
dbus bind bus=session
|
||||
name=org.remmina.Remmina,
|
||||
|
||||
@{exec_path} r,
|
||||
|
||||
/etc/timezone r,
|
||||
/etc/ssh/ssh_config r,
|
||||
/etc/ssh/ssh_config.d/{,*} r,
|
||||
/usr/share/remmina/{,**} r,
|
||||
/usr/share/glib-2.0/schemas/gschemas.compiled r,
|
||||
|
||||
owner @{user_config_dirs}/autostart/remmina-applet.desktop r,
|
||||
owner @{user_config_dirs}/gtk-3.0/bookmarks r,
|
||||
owner @{user_config_dirs}/freerdp/known_hosts2 rwk,
|
||||
owner @{user_config_dirs}/remmina/{,**} rw,
|
||||
owner @{user_share_dirs}/remmina/{,**} rw,
|
||||
owner @{user_cache_dirs}/remmina/{,**} rw,
|
||||
owner @{HOME}/@{XDG_SSH_DIR}/{,*} r,
|
||||
|
||||
owner @{PROC}/@{pid}/task/@{tid}/comm rw,
|
||||
owner @{PROC}/@{pid}/mountinfo r,
|
||||
|
||||
owner @{run}/user/@{uid}/keyring/ssh rw,
|
||||
|
||||
# gtk-tiny
|
||||
/etc/gtk-3.0/settings.ini r,
|
||||
/usr/share/themes/{,**} r,
|
||||
|
||||
# X-strict
|
||||
owner @{HOME}/.Xauthority r,
|
||||
owner @{HOME}/.xsession-errors w,
|
||||
unix (send, receive, connect) type=stream peer=(addr="@/tmp/.X11-unix/X[0-9]*", label="{xorg,xkbcomp}"),
|
||||
/etc/X11/{,**} r,
|
||||
|
||||
include if exists <local/remmina>
|
||||
}
|
||||
|
|
@ -9,6 +9,7 @@ include <tunables/global>
|
|||
profile rustdesk @{exec_path} {
|
||||
include <abstractions/base>
|
||||
include <abstractions/nameservice-strict>
|
||||
include <abstractions/audio>
|
||||
include <abstractions/openssl>
|
||||
include <abstractions/X-strict>
|
||||
include <abstractions/fonts>
|
||||
|
|
@ -18,6 +19,9 @@ profile rustdesk @{exec_path} {
|
|||
include <abstractions/dbus-accessibility-strict>
|
||||
include <abstractions/dbus-gtk>
|
||||
|
||||
capability dac_read_search,
|
||||
capability dac_override,
|
||||
|
||||
network inet dgram,
|
||||
network inet6 dgram,
|
||||
network inet stream,
|
||||
|
|
@ -46,15 +50,22 @@ profile rustdesk @{exec_path} {
|
|||
|
||||
@{exec_path} mrix,
|
||||
|
||||
/{,usr/}bin/w rPx,
|
||||
/{,usr/}bin/ps rPx,
|
||||
/{,usr/}bin/whoami rPx,
|
||||
/{,usr/}bin/loginctl rPx,
|
||||
/{,usr/}bin/curl rix,
|
||||
/{,usr/}bin/ls rix,
|
||||
|
||||
/{,usr/}bin/python3.[0-9]* rCx -> python,
|
||||
/{,usr/}bin/python3.[0-9]* rPx -> rustdesk_python,
|
||||
/{,usr/}bin/{,ba,da}sh rPx -> rustdesk_shell,
|
||||
|
||||
owner /tmp/[rR]ust[dD]esk/{,**} rw,
|
||||
/etc/gdm{,3}/custom.conf r,
|
||||
/usr/share/glib-2.0/schemas/gschemas.compiled r,
|
||||
|
||||
owner @{HOME}/.local/ w,
|
||||
owner @{user_share_dirs}/ w,
|
||||
owner @{user_share_dirs}/logs/ w,
|
||||
owner @{user_share_dirs}/logs/[rR]ust[dD]esk/{,**} rw,
|
||||
owner @{user_config_dirs}/[rR]ust[dD]esk/{,**} rw,
|
||||
|
||||
|
|
@ -64,6 +75,27 @@ profile rustdesk @{exec_path} {
|
|||
owner @{PROC}/@{pid}/cgroup r,
|
||||
owner @{PROC}/@{pid}/cmdline r,
|
||||
|
||||
# grep ps
|
||||
@{PROC} r,
|
||||
capability sys_ptrace,
|
||||
ptrace (read),
|
||||
@{PROC}/@{pid}/stat r,
|
||||
@{PROC}/@{pid}/cmdline r,
|
||||
@{PROC}/@{pid}/environ r,
|
||||
@{PROC}/@{pid}/io r,
|
||||
@{PROC}/@{pid}/task/ r,
|
||||
@{PROC}/@{pid}/task/@{tid}/stat r,
|
||||
@{PROC}/@{pid}/task/@{tid}/io r,
|
||||
@{PROC}/@{pid}/task/@{tid}/status r,
|
||||
|
||||
# service and GUI intercommunication
|
||||
@{HOME}/.Xauthority r,
|
||||
@{run}/user/@{uid}/.mutter-Xwaylandauth.?????? r,
|
||||
@{run}/user/@{uid}/gdm{,3}/Xauthority r,
|
||||
/tmp/[rR]ust[dD]esk/{,**} rw,
|
||||
/tmp/.X11-unix/ r,
|
||||
/var/lib/lightdm/.Xauthority r,
|
||||
|
||||
# pulse
|
||||
/dev/shm/ r,
|
||||
/etc/pulse/client.conf r,
|
||||
|
|
@ -72,8 +104,11 @@ profile rustdesk @{exec_path} {
|
|||
owner @{run}/user/@{uid}/pulse/native rw,
|
||||
owner @{user_config_dirs}/pulse/ rw,
|
||||
owner @{user_config_dirs}/pulse/cookie rwk,
|
||||
owner @{user_config_dirs}/pulse/*-runtime{,.tmp} rw,
|
||||
owner /tmp/pulse-*/ rw,
|
||||
|
||||
# gtk-tiny
|
||||
/usr/share/themes/{,**} r,
|
||||
/etc/gtk-3.0/settings.ini r,
|
||||
/usr/share/themes/*/gtk-3.0/gtk.css r,
|
||||
|
||||
|
|
@ -84,43 +119,52 @@ profile rustdesk @{exec_path} {
|
|||
# file_inherit, X-tiny
|
||||
owner @{HOME}/.xsession-errors w,
|
||||
|
||||
# excessive?
|
||||
deny @{PROC} r,
|
||||
# @{PROC} r,
|
||||
# capability sys_ptrace,
|
||||
# ptrace (read),
|
||||
# owner @{PROC}/@{pid}/stat r,
|
||||
# owner @{PROC}/@{pid}/environ r,
|
||||
# owner @{PROC}/@{pid}/io r,
|
||||
# owner @{PROC}/@{pid}/task/ r,
|
||||
# owner @{PROC}/@{pid}/task/@{tid}/stat r,
|
||||
# owner @{PROC}/@{pid}/task/@{tid}/io r,
|
||||
# owner @{PROC}/@{pid}/task/@{tid}/status r,
|
||||
# Do not reveal username (pop-up only)
|
||||
deny /etc/passwd r,
|
||||
|
||||
profile python {
|
||||
# It's possible to disable root-based service ('systemctl disable rustdesk.service') and use RD only on-demand (or as client-only). After that, sudo isn't necessary.
|
||||
# deny /{,usr/}bin/sudo x,
|
||||
/{,usr/}bin/sudo rCx -> sudo,
|
||||
profile sudo {
|
||||
include <abstractions/base>
|
||||
include <abstractions/nameservice-strict>
|
||||
include <abstractions/consoles>
|
||||
include <abstractions/python>
|
||||
include <abstractions/openssl>
|
||||
include <abstractions/wutmp>
|
||||
|
||||
/{,usr/}bin/python3.[0-9]* r,
|
||||
capability sys_resource,
|
||||
capability setuid,
|
||||
capability setgid,
|
||||
capability audit_write,
|
||||
|
||||
/{,usr/}bin/{,ba,da}sh rix,
|
||||
/{,usr/}bin/chmod rix,
|
||||
/{,usr/}bin/uname rPx,
|
||||
/usr/share/rustdesk/files/pynput_service.py rPx,
|
||||
network netlink raw,
|
||||
|
||||
/{,usr/}bin/sudo r,
|
||||
|
||||
/etc/sudo.conf r,
|
||||
/etc/sudoers r,
|
||||
/etc/pam.d/* r,
|
||||
/etc/login.defs r,
|
||||
/etc/shadow r,
|
||||
/etc/security/capability.conf r,
|
||||
/etc/security/limits.conf r,
|
||||
/etc/security/limits.d/{,*} r,
|
||||
/etc/security/pam_env.conf r,
|
||||
/etc/sudoers.d/{,*} r,
|
||||
/etc/environment r,
|
||||
/etc/default/locale r,
|
||||
|
||||
/usr/libexec/sudo/libsudo_util.so* mr,
|
||||
/usr/libexec/sudo/sudoers.so mr,
|
||||
|
||||
@{PROC}/1/limits r,
|
||||
owner @{PROC}/@{pid}/stat r,
|
||||
owner @{PROC}/@{pid}/fd/ r,
|
||||
|
||||
/usr/share/[rR]ust[dD]esk/files/{,**} r,
|
||||
owner /tmp/[rR]ust[dD]esk/ w,
|
||||
owner /tmp/[rR]ust[dD]esk/pynput_service rw,
|
||||
/{,usr/}{,local/}bin/rustdesk rPx,
|
||||
/{,usr/}bin/python3.[0-9]* rPx -> rustdesk_python,
|
||||
|
||||
# X-tiny
|
||||
/tmp/.X11-unix/* rw,
|
||||
owner @{HOME}/.xsession-errors w,
|
||||
owner @{HOME}/.Xauthority r,
|
||||
|
||||
include if exists <local/rustdesk_python>
|
||||
include if exists <local/rustdesk_sudo>
|
||||
}
|
||||
|
||||
include if exists <local/rustdesk>
|
||||
|
|
@ -133,3 +177,61 @@ profile rustdesk_pynput_service /usr/share/rustdesk/files/pynput_service.py {
|
|||
|
||||
include if exists <local/rustdesk_pynput_service>
|
||||
}
|
||||
|
||||
profile rustdesk_python {
|
||||
include <abstractions/base>
|
||||
include <abstractions/python>
|
||||
include <abstractions/openssl>
|
||||
|
||||
capability dac_read_search,
|
||||
capability dac_override,
|
||||
|
||||
/{,usr/}bin/python3.[0-9]* r,
|
||||
|
||||
/{,usr/}bin/{,ba,da}sh rix,
|
||||
/{,usr/}bin/chmod rix,
|
||||
/{,usr/}bin/uname rPx,
|
||||
/usr/share/rustdesk/files/pynput_service.py rPx,
|
||||
|
||||
/usr/local/lib/python3.[0-9]*/dist-packages/pynput/{,**} r,
|
||||
/usr/share/[rR]ust[dD]esk/files/{,**} r,
|
||||
/tmp/[rR]ust[dD]esk/ w,
|
||||
/tmp/[rR]ust[dD]esk/pynput_service rw,
|
||||
|
||||
@{run}/user/@{uid}/gdm{,3}/Xauthority r,
|
||||
|
||||
owner @{PROC}/@{pid}/fd/ r,
|
||||
|
||||
# X-tiny
|
||||
/tmp/.X11-unix/* rw,
|
||||
owner @{HOME}/.xsession-errors w,
|
||||
owner @{HOME}/.Xauthority r,
|
||||
|
||||
include if exists <local/rustdesk_python>
|
||||
}
|
||||
|
||||
profile rustdesk_shell {
|
||||
include <abstractions/base>
|
||||
|
||||
capability sys_ptrace,
|
||||
capability dac_read_search,
|
||||
deny capability dac_override,
|
||||
|
||||
ptrace (read),
|
||||
|
||||
/{,usr/}bin/{,ba,da}sh r,
|
||||
|
||||
/{,usr/}bin/tr rix,
|
||||
/{,usr/}bin/{,e}grep rix,
|
||||
/{,usr/}bin/tail rix,
|
||||
/{,usr/}bin/xargs rix,
|
||||
/{,usr/}bin/sed rix,
|
||||
/{,usr/}bin/cat rix,
|
||||
|
||||
/{,usr/}bin/ps rPx,
|
||||
|
||||
owner @{PROC}/@{pid}/fd/ r,
|
||||
@{PROC}/@{pid}/environ r,
|
||||
|
||||
include if exists <local/rustdesk_shell>
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue