Linux中Shell

您所在的位置:网站首页 linux用户什么意思 Linux中Shell

Linux中Shell

2024-07-12 14:20| 来源: 网络整理| 查看: 265

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

chsh -l

在这里插入图片描述

cat /etc/shells

在这里插入图片描述 在这些shell里,有一个特殊的shell——/sbin/nologin 简单介绍下对 /sbin/nologin的理解: 系统账号的shell使用/sbin/nologin,此时无法登录系统,即时给了密码也不行。 所谓“无法登录”,指的是仅是这个用户无法使用bash或者其他shell来登录系统而已,并不是说这个账号就无法使用系统资源。 举例来说,在各个系统账号中,打印作业有lp这个账号管理,www服务器有apache这个账号管理,它们都可以进行系统程序的工作,但就是无法登录主机而已。 有时候有些服务,比如邮件服务,大部分都是用来接收主机的邮件而已,并不需要登录。假如有账号试图连接我的主机取得shell,我们就可以拒接。

二、使用 1、假定系统中存在一个账号test,如果没有,则useradd创建一个用户test,可通过cat /etc/passwd 查询,显示如下: 在这里插入图片描述 此时该test用户为/bin/bash 2、接下来,更改shell为“/sbin/nologin”(root用户下)

chsh -s /sbin/nologin test

在这里插入图片描述 结果出现,/sbin/nologin 未在/etc/shells 中列出 说明未添加 /sbin/nologin 在shells中 编辑/etc/shells,添加

vim /etc/shells

在这里插入图片描述 然后再执行chsh -s /sbin/nologin test 在这里插入图片描述 显示已改变 可通过cat /etc/passwd

cat /etc/passwd

在这里插入图片描述 此时,test的shell已经改变

3、尝试登录test账户

su -l test

在这里插入图片描述 系统提示:账号不可获取 在以后其他人使用这个账户登陆我们的主机的时候,就会提示他人不可以使用该账户登陆。

也可以更改提示信息,可以通过创建一个“/etc/nologin.txt”文件,写入以下信息:

This account is system account or mail account. Please DO NOT use this account to login my Linux server.

再次输入 su -l test 即可出现该提示信息

This account is system account or mail account. Please DO NOT use this account to login my Linux server.

更改方式为:

chsh -s shell username #例:chsh -s /sbin/nologin test

注意:试验完了后记得删除 /etc/nologin.txt文件,并将账户的shell更改回来,避免影响后续的使用。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3