Самый типичный вариант использования состоял бы в том, чтобы соответствовать файловой системой uuid, но это, который Вы пишете whole-disk-identical устройствам, так не пойдет. Вместо этого можно соответствовать номером модели и порядковым номером. Пример (не протестирован) udev
правило для этого:
KERNEL=="sd*", ATTR{removable}=="1", ATTR{vendor}=="Yoyodine", ENV{ID_SERIAL}=="123-456-789", NAME=="disk/by-serial/scsi-$attr{vendor}-$env{ID_SERIAL}"
Видеть что ATTR
значения существуют для данного устройства, теперь известного как /dev/sdz
, выполненный udevinfo -n /dev/sdz -a
. Видеть что ENV
значения существуют, работают udevinfo -n /dev/sdz --query=env
.
Если Вы хотите соответствовать портом, а не порядковым номером, искать родительские устройства в документе, Вы цитируете. Я подозреваю что-то как KERNELS=="usb42"
работал бы, но я не попробовал.
Ответ Джея будет работать почти без изменений с sed
:
sed -i 's/^Defaults[ \t]+requiretty/# Defaults requiretty/g' /etc/ssh/sshd_config
Я бы лично использовал Perl
perl -pi -e 's/(^Defaults\s+requiretty)/# $1/g' /etc/ssh/sshd_config
(строка должна начинаться с Значения по умолчанию
, чтобы соответствовать ему. Если вы этого не хотите, просто удалите ^
. \ s +
перехватит любое количество пробелов между значениями по умолчанию
и requiretty
.)