创建用户+授权+启动某应用
初衷:
- 网上资源较乱,不接地气,实际操作不成功
- 落地
背景
- 启动redis等服务不建议用root启动
- Redis使用普通用户权限,禁止使用 root 权限启动Redis 服务,这样可以保证在存在漏洞的情况下攻击者也只能获取到普通用户权限,无法获取root权限
- 启动Elasticsearch 提示: can not run elasticsearch as root
解决方案:
- 建立普通用户授权并启动
解决过程:
//创建普通用户****
useradd -d /appdeploy -m appdeploy
//创建用户组并加入 刚刚创建的用户****
useradd -g appdeploy -n appdeploy(可不执行)
//修改文件或文件夹的权限,使新增用户可以拥有该文件的查看权限****
chmod -R 777 /usr/local/soft/elasticsearch-6.4.0/
或者授权文件归属于另一个用户组的用户 (chown -R appdeploy:appdeploy /usr/local/soft/elasticsearch-6.4.0)
//将用户添加到用户组而不脱离该用户原来的组
usermod -a -g groupA appdeploy(可不执行)
//将文件夹的归属给某个组
chown root:mygroup /user/local/soft(可不执行)
-
后台运行
nohup./bin/elasticsearch&
-
遇到错误
-
ERROR: [4] bootstrap checks failed
-
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
-
[2]: max number of threads [1024] for user [appdeploy] is too low, increase to at least [4096]
-
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
- #切换到root用户
- vim /etc/security/limits.conf 添加
appdeploy hard nofile 65536
appdeploy soft nofile 65536
soft nproc 5000
hard nproc 5000
root soft nproc 5000
root hard nproc 5000
soft nofile 65535
hard nofile 65535 - vim /etc/sysctl.conf 添加
vm.max_map_count = 655360
保存后执行 sysctl -p - vim /etc/security/limits.d/90-nproc.conf
* soft nproc 4096
* hard nproc 4096
* root soft nproc unlimited
-
-
启动(记得ssh重新登录,ssh重新登录)
- nohup ./elasticsearch &