Как использовать шифрование файловой системы F2FS?

Проблема не в bash, проблема в sort.

Теперь sort знает локаль.

Если вы выполните команду locale, то она может сказать что-то вроде en_US или подобное (если вы находитесь в США; для других языков существуют другие локали). Также может быть указана кодировка (en_US.UTF8).

Теперь локали также влияют на упорядочивание.

Рассмотрим простой пример:

$ x="a\nA\nc\nC\nb\nB\n"

$ echo -ne "$x" | LANG=C sort
A
B
C
a
b
c

Это выглядит так, как нам нужно. Но...

$ echo -ne "$x" | LANG=en_US sort
a
A
b
B
c
C

О-о-о!

sort - не единственная программа, которая может менять поведение в зависимости от локали.

Если вы хотите традиционное последовательное поведение в разных установках, то вам нужно установить LANG самостоятельно.

В этом нет ничего необычного, и ваша ОС может уже делать это как часть своего собственного сценария.

Например...

На RedHat/CentOS многие /etc/rc.d/init.d скрипты делают это; например, /etc/rc.d/init.d/network имеет

interfaces=$(ls ifcfg* | \
            LANG=C sed -e "$__sed_discard_ignored_files" \
                       -e '/\(ifcfg-lo$\|:\|ifcfg-.*-range\)/d' \
                       -e '/ifcfg-[A-Za-z0-9#\._-]\+$/ { s/^ifcfg-//g;s/[0-9]/ & /}' | \
            LANG=C sort -k 1,1 -k 2n | \
            LANG=C sed 's/ //')

На debian, /etc/init. d/exim4 устанавливает LANG=C в начале, а также различные программы в /usr/bin.

3
25.12.2016, 23:21
2 ответа

LUKS не зависит от файловой системы. Он работает на более низком уровне, чем файловая система. LUKS - это то, как Android выполняет полное шифрование диска.

0
27.01.2020, 21:26

Из f2fscrypt справочная страница:

# mkfs.f2fs -O encrypt /dev/sdxx
# mount /dev/sdxx /encrypted/
# mkdir /encrypted/dir

Сначала создайте ключ в связке ключей, используя простую соль (или создать случайную соль ). Затем используйте его, чтобы установить политику для каталога, который будет зашифрован.

# f2fscrypt add_key -S 0x1234
Enter passphrase (echo disabled):
Added key with descriptor [28e21cc0c4393da1]

# f2fscrypt set_policy 28e21cc0c4393da1 /encrypted/dir
Key with descriptor [28e21cc0c4393da1] applied to /encrypted/dir.

# touch /encrypted/dir/test.txt
# ls -l /encrypted/dir/
-rw-r--r--. 1 root root 0 Mar 5 21:41 test.txt

После каждой перезагрузки можно использовать одну и ту же команду для установки ключа для расшифровка каталога и его потомков.

# ls -l /encrypted/dir/
-rw-r--r--. 1 root root 0 Mar 5 21:41 zbx7tsUEMLzh+AUVMkQcnB

# f2fscrypt get_policy /encrypted/dir/
/encrypted/dir/: 28e21cc0c4393da1

# f2fscrypt add_key -S 0x1234
Enter passphrase (echo disabled):
Added key with descriptor [28e21cc0c4393da1]

# ls -l /encrypted/dir/
-rw-r--r--. 1 root root 0 Mar 5 21:41 test.txt

Показать наборы ключей процесса.

# keyctl show
Session Keyring
084022412 --alswrv 0 0 keyring: _ses
204615789 --alswrv 0 65534 \_ keyring: _uid.0
529474961 --alsw-v 0 0 \_ logon: f2fs:28e21cc0c4393da1

Выяснение того, как реализовать это во время загрузки

4
27.01.2020, 21:26

Теги

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