FATAL CLI ERROR Error: EACCES: permission denied, open '/etc/kibana/kibana.yml'

am unable to access the webpage via ip-address it gives "Unable to Connect Error" but without configuring I can access that with the localhost:5601/?code=xxxxxx and having the enrollment token

messi@football:/etc$ sudo systemctl status kibana.service
● kibana.service - Kibana
     Loaded: loaded (/lib/systemd/system/kibana.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2022-09-15 09:44:53 IST; 6min ago
       Docs: https://www.elastic.co
   Main PID: 14941 (node)
      Tasks: 11 (limit: 4584)
     Memory: 279.8M
        CPU: 19.473s
     CGroup: /system.slice/kibana.service
             └─14941 /usr/share/kibana/bin/../node/bin/node /usr/share/kibana/bin/../src/cli/dist

Sep 15 09:44:53 football systemd[1]: Started Kibana.
Sep 15 09:44:55 football kibana[14941]: [2022-09-15T09:44:55.031+05:30][INFO ][node] Kibana process configured with roles: [background_tasks, ui]
Sep 15 09:45:11 football kibana[14941]: [2022-09-15T09:45:11.219+05:30][INFO ][http.server.Preboot] http server running at http://localhost:5601
Sep 15 09:45:11 football kibana[14941]: [2022-09-15T09:45:11.315+05:30][INFO ][plugins-system.preboot] Setting up [1] plugins: [interactiveSetup]
Sep 15 09:45:11 football kibana[14941]: [2022-09-15T09:45:11.320+05:30][INFO ][preboot] "interactiveSetup" plugin is holding setup: Validating Elasticsearch connection configuratio>
Sep 15 09:45:11 football kibana[14941]: [2022-09-15T09:45:11.397+05:30][INFO ][root] Holding setup until preboot stage is completed.
Sep 15 09:45:11 football kibana[14941]: i Kibana has not been configured.
Sep 15 09:45:11 football kibana[14941]: Go to http://localhost:5601/?code=384964 to get started.

kibana.yml file:

# For more configuration options see the configuration guide for Kibana in
# https://www.elastic.co/guide/index.html

# =================== System: Kibana Server ===================
# Kibana is served by a back end server. This setting specifies the port to use.
server.port: 5601

# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.
# The default is 'localhost', which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
server.host: "a.b.c.d"

# Enables you to specify a path to mount Kibana at if you are running behind a proxy.
# Use the `server.rewriteBasePath` setting to tell Kibana if it should remove the basePath
# from requests it receives, and to prevent a deprecation warning at startup.
# This setting cannot end in a slash.
#server.basePath: ""

# Specifies whether Kibana should rewrite requests that are prefixed with
# `server.basePath` or require that they are rewritten by your reverse proxy.
# Defaults to `false`.
#server.rewriteBasePath: false

# Specifies the public URL at which Kibana is available for end users. If
# `server.basePath` is configured this URL should end with the same basePath.
server.publicBaseUrl: "http://a.b.c.d"

# The maximum payload size in bytes for incoming server requests.
#server.maxPayload: 1048576

# The Kibana server's name. This is used for display purposes.
#server.name: "your-hostname"

# =================== System: Kibana Server (Optional) ===================
# Enables SSL and paths to the PEM-format SSL certificate and SSL key files, respectively.
# These settings enable SSL for outgoing requests from the Kibana server to the browser.
#server.ssl.enabled: false
#server.ssl.certificate: /path/to/your/server.crt
#server.ssl.key: /path/to/your/server.key

# =================== System: Elasticsearch ===================
# The URLs of the Elasticsearch instances to use for all your queries.
elasticsearch.hosts: ["https://a.b.c.d:9200"]

# If your Elasticsearch is protected with basic authentication, these settings provide
# the username and password that the Kibana server uses to perform maintenance on the Kibana
# index at startup. Your Kibana users still need to authenticate with Elasticsearch, which
# is proxied through the Kibana server.
elasticsearch.username: "kibana_system"
elasticsearch.password: "test"

# Kibana can also authenticate to Elasticsearch via "service account tokens".
# Service account tokens are Bearer style tokens that replace the traditional username/password based configuration.
# Use this token instead of a username/password.
# elasticsearch.serviceAccountToken: "my_token"

# Time in milliseconds to wait for Elasticsearch to respond to pings. Defaults to the value of
# the elasticsearch.requestTimeout setting.
#elasticsearch.pingTimeout: 1500

# Time in milliseconds to wait for responses from the back end or Elasticsearch. This value
# must be a positive integer.
#elasticsearch.requestTimeout: 30000

# The maximum number of sockets that can be used for communications with elasticsearch.
# Defaults to `Infinity`.
#elasticsearch.maxSockets: 1024

# Specifies whether Kibana should use compression for communications with elasticsearch
# Defaults to `false`.
#elasticsearch.compression: false

# List of Kibana client-side headers to send to Elasticsearch. To send *no* client-side
# headers, set this value to [] (an empty list).
#elasticsearch.requestHeadersWhitelist: [ authorization ]

# Header names and values that are sent to Elasticsearch. Any custom headers cannot be overwritten
# by client-side headers, regardless of the elasticsearch.requestHeadersWhitelist configuration.
#elasticsearch.customHeaders: {}

# Time in milliseconds for Elasticsearch to wait for responses from shards. Set to 0 to disable.
#elasticsearch.shardTimeout: 30000

# =================== System: Elasticsearch (Optional) ===================
# These files are used to verify the identity of Kibana to Elasticsearch and are required when
# xpack.security.http.ssl.client_authentication in Elasticsearch is set to required.
#elasticsearch.ssl.certificate: /path/to/your/client.crt
#elasticsearch.ssl.key: /path/to/your/client.key

# Enables you to specify a path to the PEM file for the certificate
# authority for your Elasticsearch instance.
elasticsearch.ssl.certificateAuthorities: [ "/etc/kibana/certs/http_ca.crt" ]

# To disregard the validity of SSL certificates, change this setting's value to 'none'.
#elasticsearch.ssl.verificationMode: full

# =================== System: Logging ===================
# Set the value of this setting to off to suppress all logging output, or to debug to log everything. Defaults to 'info'
#logging.root.level: debug

# Enables you to specify a file where Kibana stores log output.
logging:
  appenders:
    file:
      type: file
      fileName: /var/log/kibana/kibana.log
      layout:
        type: json
  root:
    appenders:
      - default
      - file
#  layout:
#    type: json

# Logs queries sent to Elasticsearch.
#logging.loggers:
#  - name: elasticsearch.query
#    level: debug

# Logs http responses.
#logging.loggers:
#  - name: http.server.response
#    level: debug

# Logs system usage information.
#logging.loggers:
#  - name: metrics.ops
#    level: debug

# =================== System: Other ===================
# The path where Kibana stores persistent data not saved in Elasticsearch. Defaults to data
#path.data: data

# Specifies the path where Kibana creates the process ID file.
pid.file: /run/kibana/kibana.pid

# Set the interval in milliseconds to sample system and process performance
# metrics. Minimum is 100ms. Defaults to 5000ms.
#ops.interval: 5000

# Specifies locale to be used for all localizable strings, dates and number formats.
# Supported languages are the following: English (default) "en", Chinese "zh-CN", Japanese "ja-JP", French "fr-FR".
#i18n.locale: "en"

# =================== Frequently used (Optional)===================

# =================== Saved Objects: Migrations ===================
# Saved object migrations run at startup. If you run into migration-related issues, you might need to adjust these settings.

# The number of documents migrated at a time.
# If Kibana can't start up or upgrade due to an Elasticsearch `circuit_breaking_exception`,
# use a smaller batchSize value to reduce the memory pressure. Defaults to 1000 objects per batch.
#migrations.batchSize: 1000

# The maximum payload size for indexing batches of upgraded saved objects.
# To avoid migrations failing due to a 413 Request Entity Too Large response from Elasticsearch.
# This value should be lower than or equal to your Elasticsearch cluster’s `http.max_content_length`
# configuration option. Default: 100mb
#migrations.maxBatchSizeBytes: 100mb

# The number of times to retry temporary migration failures. Increase the setting
# if migrations fail frequently with a message such as `Unable to complete the [...] step after
# 15 attempts, terminating`. Defaults to 15
#migrations.retryAttempts: 15

# =================== Search Autocomplete ===================
# Time in milliseconds to wait for autocomplete suggestions from Elasticsearch.
# This value must be a whole number greater than zero. Defaults to 1000ms
#unifiedSearch.autocomplete.valueSuggestions.timeout: 1000

# Maximum number of documents loaded by each shard to generate autocomplete suggestions.
# This value must be a whole number greater than zero. Defaults to 100_000
#unifiedSearch.autocomplete.valueSuggestions.terminateAfter: 100000

jounalctl -u kibana.service:

messi@football:/etc$ journalctl -u kibana.service
Sep 15 00:03:02 football systemd[1]: Started Kibana.
Sep 15 00:03:04 football kibana[6853]: FATAL CLI ERROR Error: EACCES: permission denied, open '/etc/kibana/kibana.yml'
Sep 15 00:03:04 football kibana[6853]:     at Object.openSync (node:fs:585:3)
Sep 15 00:03:04 football kibana[6853]:     at readFileSync (node:fs:453:35)
Sep 15 00:03:04 football kibana[6853]:     at readYaml (/usr/share/kibana/node_modules/@kbn/config/target_node/raw/read_config.js:25:69)
Sep 15 00:03:04 football kibana[6853]:     at getConfigFromFiles (/usr/share/kibana/node_modules/@kbn/config/target_node/raw/read_config.js:57:18)
Sep 15 00:03:04 football kibana[6853]:     at RawConfigService.loadConfig (/usr/share/kibana/node_modules/@kbn/config/target_node/raw/raw_config_service.js:56:70)
Sep 15 00:03:04 football kibana[6853]:     at bootstrap (/usr/share/kibana/src/core/server/bootstrap.js:57:20)
Sep 15 00:03:04 football kibana[6853]:     at Command.<anonymous> (/usr/share/kibana/src/cli/serve/serve.js:216:11)
Sep 15 00:03:04 football kibana[6853]:     at Command.<anonymous> (/usr/share/kibana/src/cli/command.js:102:20)
Sep 15 00:03:04 football kibana[6853]:     at Command.listener (/usr/share/kibana/node_modules/commander/index.js:370:29)
Sep 15 00:03:04 football kibana[6853]:     at Command.emit (node:events:527:28)
Sep 15 00:03:04 football kibana[6853]:     at Command.parseArgs (/usr/share/kibana/node_modules/commander/index.js:892:12)
Sep 15 00:03:04 football kibana[6853]:     at Command.parse (/usr/share/kibana/node_modules/commander/index.js:642:21)
Sep 15 00:03:04 football kibana[6853]:     at Object.<anonymous> (/usr/share/kibana/src/cli/cli.js:49:9)
Sep 15 00:03:04 football kibana[6853]:     at Module._compile (node:internal/modules/cjs/loader:1105:14)
Sep 15 00:03:04 football kibana[6853]:     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
Sep 15 00:03:04 football kibana[6853]:     at Module.load (node:internal/modules/cjs/loader:981:32)
Sep 15 00:03:04 football kibana[6853]:     at Function.Module._load (node:internal/modules/cjs/loader:822:12)
Sep 15 00:03:04 football kibana[6853]:     at Module.require (node:internal/modules/cjs/loader:1005:19)
Sep 15 00:03:04 football kibana[6853]:     at Module.Hook._require.Module.require (/usr/share/kibana/node_modules/require-in-the-middle/index.js:80:39)
Sep 15 00:03:04 football kibana[6853]:     at Module.Hook._require.Module.require (/usr/share/kibana/node_modules/require-in-the-middle/index.js:80:39)
Sep 15 00:03:04 football kibana[6853]:     at Module.Hook._require.Module.require (/usr/share/kibana/node_modules/require-in-the-middle/index.js:80:39)
Sep 15 00:03:04 football kibana[6853]:     at Module.Hook._require.Module.require (/usr/share/kibana/node_modules/require-in-the-middle/index.js:80:39)
Sep 15 00:03:04 football kibana[6853]:     at Module.Hook._require.Module.require (/usr/share/kibana/node_modules/require-in-the-middle/index.js:80:39)
Sep 15 00:03:04 football kibana[6853]:     at Module.Hook._require.Module.require (/usr/share/kibana/node_modules/require-in-the-middle/index.js:80:39)
Sep 15 00:03:04 football kibana[6853]:     at require (node:internal/modules/cjs/helpers:102:18)
Sep 15 00:03:04 football kibana[6853]:     at Object.<anonymous> (/usr/share/kibana/src/cli/dist.js:16:1)
Sep 15 00:03:04 football kibana[6853]:     at Module._compile (node:internal/modules/cjs/loader:1105:14)
Sep 15 00:03:04 football kibana[6853]:     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
Sep 15 00:03:04 football kibana[6853]:     at Module.load (node:internal/modules/cjs/loader:981:32)
Sep 15 00:03:04 football kibana[6853]:     at Function.Module._load (node:internal/modules/cjs/loader:822:12)
Sep 15 00:03:04 football kibana[6853]:     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
Sep 15 00:03:04 football kibana[6853]:     at node:internal/main/run_main_module:17:47
Sep 15 00:03:04 football systemd[1]: kibana.service: Main process exited, code=exited, status=1/FAILURE
Sep 15 00:03:04 football systemd[1]: kibana.service: Failed with result 'exit-code'.
Sep 15 00:03:04 football systemd[1]: kibana.service: Consumed 2.674s CPU time.
Sep 15 00:03:07 football systemd[1]: kibana.service: Scheduled restart job, restart counter is at 1.
Sep 15 00:03:07 football systemd[1]: Stopped Kibana.
Sep 15 00:03:07 football systemd[1]: kibana.service: Consumed 2.674s CPU time.
Sep 15 00:03:07 football systemd[1]: Started Kibana.
Sep 15 00:03:09 football kibana[6869]: FATAL CLI ERROR Error: EACCES: permission denied, open '/etc/kibana/kibana.yml'
Sep 15 00:03:09 football kibana[6869]:     at Object.openSync (node:fs:585:3)
Sep 15 00:03:09 football kibana[6869]:     at readFileSync (node:fs:453:35)

perms of /etc/kibana and /var/lib/kibana directory:

/etc/kibana/:
total 48K
drwxr-s---   3 root kibana 4.0K Sep 15 09:49 .
drwxr-xr-x 132 root root    12K Sep 15 09:43 ..
drwxr-sr-x   2 root kibana 4.0K Sep 15 09:45 certs
-rw-rw----   1 root kibana  130 Sep 15 09:43 kibana.keystore
-rw-r--r--   1 root kibana   62 Sep 15 09:43 .kibana.keystore.initial_md5sum
-rw-rw----   1 root kibana 7.5K Sep 15 09:49 kibana.yml
-rw-r-----   1 root kibana 7.5K Sep 15 09:45 kibana.yml.backup
-rw-r--r--   1 root kibana  305 Aug 26 16:50 node.options

/var/lib/kibana/:
total 16K
drwxr-s---  2 kibana kibana 4.0K Sep 15 09:45 .
drwxr-xr-x 70 root   root   4.0K Sep 15 09:43 ..
-rw-r--r--  1 kibana kibana   36 Sep 15 09:44 uuid
-rw-r--r--  1 kibana kibana    6 Sep 15 09:45 verification_code

Welcome to our community! :smiley:

How did you install Kibana?