linux用戶權限設置(安裝elasticsearch7.x)

前言

今天下載了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

用戶建立

  1. 建立用戶:
useradd -m elastisearch
複製代碼

-m : 在home目錄下建立用戶目錄bootstrap

  1. 設置密碼:
passwd elastisearch
複製代碼

自此,就能夠經過ssh elastisearch@ip登陸機器了bash

更改文件擁有者(chown命令)

將/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 是個啥

以前碰到一些文件不能修改,就索性用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

  • d:目錄directory
  • l:符號連接link
  • s:套接字socket
  • c:字符設備char
  • p:命名管道pipe
  • -:其餘,不屬於以上幾類

文件建立後,有三種訪問方式:

  • 讀(read):顯示內容
  • 寫(write):編輯內容,刪除文件
  • 執行(execute):執行文件

針對用戶,文件有三類權限:

  • 建立人(user)權限:建立文件的人
  • 組(group)用戶權限:和擁有者處於相同用戶組的其餘人
  • 其餘(other)用戶權限

因此針對-rwxr-xr-x可分析爲:

  • 第1個字符表示文件的類型:[-]表示普通文件
  • 第234字符表示建立人的權限:[rwx]表示可讀,可寫,可執行
  • 第567字符表示組用戶權限:[r-x]表示可讀可執行
  • 第890字符表示其餘用戶權限:[r-x]表示可讀可執行

修改test.sh文件權限兩種辦法

chmod u+x test.sh 賦予可執行權限
chmod go-w xxx.sh 不讓其它用戶修改
複製代碼

第一個參數:

  • u:建立人
  • g:組用戶
  • o:其餘用戶
  • a:全部用戶(all)

第二個參數:

  • +:增長權限
  • -:取消權限
  • =:設定權限

第三個參數:

  • r:讀
  • w:寫
  • x:執行
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
複製代碼
相關文章
相關標籤/搜索