主页 > 互联网  > 

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

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 这个账号管理, 服务器有 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!)

标签:

Linux中Shell--/sbin/nologin的理解由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Linux中Shell--/sbin/nologin的理解