如何防止guest账户使用su和sudo?

如何防止guest账户使用su和sudo?

已知guest账户不能使用su或者sudo

如何完成了吗?

/etc/apparmor.d/lightdm-guest-session我猜是 apparmor。但是,在(或其中包含的其他文件中)没有提及。

是通过拒绝某些能力来实现的吗?

$ grep cap /etc/apparmor.d/abstractions/lightdm
  capability ipc_lock,
  deny capability dac_override,
  deny capability dac_read_search,

dac_override似乎是一个很好的候选人。根据man capabilities

CAP_DAC_OVERRIDE
      Bypass file read, write, and execute permission checks.  (DAC is
      an abbreviation of "discretionary access control".)

CAP_DAC_READ_SEARCH
      * Bypass  file  read  permission  checks  and directory read and
        execute permission checks;
      * Invoke open_by_handle_at(2).

是这个吗?还是其他能力?或者根本就不是 apparmor?


显然,这就是setgid能力。来自syslog尝试su

Mar 18 12:14:52 muru-wily kernel: [ 5285.025017] audit: type=1400 audit(1458283492.316:159): apparmor="DENIED" operation="capable" profile="/usr/lib/lightdm/lightdm-guest-session" pid=25687 comm="su" capability=6  capname="setgid"

然而:

$ sudo grep setgid /etc/apparmor* -R
/etc/apparmor.d/disable/usr.sbin.rsyslogd:  capability setgid,
/etc/apparmor.d/usr.sbin.tcpdump:  capability setgid,
/etc/apparmor.d/cache/.features:caps {mask {chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap mac_override mac_admin syslog wake_alarm block_suspend audit_read
/etc/apparmor.d/usr.sbin.cupsd:  capability setgid,
/etc/apparmor.d/usr.sbin.cupsd:  capability setgid,
/etc/apparmor.d/usr.sbin.rsyslogd:  capability setgid,
/etc/apparmor.d/abstractions/lightdm_chromium-browser:    capability setgid,     # for sandbox to drop privileges
/etc/apparmor.d/abstractions/dovecot-common:  capability setgid,
/etc/apparmor.d/abstractions/postfix-common:  capability            setgid,

除了.cache文件夹之外,似乎没有什么限制setgid。然而,man apparmor.d说:

Capabilities
   The only capabilities a confined process may use may be enumerated;

如果我理解正确,那么如果列出了任何功能,那么只能使用那些功能 - 所有其他功能都受到限制。该capability ipc_lock行是否会自动限制所有其他未提及的功能?如果是,deny capability dac_override为什么deny capability dac_read_search

答案1

通过快速搜索,我认为答案是 Ubuntu 实际上没有来宾帐户,它使用“来宾会话”。来宾会话无法对系统进行任何实际更改,因此如果您登录并尝试将文件保存到会话主目录,则当您注销时,这些文件将被删除。

您几乎可以把访客会话视为实时 USB/CD 会话。

我在访客会话中所做的大多数搜索仅提供了删除它的选项,但我确实发现了一个关于创建访客用户的选项,这与访客会话不同。

相关内容