Легко, если это учетная запись типа «администратор», то вы должны предполагать, что она может делать что угодно. (Пример приведен ниже)
(Также, если у пользователя есть доступ к меню загрузчика или интерфейсу конфигурации микропрограмм, также известному как экран настройки BIOS).
Если вы можете запускать команды по вашему выбору под идентификатором пользователя 0 (например, sudo), то у вас, по сути, тот же уровень доступа, что и у процесса, который изначально установил вашу операционную систему. Или в качестве одного из аварийных дисков , с которого вы можете загрузиться - они могут создавать резервные копии всех ваших файлов или переносить их с одного диска на другой для целей обновления и т. Д.
Без определенного программного обеспечения TPM (которое не реализовано в Ubuntu или аналогичном) они могли бы установить кейлоггер для захвата вашего пароля или отключения любых проверок аутентификации, которые вы внедряете.
Индивидуальное шифрование может предотвратить случайный доступ. Документация сообщества Ubuntu, последний раз обновлявшаяся два года назад, утверждает, что вы можете включить это: https://help.ubuntu.com/community/EncryptedHome
По-видимому, некоторые пользователи думают, например, chmod 0700
защищает ваши каталоги. Это неверно. Вы можете придумать ситуации, в которых это сработает, но одного этого недостаточно. Пример работы на Fedora Workstation 24, ext4 filesysem:
$ mkdir secret # directory with "secret" contents
$ chmod 0700 secret # apply access control
$ ls -ld secret # show access control
drwx------. 2 alan-sysop alan-sysop 4096 Nov 13 20:31 secret
$ sudo -u nobody ls -l secret # other user ("nobody") is denied access
[sudo] password for alan-sysop:
ls: cannot access 'test': Permission denied
$ sudo ls -l secret # but root user bypasses access controls (CAP_DAC_OVERRIDE)
total 0
cd /path/to/backup/
lsblk --fs --output FSTYPE,UUID | grep crypto_LUKS | tr -s ' ' | cut -d ' ' -f2 | \
while read uuid; do
mntpoint=$(lsblk /dev/disk/by-uuid/$uuid --output MOUNTPOINT | sed 1,1d | head -n 1)
name="${mntpoint}_luksHeader_$uuid.img"
if [[ ! -e "$name" ]]; then
cryptsetup luksHeaderBackup /dev/disk/by-uuid/$uuid --header-backup-file $name
fi
done
Измените путь/к/резервной копии, и все будет готово. Просто знайте, что если точка монтирования для устройства изменится, оно создаст несколько резервных копий заголовков. В противном случае он будет игнорировать уже зарезервированные устройства.
вы можете зациклить вызов этого скрипта:
https://github.com/stanclai/luks_backup
и добавьте его в cron.
Некоторые заметки/идеи:
/path/to/backup/$(date +%y%m%d)/$mountpoint_luksHeader_$devUUID.img
с предшествующимmkdir -p /path/to/backup/$(date +%y%m%d)
/path/to/backup/
должен находиться на другом томе, предпочтительно в сетевом расположении :вы не хотите, чтобы ваши резервные копии находились на том же диске/томе/сервере, для которого вы доступ. Удачи:)