Вопрос или проблема
firewalld-cmd --add-service=mysql --zone=public --permanent
firewalld-cmd --add-service=http --zone=public --permanent
firewalld-cmd --add-port=80/tcp --zone=public --permanent
firewalld-cmd --reload
lamps: строка 16: firewalld-cmd --add-service=mysql --zone=public --permanent: команда не найдена
lamps: строка 17: firewalld-cmd --add-service=http --zone=public --permanent: команда не найдена
lamps: строка 18: firewalld-cmd --add-port=80/tcp --zone=public --permanent: Нет такого файла или каталога
lamps: строка 19: firewalld-cmd --reload: команда не найдена
Я пробовал изменять формат текста, добавляя больше или меньше пробелов, но это все равно вызывает эти ошибки.
Я пытался раздвинуть firewalld-cmd –, но это дало такой же результат.
Вы пробовали firewall-cmd
вместо этого?
Также между программой и любыми флагами должен быть пробел. Ваши команды неправильные/неправильной формы.
Я решил эту проблему, вручную введя команду, так как копировал и вставлял ее с сайта. Точный синтаксис команды был:
firewall-cmd –reload
Ответ или решение
Проблема с выполнением команд брандмауэра в CentOS, с которой вы столкнулись, связана с тем, что вы используете неверный синтаксис. Всегда важно внимательно проверять команды, особенно при копировании и вставке из различных источников. В данном случае определить команду можно так:
Объяснение проблемы
Вы получили сообщения об ошибках, таких как:
lamps: line 16: firewalld-cmd--add-service=mysql--zone=public--permanent: command not found
Это означает, что оболочка не распознает команду firewalld-cmd
, так как правильное название утилиты — firewall-cmd
(свойства "l" и "d" местами поменяны). Другие ошибки связаны с отсутствием пробелов между командой и ее аргументами, что также привело к тому, что оболочка интерпретировала их неправильно.
Решения
-
Используйте правильные команды:
Все команды, связанные с управлением брандмауэром в CentOS, должны начинаться с
firewall-cmd
, а затем должны следовать нужные параметры. Вот несколько правильных примеров:firewall-cmd --add-service=mysql --zone=public --permanent firewall-cmd --add-service=http --zone=public --permanent firewall-cmd --add-port=80/tcp --zone=public --permanent firewall-cmd --reload
Убедитесь, что между
firewall-cmd
и параметрами есть пробелы. -
Проверьте наличие установленного брандмауэра:
Чтобы убедиться в том, что
firewalld
установлен и активен на вашем сервере, выполните следующую команду:systemctl status firewalld
Если служба не установлена, вы можете установить её следующей командой:
yum install firewalld
После установки, запустите
firewalld
командой:systemctl start firewalld systemctl enable firewalld
-
Иногда проблема может заключаться в неправильной копии:
Вы упомянули, что вы пытались копировать и вставлять команды из веб-сайта. Иногда, при копировании, специальные символы могут быть неверно интерпретированы. Попробуйте ввести команды вручную, без копирования.
Например, если вы хотите перезагрузить настройки брандмауэра, введите:
firewall-cmd --reload
Заключение
Проблемы с командной строкой часто связаны с синтаксическими ошибками или неправильной установкой программ. Убедитесь, что вы вводите команды точно и корректно, и вы избежите подобных ошибок. Если у вас останутся дополнительные вопросы по настройке или использованию firewalld
, не стесняйтесь их задавать. Это поможет вам лучше понять управление сетевой безопасностью в вашей системе CentOS.