login shell 和 nologin shell

linux 有两种登录shell:login和non-login:

 

login shell:登录shell时需要完整的登录流程,称为 login shell。何为完整:输入用户名和密码。例如:走tty1-tty6控制终端,或走ssh等伪终端远程登入。

 

non-login shell:登入shell时不需要输入帐号信息。例如在X11下,打开伪终端,或者在shell下,进入shell子进程。

 

这两种登入shell的区别是:在登入shell时,读取的配置文件不同。

 

login shell(bash)在登入时,会读取的配置文件:

1. /etc/profile

2. ~/.bash_profile 或~/.bash_login 或 ~/.profile

3. ~/.bashrc

第二步之所以有三个文件,是因为不同的shell有可能命名不同,只会按顺序读取其中的一个。

 

non-login shell(bash)在登入时,只会读取 ~/.bashrc

 

=======================

 

其实在Linux中还有一种用户登录,它不读任何配置文件,不属于login shell 也不属于 non-login shell。

 

它就是

sudo -u

 

sudo -u redis ll

sudo -u redis cd

都是不允许的。

 

原因很简单

sudo 是一种程序,在linux中输入sodu就是调用这个程序提升权限,

shell是一个命令解析器

 

sudo只能执行系统自带命令,而不能执行其他程序所带的命令。如ll、cd等均是shell所带的。

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值