linux中特殊 shell——/sbin/nologin案例解析

我们都知道,在linux系统中有很多的shell,查看shell可以使用“chsh -l”或者“cat /etc/shells ”

在这些shell里面,有一个shell——/sbin/nologin却比较特殊,那么它到底有什么特殊,又有什么用呢?我们以实际的案例来解释一下。

在我们的系统中有apache这个账号管理着www服务器,lp管理着打印服务等。还有类似很多的这样的系统服务,他们运行在系统中,由专门的账户管理着,这些账号都有一个共同的特性,那就是他们的shell都是/sbin/nologin,并且这些账号都是不能够登陆主机的,但是却能够使用系统的很多资源。那么相像一下,这样的场景是不是在很多时候都会被应用到,比如我们的邮件服务,很多时候我们的邮件服务器只需要进行收取邮件的功能,那么为了保证系统的安全,我们是不是就可以创建一个这样的账号,给它分配一个/sbin/nologin就可以了?

假设我的系统中有一个test账号,现在我们将它的shell更改为“/sbin/nologin”(root用户下执行):

chsh -s /sbin/nologin test

 

我们再查看下此时test账户的shell

我们修改成功了,接下来我们试着登陆test这个账户瞧一瞧。

 

系统会提示当前账号不可获取。

这样,在以后其他人使用这个账户登陆我们的主机的时候,就会提示他人不可以使用该账户登陆。

为了使提示信息更友善,我们也可以创建一个“/etc/nologin.txt”文件,写入以下信息:

This account is system account or mail account.

Please DO NOT use this account to login my Linux server.

我们再次登陆test账户试试: 

 

我们看到,刚才的文件内容已经被显示在屏幕上了。大家可以自己试一试,试验完了后记得删除 /etc/nologin.txt文件,并将账户的shell更改回来,避免影响后续的使用。

更改方式为:

chsh -s shell username      #例:chsh -s /bin/bash test

讲到这里,大家是不是对/sbin/nologin有了一个更深的认识呢?

 

  • 9
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

9号信箱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值