Linux 中 Shell -- /sbin/nologin 的理解

一、介绍

在 Linux 系统中,shell 解析器分为多种,其中我们常用的 shell 解析器为 /bin/bash、/bin/sh
查看 shell 可以我们可以使用“cat /etc/shells”

# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash

在这些 shell 里,有一个特殊的 shell -- /sbin/nologin

简单介绍下对 /sbin/nologin 的理解:

系统账号的 shell 使用 /sbin/nologin,此时无法登录系统,即时给了密码也不行。

所谓“无法登录”,指的是仅是这个用户无法使用 bash 或者其他 shell 来登录系统而已,并不是说这个账号就无法使用系统资源。

举例来说,在各个系统账号中,打印作业有 lp 这个账号管理,www 服务器有 apache 这个账号管理,它们都可以进行系统程序的工作,但就是无法登录主机而已。

有时候有些服务,比如邮件服务,大部分都是用来接收主机的邮件而已,并不需要登录。假如有账号试图连接我的主机取得 shell,我们就可以拒接。 

二、使用

1、创建用户

sudo useradd test

2、更改用户的默认 shell 为  /sbin/nologin

sudo chsh -s /sbin/nologin test

3、修改 test 用户的密码

sudo passwd test

4、切换至 test 用户

su test

最终显示:

This account is currently not available.

 

(SAW:Game Over!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值