«Временное» изменение метки выполняется с помощью команды chcon
:
bash-4.2# touch freetds.conf.new
bash-4.2# ls -lZ freetds.conf.new
-rw-r--r--. root root unconfined_u:object_r:etc_t:s0 freetds.conf.new
bash-4.2# chcon -t etc_t -u system_u freetds.conf.new
bash-4.2# ls -lZ freetds.conf.new
-rw-r--r--. root root system_u:object_r:etc_t:s0 freetds.conf.new
Постоянное изменение может быть выполнено с помощью semanage
команда. Это добавит (или изменит) строку в /etc/selinux/targeted/contexts/files/file_contexts.local
, которую затем можно применить с помощью restorecon
.
Итак, давайте снова начнем с нового файла:
bash-4.2# rm freetds.conf.new
bash-4.2# touch freetds.conf.new
bash-4.2# ls -lZ freetds.conf.new
-rw-r--r--. root root unconfined_u:object_r:etc_t:s0 freetds.conf.new
Мы можем добавить для этого правило:
bash-4.2# semanage fcontext -a -t etc_t -s system_u /etc/freetds.conf.new
bash-4.2# cat /etc/selinux/targeted/contexts/files/file_contexts.local
# This file is auto-generated by libsemanage
# Do not edit directly.
/etc/freetds.conf.new system_u:object_r:etc_t:s0
Это еще не изменило файл, но
bash-4.2# ls -lZ freetds.conf.new
-rw-r--r--. root root unconfined_u:object_r:etc_t:s0 freetds.conf.new
Итак, теперь мы применяем его:
bash-4.2# restorecon -vF /etc/freetds.conf.new
restorecon reset /etc/freetds.conf.new context unconfined_u:object_r:etc_t:s0->system_u:object_r:etc_t:s0
bash-4.2# ls -lZ /etc/freetds.conf.new
-rw-r--r--. root root system_u:object_r:etc_t:s0 /etc/freetds.conf.new
ETA : Если вы собираетесь скопировать freetds.conf.new
в freetds.conf
после того, как вы обновите его, я бы, вероятно, придерживался команды chcon
; это проще, и существующий набор правил будет обрабатывать перемаркировку, если ему будет присвоено правильное имя. Я бы использовал только форму semanage
, если это должно быть окончательное имя.
Самый простой, вероятно, просто создать новое окно, оно будет запускаться в каталоге, в котором по умолчанию был запущен screen.
Альтернативы включают просмотр процесса ' cwd
(например, / proc /
, но для этого требуется root, поскольку screen is setuid)
Обратите внимание, что вы можете измените этот каталог с помощью Ca: chdir
позже
Используя команду Screen exec
для выполнения утилиты pwd
, вы получите рабочий каталог для текущий экземпляр экрана
.
Это не будет текущий рабочий каталог оболочки / всего, что запущено в сеансе screen
(если вы использовали cd
для изменения каталога этой оболочки), поскольку среда процесс screen
был создан при запуске, и утилита pwd
будет выполняться из этой среды.
Итак, на экране
введите Ctrl - A , а затем : exec pwd
, чтобы увидеть имя каталога.