sed -i 's/\"//g' filename
Вы можете избежать символа "
, поместив \
. Если вы хотите удалить все пробелы, сделайте следующее:
sed -i 's/[" ]//g' filename
Además de la respuesta de Gilles alCan I block non-interactive sudo invocation?
aspecto de su pregunta, sugeriría un trabajo -para este elemento particular de su situación:
I don't like typing the password for sudo so I disabled it
y
Now I have a bad side effect that any shell script I run can silently execute sudo on my behalf.
Si su situación es que normalmente sudo
ejecuta varios comandos, pero luego se encuentra ejecutando secuencias de comandos que ejecutan silenciosamente sudo donde no se le solicita una contraseña para darse cuenta de que root -están pasando cosas, tú podrías:
Ya sabes cómo editar sudoers para la opción NOPASSWD
.
Para ampliartimestamp_timeout
en el archivo sudoers, configúrelo en un valor realmente alto o negativo. Fragmentos relevantes de la página del manual para ese parámetro:
timestamp_timeout
Number of minutes that can elapse before sudo will ask for a passwd again.
The default is 5.
If set to a value less than 0 the user's time stamp will not expire until the system is rebooted.
Cuando se encuentre a punto de ejecutar un script del que no esté seguro, simplemente ejecutesudo -k
para "matar" la marca de tiempo:
-k
When used without a command, invalidates the user's cached credentials. In other words, the next time sudo is run a password will be required.
Si ejecuta un script y Sudo le solicita su contraseña, sabrá que sudo
fue invocado y podrá interrumpir el script si lo desea.
Como un aparte aquí, recomiendo configurar el parámetro passprompt para incluir el texto sudo
en él, como:
Defaults passprompt="[sudo] password for %u:"
... para que sea obvio si/cuando Sudo solicita su contraseña (frente a cualquier otra herramienta ).
Вы не можете делать то, что хотите, потому что «скриптовый sudo» и «интерактивный sudo» не противоречат друг другу. Скрипт может запускать sudo в терминале. Некоторыми примерами инструментов, которые могут выполнять команду в терминале полностью автоматически, являются script
, expect
, screen
, tmux
и т. д.
Даже если sudo каким-то образом обнаружит, что вы запустили его «напрямую» (, что не так, поскольку вы взаимодействуете с периферийными устройствами, такими как клавиатура и мышь, а не с процессами ), это не защитит вы против мошеннических скриптов. Мошеннические скрипты могут, например, внедрить поддельные команды в вашу учетную запись, чтобы при следующем запуске sudo
она вызывала некую оболочку, которая дискретно использовала бы ваш доступ.
И в любом случае угроза, которую вы защищаете, не имеет особого значения.
Если вы не уверены, что какое-либо программное обеспечение не будет делать проблемные вещи, такие как кража вашей учетной записи в социальной сети, не запускайте ее в своей учетной записи. Запустите его как минимум под другой учетной записью (, которая, конечно, не является sudoer ), без доступа к графическому интерфейсу . Для лучшей изоляции запустите его на виртуальной машине. (Это все еще не идеально, оно защищено от обычного вредоносного ПО, не обязательно, если вас преследует правительство.)