Как гостевой учетной записи препятствуют использовать su и sudo?

Уже известно, что гостевая учетная запись не может использовать su или sudo:

Как это сделано?

Мое предположение было бы apparmor. Однако нет никакого упоминания ни об одном в /etc/apparmor.d/lightdm-guest-session (или другие файлы, включенные в него).

Это сделано путем отклонения некоторой возможности?

$ 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 для a 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?

5
задан 13 April 2017 в 05:25

1 ответ

От выполнения быстрого поиска я думаю, что ответ - то, что Ubuntu на самом деле не сделала, чтобы гость считал, это использует "гостевую сессию". Гостевые сессии не могут внести реальные изменения в систему, поэтому если Вы входите в систему и пытаетесь сохранить файл к корневому каталогу сессий, когда Вы выходите из системы, те файлы удалены.

можно почти думать о гостевой сессии как о живой сессии USB/CD.

большинство моих поисков на гостевой сессии только дает мне опции удалить его, я действительно находил тот, который говорил о создании гостевого пользователя, и это отличается от гостевой сессии.

0
ответ дан 23 November 2019 в 10:58

Другие вопросы по тегам:

Похожие вопросы: