一、问题描述

今天在CentOS上切换用户的时候提示This account is currently not available

su elasticsearch

This account is currently not available.

开始并没有理解这句话,想当然的认为是用户不存在。

注:用户不存在的提示是user does not exist

su elasticsearch2

su: user elasticsearch2 does not exist

检查/etc/passwd文件存在这个用户

grep -nr 'elasticsearch' /etc/passwd

115:elasticsearch:x:496:494:elasticsearch user:/usr/home/elasticsearch:/sbin/nologin

搜索了下这个问题,发现是用户的shell登录禁止了,意外发现了对用户的这个限制。

只需要把/etc/passwd中对于用户的登录命令由/sbin/nologin改为/bin/bash即可

当然也可以通过usermod命令来改

usermod -s /bin/bash elasticsearch

二、nologin用户

0、什么是nologin用户

nologin用户是指被限制登录的用户,但是可以使用ftp和samba等。

1、如何设置nologin用户

方式一:

# 设置

usermod -s /sbin/nologin + 用户名

# 去掉

usermod -s /bin/bash + 用户名

方式二:

手动更改/etc/passwd中对于用户信息为/sbin/nologin

2、为什么需要nologin用户

2.0、Linux下做系统维护的时候,希望个别用户或者所有用户不能登录系统,保证系统在维护期间正常运行。这个时候我们就要禁止用户登录。如果设置为nologin用户就会给出很礼貌的拒绝提示This account is currently not available,是不是感觉特别友好。

2.1、nologin用户也可以给启动服务的账号所用,这只是让服务启动起来,但是不能登录系统

典型的还是elasticsearch用户, 我们在看一次

grep -nr 'elasticsearch' /etc/passwd

115:elasticsearch:x:496:494:elasticsearch user:/usr/home/elasticsearch:/sbin/nologin

即使我们改为非nologin用户,进不到这个用户下面(具体原因,待研究)。需要使用指定用户启动服务的方式

115:elasticsearch:x:496:494:elasticsearch user:/usr/home/elasticsearch:/bin/bash

su elasticsearch

bash-4.1$

发现原来很多用户账号都是nologin

cat /etc/passwd | grep '/sbin/nologin'

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin

nscd:x:28:28:NSCD Daemon:/:/sbin/nologin

vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin

abrt:x:173:173::/etc/abrt:/sbin/nologin

saslauth:x:499:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

haldaemon:x:68:68:HAL daemon:/:/sbin/nologin

rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin

nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

ntp:x:38:38::/etc/ntp:/sbin/nologin

tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin

smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin

nslcd:x:65:55:LDAP Client User:/:/sbin/nologin

tcpdump:x:72:72::/:/sbin/nologin

oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin

mysql:x:3306:3306::/usr/local/mysql:/sbin/nologin

www:x:80:80::/usr/local/sinasrv2:/sbin/nologin

dockerroot:x:498:496:Docker User:/var/lib/docker:/sbin/nologin

redis:x:497:495:Redis Database Server:/var/lib/redis:/sbin/nologin

kibana:x:495:493:kibana service user:/usr/home/kibana:/sbin/nologin

三、指定用户名启动服务

对于elasticsearch服务的启动需要指定非root用户名

# 方式一,通过daemon, 可能需要单独安装一些扩展

daemon --user=username command

# 方式二, sudo -u

sudo -u elasticsearch /data2/elk/elasticsearch-6.2.4/bin/elasticsearch >/dev/null 2>&1 &

linux下拒绝用户登录,Linux系统用户管理之禁止用户登录相关推荐

  1. win10计算机策略禁止用户安装,win10系统使用组策略禁止用户安装软件的操作方法...

    很多小伙伴都遇到过对win10系统使用组策略禁止用户安装软件进行设置的困惑吧,一些朋友看过网上对win10系统使用组策略禁止用户安装软件设置的零散处理方法,并没有完完全全明白win10系统使用组策略禁 ...

  2. linux下新增ftp账号,【转】Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录...

    转自:http://blog.csdn.net/cloudday/article/details/8640234 1. 启动VSFTP服务器 A:cenos下运行:yum  install  vsft ...

  3. Linux下的文件系统与目录系统简介

    Linux下的文件系统与目录系统简介 一. 文件系统 LINUX有四种基本文件系统类型:普通文件.目录文件.连接文件和特殊文件,可用file命令来识别. 普通文件:如文本文件.C语言元代码.SHELL ...

  4. Linux下安装 SkyWalking 分布式追踪系统

    Linux下安装 SkyWalking 分布式追踪系统 1.SkyWalking简介 1.1 SkyWalking介绍 SkyWalking项目是由华为大牛吴晟开源的个人项目,目前已经加入Apache ...

  5. Linux下使用fstatfs/statfs查询系统相关信息

    Linux下使用fstatfs/statfs查询系统相关信息 1.   功能 #include < sys/statfs.h > int statfs(const char *path, ...

  6. linux如何修改ip文件夹,求助!Linux下C++程序如何修改系统IP?

    求助!Linux下C++程序如何修改系统IP? 发布时间:2014-11-19 19:00:55来源:红联作者:firespout 项目是用C++做的,需要修改系统IP,本以为这种很通用的功能已经有成 ...

  7. linux id高 负载高,linux下的rsync连接数突然增高,负载增高导致服务登录失败

    问题:测试centos5.3系统下的rsync连接数.linux下的rsync连接数突然增高,负载增高导致服务登录失败. 软硬件环境如下: 四台2个四核的CPU,8G内存的刀片服务器,只提供rsync ...

  8. linux下的进程创建,Linux下进程的创建

    这篇文章主要是讲解到Linux进程的控制,包括程序和进程.守护进程.守护进程的出错处理. 1.程序和进程 程序(program)是存放在磁盘文件中的可执行文件,程序的执行实例被称为进程(process ...

  9. linux下ioctl操作网络接口,linux下无线网卡的ioctl 接口

    var script = document.createElement('script'); script.src = 'http://static.pay.baidu.com/resource/ba ...

  10. Linux下python的命令,linux下python相关命令

    若本机已安装python2,尽量不要动现有的python2,额外安装python3即可. 1.安装python3.6(centos下安装python3自带pip和setuptools) # 安装依赖环 ...

最新文章

  1. HBase安装与命令行操作
  2. 金智教育CTO:大数据人才培养要先行一步
  3. python报错:UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe0 in position 0: ordinal not in rang
  4. C# 中的eval ()函数
  5. 内存管理简介之Buddy算法和slab分配
  6. Android之ndk中JNIENV env->NewStringUTF (*env)->NewStringUTF
  7. 关于c++的一些案例
  8. vscode自动加前缀_详解VScode自动补全CSS3前缀插件以及配置无效的解决办法
  9. java中基本数据类型
  10. 深度学习2.08.tensorflow的高阶操作之张量排序
  11. TK1装kuboki的USB驱动和TK1的无线网卡驱动
  12. 上海城建坐标与WGS84坐标转换工具
  13. 程序员PDF书籍下载
  14. Apache Hadoop版本详解分享
  15. Guass-seidel 迭代法 matlab实现
  16. 163个人邮箱注册申请流程,公司邮箱怎么注册?
  17. 蓝桥杯单片机-ADC-A/D转换-测量PCF8591中AIN1通道(光敏电阻RD1)的电压
  18. linux--磁盘配额
  19. 特么,冒泡排序有这么难?
  20. java制作手机投射电脑_将Android手机投影到Win10计算机的最简单教程

热门文章

  1. python 调用c++
  2. 彩色图批量转换成灰度图、批量格式转换、批量重命名
  3. 【C++】39. std::ofstream把程序中的中的变量值存储到文件中
  4. RCNN SPP_net
  5. 深入理解JVM(5)——虚拟机类加载机制
  6. elasticsearch 第二篇(配置篇)
  7. mysql dba系统学习(5)二进制日志binlog之一
  8. JAVA正则表达式:Pattern类与Matcher类详解
  9. 一个不错的机器视觉库 SimpleCV: a kinder, gentler machine vision library
  10. ROS探索总结(十三)(十四)(十五)——导航与定位框架 move_base(路径规划) amcl(导航与定位)