当前位置:首页 > 生活 > 正文内容

创建不可登录的服务账号及启动定制服务

watrt3个月前 (08-02)生活2110

在服务器的管理中,我们经常需要启动mysql、elasticsearch、nginx服务,但又不希望以root的方式启动(有时候是强制性的,比如elasticsearch就禁止使用root账号启动服务),这时候就需要为它们创建单独的服务账号,同时为了安全性的考虑,一般都要禁止这些账号登录Shell,以nginx为例,详细的过程如下:


1. 创建用户组与用户

既然我们都不需要用户登录,所以也不用创建用户主目录,请注意useradd的“-M”参数。


# 创建nginx组

# -g代表直接指定group ID,可以省略

# -r 代表为系统账号

groupadd -g 2000 -r nginx


# 创建nginx用户

# -u表示直接指定user ID

# -M表示不创建用户目录,需要显示指定

useradd -u 2000 -g nginx -M

# 创建nginx组
# -g代表直接指定group ID,可以省略
# -r 代表为系统账号
groupadd -g 2000 -r nginx

# 创建nginx用户
# -u表示直接指定user ID
# -M表示不创建用户目录,需要显示指定
useradd -u 2000 -g nginx -M

2. 屏蔽独立的shell

按照上面的方法创建用户,其实这一步完全不需要,现在nginx是完全不可能登录进入shell,请注意是不能登录shell,不代表没有执行shell脚本的权限。


在这里,为了复习/sbin/nglogin的知识点,还是把此过程加入,用vi将/etc/passwd文件打开,将/home/nginx改为/sbin/nologin即可。


3. 创建nginx目录及解压

#   创建nginx目录

mkdir /opt/nginx

#   更改组所有者

chgrp nginx /opt/nginx

#   更改拥有者信息

chown nginx /opt/nginx

ls /opt/nginx

#   文件的目录信息如下

# drwxr-xr-x. 2 nginx nginx   22 Sep  9 21:55 nginx

#   解压过程略

#   创建nginx目录
mkdir /opt/nginx
#   更改组所有者
chgrp nginx /opt/nginx
#   更改拥有者信息
chown nginx /opt/nginx
ls /opt/nginx
#   文件的目录信息如下
# drwxr-xr-x. 2 nginx nginx   22 Sep  9 21:55 nginx
#   解压过程略

4. 用nginx用户启动服务

这里最困扰初学者的是,不登陆shell,怎么能执行shell脚本?其实,通过su -c命令完全可以达到此效果,如下:


# 以nginx用户启动服务

su -c /opt/nginx/nginx.sh nginx

# 以nginx用户启动服务
su -c /opt/nginx/nginx.sh nginx

这里,还需要说明的是,启动服务时,我们一般都会对内存、进程数量、网络服务等进行设置与优化,为了简化每次重复的工作,强烈建议以shell脚本文件的方式执行启动操作。


结论

通过“su -c”可以以服务账号的身份执行服务的启动、配置与管理操作。


分享给朋友:

相关文章

长大后再看小时候的课文,发现里面全是人生!

长大后再看小时候的课文,发现里面全是人生!

有人说 小时候对于很多课文难以理解 但是在长大后的某一刻 忽然想起来当年的那些话 就会体会到其中的感情 语文从来不是一门课程 是生活中的体会 是啊 那些经典的课文都已成为 一段我们不可磨灭的记忆 当年那个在语文课上懵懂的少年 也终于在长大成人之后 读懂了文中的人生...

两只羊和一辆车的概率问题

两只羊和一辆车的概率问题

节目现场有三扇门,其中一扇门后有辆车,其它两扇门后各是一只山羊。从正面看不出区别。主持人会叫一个观众上来,让其选其中的一扇门。当他选定后,这时,知晓每扇门后是什么东西的主持人会打开剩下两扇门中的有山羊的一扇门。这时现场有两扇门没打开:观众选定的,和剩下的另一扇。主持人此时会让这观众在没打开的两扇门中再做一次选择。是坚持选原来的那扇门,还是改选剩下的没被打开的那扇门?<?php  $testlen=10000;  $list=array(); $cg=0; $sb...

复制文件robocopy

复制文件robocopy

复制文件。同时把文件的权限复制上。robocopy D:\MYSQL56 E:\MYSQL56 /E /ZB /COPYALL /MT:96 /R:3 /W:3  /LOG:1.txt...

又发现一个轻量级开源UI nuklear,酷炫界面,支持矢量字体。

又发现一个轻量级开源UI nuklear,酷炫界面,支持矢量字体。

项目地址:https://github.com/vurtun/nuklear源码只有一个 nuklear.h 文件, 约2.5万行代码https://github.com/vurtun/nuklear/blob/master/nuklear.h...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。