Как гостевой учетной записи запрещено использовать 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 для 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 в режиме реального времени.

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

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