Py学习  »  Elasticsearch

linux用户权限设置(安装elasticsearch7.x)

张珮磊想静静 • 4 年前 • 236 次点击  
阅读 12

linux用户权限设置(安装elasticsearch7.x)

前言

今天下载了elasticsearch的7.x版本,使用bin/elasticsearch -d 启动后,报出如下错误:

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用户启动,无奈,只能创建一个新用户

用户创建

  1. 创建用户:
useradd -m elastisearch
复制代码

-m : 在home目录下创建用户目录

  1. 设置密码:
passwd elastisearch
复制代码

自此,就可以通过ssh elastisearch@ip登录机器了

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

将/opt目录下面的es安装包目录elasticsearch-7.6.1,所有者设为elastisearch

chown elasticsearch:elasticsearch elasticsearch-7.6.1
复制代码

设置完成后,观察/opt目录

drwxr-xr-x 10 elasticsearch elasticsearch  156 Mar 26 20:15 elasticsearch-7.6.1
复制代码

发现elasticsearch-7.6.1目录的所有者修改成功, 到此,elasticsearch就可以使用elasticsearch用户启动成功

chmod 777 是个啥

之前碰到一些文件不能修改,就索性用chmod 777 去执行下,也没有管他到底在做什么,今天来捋一捋,记录一下。

首先,ls -l查看一个目录,会出现:

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下,分为这么几种文件类型:

  • d:目录directory
  • l:符号链接link
  • s:套接字socket
  • c:字符设备char
  • p:命名管道pipe
  • -:其他,不属于以上几类

文件创建后,有三种访问方式:

  • 读(read):显示内容
  • 写(write):编辑内容,删除文件
  • 执行(execute):执行文件

针对用户,文件有三类权限:

  • 创建人(user)权限:创建文件的人
  • 组(group)用户权限:和拥有者处于相同用户组的其他人
  • 其他(other)用户权限

所以针对-rw-r--r--可分析为:

  • 第1个字符表示文件的类型:[-]表示普通文件
  • 第234字符表示创建人的权限:[rw-]表示可读,可写
  • 第567字符表示组用户权限:[r--]表示可读
  • 第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...
复制代码
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/56991
 
236 次点击