Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)
Преимущества появляются, как только вы [1123808] делегируете [1123809] функции и создаете набор ограниченных команд суперпользователей, или команд суперпользователя через механизм [1123810]sudo [1123811], потому что таким образом вы можете запускать эти административные задачи -- [1123812] и только те, которые [1123813]. Успешный взлом личности "администратора веб сервера" затем сможет перезапустить веб сервер или вращать журналы, но не устанавливать административное ПО, выполнять привилегированные команды, опускать экраны брандмауэра.
$minutes = read-host "Enter minutes to wait until sleep";
$secs= 60*$minutes;
Start-sleep -s $secs
Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.Application]::SetSuspendState("Suspend", $false, $true)
Конечно, это предполагает, что у вас есть глубокая защита - например, функция [1123814]sudo[1123815] "создать новый файл для веб сайта" будет [1123816]проверять[1123817], что запрашиваемый новый файл не является специальным файлом, не является исполняемым, и находится в действующем вебруте. Команда [1123818]sudo gcc[1123819] должна будет проверить, что эмитент не перезаписывает системный двоичный файл другим файлом, и так далее. Если обычный пользователь, набрав [1123820]sudo su[1123821], может получить привилегии суперпользователя, то система может быть на самом деле [1123822]менее [1123823] защищена, чем если бы у нее был только пользователь root (подумайте об учетной записи fire-and-fget "joe" с угадываемым паролем: в таком случае, она предоставит готовый бэкдор для rootdom).[1123262].
Вы можете использовать socat
для моделирования псевдотерминала (pty):
socat - EXEC:'ls --color=auto',pty,setsid,ctty | cat
Есть еще много вариантов, см. его документацию .
ls
по умолчанию использует ширину клеммы для вывода в столбцах. Я еще не нашел способ, как установить это на socat pty, обходной путь - использовать опцию ls
-w ШИРИНЫ
.
Основные различия между YUM и RPM заключаются в том, что yum
умеет разрешать зависимости и может получать эти дополнительные пакеты при выполнении своей работы. Несмотря на то, что rpm
может предупреждать вас об этих зависимостях, невозможно получить дополнительные пакеты.
Относительно установки и обновления. Оба инструмента могут выполнять установку, и RPM даже позволит устанавливать несколько версий одновременно, но YUM сообщит, что пакет уже установлен. Поэтому ни один YUM не позволит установить несколько версий.
При обновлении yum
это будет реагировать одним из двух способов. Если вы скажете ему пакет, который вы хотите обновить, он попытается сделать это, загрузив все необходимые зависимости и установив их тоже. При запуске без имени пакета yum update
попытается обновить каждый пакет, установленный в системе.
Если используется yum upgrade
, то будет выполнено то же самое, что и yum update
, за исключением того, что будет предпринята попытка удалить все пакеты, помеченные как «устаревшие».
Вот сценарий, отличный от собственного. Доступна новая версия vim-X11
.
$ yum check-update vim-X11 | expand
Loaded plugins: auto-update-debuginfo, changelog, langpacks, refresh-packagekit
vim-X11.x86_64 2:7.4.417-1.fc19 updates
И я в настоящее время в этой версии:
$ rpm -q vim-X11 | expand
vim-X11-7.4.179-1.fc19.x86_64
Когда мы пытаемся установить его:
$ sudo yum install vim-X11
...
=================================================================================================================================================================
Package Arch Version Repository Size
=================================================================================================================================================================
Updating:
vim-X11 x86_64 2:7.4.417-1.fc19 updates 1.2 M
Updating for dependencies:
vim-common x86_64 2:7.4.417-1.fc19 updates 5.9 M
vim-enhanced x86_64 2:7.4.417-1.fc19 updates 1.0 M
....
Running transaction
Updating : 2:vim-common-7.4.417-1.fc19.x86_64 1/6
Updating : 2:vim-enhanced-7.4.417-1.fc19.x86_64 2/6
Updating : 2:vim-X11-7.4.417-1.fc19.x86_64 3/6
Cleanup : 2:vim-X11-7.4.179-1.fc19.x86_64 4/6
Cleanup : 2:vim-enhanced-7.4.179-1.fc19.x86_64 5/6
Cleanup : 2:vim-common-7.4.179-1.fc19.x86_64 6/6
Verifying : 2:vim-enhanced-7.4.417-1.fc19.x86_64 1/6
Verifying : 2:vim-X11-7.4.417-1.fc19.x86_64 2/6
Verifying : 2:vim-common-7.4.417-1.fc19.x86_64 3/6
Verifying : 2:vim-enhanced-7.4.179-1.fc19.x86_64 4/6
Verifying : 2:vim-X11-7.4.179-1.fc19.x86_64 5/6
Verifying : 2:vim-common-7.4.179-1.fc19.x86_64 6/6
- Будет ли выполнена
yum установка
на 1.1 после 1.0 уже установлен, список 2 пакетов?
Нет. YUM по-прежнему будет выполнять обновление, даже если вы сказали ему выполнить установку, если пакет уже установлен.
- Будет ли выполнение
yum обновления some-package-1.1
успешно заменить some-package-1.0?
Да.
-121--2372- Конструкция --исключить = {x, y, z}
работает только в bash и должна находиться в одной строке без мест, только тогда она сможет правильно расширить ее.
Я бы предложил поместить список в отдельный файл и использовать --исключить-из = файл
, или сделать, как предлагает мегахаллон, и повторить часть --исключить = опции самостоятельно.
Также обратите внимание, что в качестве источника обычно НЕ требуется /*
; пусть rsync заботится о рекурсивности, поэтому просто укажите /
. таким образом, файлы точек в/также копируются. Я также всегда добавляю косую черту в каталог назначения, чтобы предотвратить сюрпризы; хорошая привычка влезать.
из страницы rsync
rsync Page rsync
Note also that the --filter, --include, and --exclude options take one
rule/pattern each. To add multiple ones, you can repeat the options on
the command-line, use the merge-file syntax of the --filter option, or
the --include-from/--exclude-from options.
, так что в вашем случае вы, вероятно, просто хотите повторить повторить для каждого каталог.