今天下載了elasticsearch的7.x版本,使用bin/elasticsearch -d 啓動後,報出以下錯誤:java
java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:105)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:172)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:349)
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:170)
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:161)
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86)
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:125)
at org.elasticsearch.cli.Command.main(Command.java:90)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:126)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92)
複製代碼
原來,啓動的時候不能使用root用戶啓動,無奈,只能建立一個新用戶apache
useradd -m elastisearch
複製代碼
-m : 在home目錄下建立用戶目錄bootstrap
passwd elastisearch
複製代碼
自此,就能夠經過ssh elastisearch@ip登陸機器了bash
將/opt目錄下面的es安裝包目錄elasticsearch-7.6.1,全部者設爲elastisearchssh
chown elasticsearch:elasticsearch elasticsearch-7.6.1
複製代碼
設置完成後,觀察/opt目錄socket
drwxr-xr-x 10 elasticsearch elasticsearch 156 Mar 26 20:15 elasticsearch-7.6.1
複製代碼
發現elasticsearch-7.6.1目錄的全部者修改爲功, 到此,elasticsearch就能夠使用elasticsearch用戶啓動成功elasticsearch
以前碰到一些文件不能修改,就索性用chmod 777 去執行下,也沒有管他到底在作什麼,今天來捋一捋,記錄一下。ui
首先,ls -l查看一個目錄,會出現:spa
drwxrwxr-x 11 elasticsearch elasticsearch 4096 Mar 26 21:00 apache-skywalking-apm-bin-es7
drwxr-xr-x 10 elasticsearch elasticsearch 156 Mar 26 20:15 elasticsearch-7.6.1
drwxr-xr-x 2 root root 6 Mar 27 14:45 test
-rwxrwxrwx 1 root root 0 Mar 27 15:21 test.sh
-rw-r--r-- 1 root root 0 Mar 27 15:21 test.txt
複製代碼
Linux下,分爲這麼幾種文件類型:code
文件建立後,有三種訪問方式:
針對用戶,文件有三類權限:
因此針對-rwxr-xr-x可分析爲:
修改test.sh文件權限兩種辦法
chmod u+x test.sh 賦予可執行權限
chmod go-w xxx.sh 不讓其它用戶修改
複製代碼
第一個參數:
第二個參數:
第三個參數:
chmod 777 test.sh 賦予可讀可寫可執行權限
複製代碼
若要同時設置 rwx (可讀寫運行) 權限則將該權限位 設置 爲 4 + 2 + 1 = 7
若要同時設置 rw- (可讀寫不可運行)權限則將該權限位 設置 爲 4 + 2 = 6
若要同時設置 r-x (可讀可運行不可寫)權限則將該權限位 設置 爲 4 +1 = 5
咱們能夠用用三個8進制數字分別表示 擁有者 、羣組 、其它組( u、 g 、o)的權限詳情,並用chmod直接加三個8進制數字的方式直接改變文件權限。語法可簡化爲:
chmod <abc> file
a,b,c各爲一個數字,分別表明User、Group、及Other的權限。
至關於簡化版的
chmod u=權限,g=權限,o=權限 file
複製代碼