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