login shell 和 nologin shell
2015-06-21 20:13
381 查看
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所带的。
阅读更多
相关文章推荐
- login shell与non-login shell的区别
- login shell和nologin shell的区别以及su和su - 的区别
- SSH login expect shell script to supply username and password
- USER username (Login failed): Invalid shell: '/bin/false'
- linux系统中login shell与non-login shell的区别
- su - make the shell a login shell
- Linux login & non-login shell 以及su, sudo相关概念
- PHP 调用shell 脚本 报错 /sbin/nologin
- ssh user@host "command" 与login host运行shell的区别
- login shell和non-login shell环境配置、 环境变量的设置、查看
- Linux 每日一练习:Login Shell 与Non-login Shell
- login shell 与non-login shell区别
- linux 本地账号密码无法登陆(shell可以登录),一直返回 登陆的login界面
- login-shell和non login-shell区别 & bash配置文件实验报告
- ubuntu login shell defaults
- Linux中环境变量到底写在哪个文件中?解析login shell 和 no-login shell
- Linux系统login shell和non-login shell区别与影响
- linux 本地账号密码无法登陆(shell可以登录),一直返回 登陆的login界面
- login shell和non-login shell
- 环境配置文件: login, non-login shell, /etc/profile, ~/.bash_profile, source, ~/.bashrc