`
FZtree
  • 浏览: 110047 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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所带的。

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    nologin命令 限制用户登录

    readonly命令 – 标记shell变量或函数为只读vipw命令 – 编辑某些配置文件dpkg-split命令 – 分割软件包resize命令 – 设置终端机视窗的大小source命令 – 在当前Shell环境中从指定文件读取和执行命令hping3命令 ...

    add user and bind to login folder

    此外,我们还需要指定该用户不允许通过shell登录系统,这是通过使用`sbin/nologin`作为默认shell来实现的: ```bash useradd -g ftpusers -d /var/ftp/ftp1 -s /sbin/nologin ftp1 ``` - `-g ftpusers`指定了用户...

    普通用户不能su切换到其它用户提示killed,或者无法登录系统

    2. **仅root用户可登录**:当普通用户尝试登录时收到“failed running login shell”或“system unavailable”的错误,这可能是因为用户的登录shell被禁用或损坏。检查用户的shell设置,如在/etc/passwd文件中查看每...

    Linux用户和组管理问答.pdf

    本文主要涉及Linux下用户和组的管理,包括修改用户信息、更改用户Shell类型、以及如何验证用户和组文件的一致性。 首先,我们可以使用`chfn`命令来修改用户的信息,如全名、办公室地址和电话等。这个工具方便管理员...

    vsftp配置大全---超完整版

    将`nobody`和`ftp`的登录SHELL设置为`/sbin/nologin`,以防止他们登录到系统。 ```shell # usermod -s /sbin/nologin nobody # usermod -s /sbin/nologin ftp ``` ##### 3.2 安装配置文件及可执行程序 安装`...

    vsftp+ssl配置文档

    useradd -d /home/ftpsite -s /sbin/nologin virtual chmod 700 /home/ftpsite ``` #### 五、vsftpd配置文件调整 1. **编辑`/etc/vsftpd/vsftpd.conf`:** - 关闭匿名登录。 - 启用本地用户登录。 - 设置...

    linux会话.pdf

    键切换到特定的TTY并输入信息时,getty会读取输入并启动login程序进行身份验证。 远程连接如SSH,系统启动时会运行sshd服务,监听指定端口等待远程用户的TCP连接。SSH客户端与服务器建立连接后,通过SSH隧道进行...

    CentOS 5.3下vsftp创建新用户

    首先,修改`/etc/passwd`文件,确保用户`mytest`的登录Shell被设置为`/sbin/nologin`,这意味着用户无法获得一个交互式的shell环境: ```bash [root@localhost etc]# vi /etc/passwd ``` 查找`mytest`行,并将其...

    Linux教程-linux用户管理.docx

    它的基本格式是`useradd [options] LOGIN`。例如,`useradd john`会创建一个名为john的新用户。一些重要的选项包括: - `-u UID`:指定用户ID,确保其唯一。 - `-g GID`:设置用户的基本组,可以是组名或GID。 - `-c...

    liux操作系统详细说明

    Linux系统采用命令行界面,用户在登录时需输入用户名(Login)和密码(password),其中Backspace键用于删除输入错误的信息,值得注意的是,在某些系统中,Backspace可能与Delete键功能不同。登录成功后,系统会显示...

    linux安全加固方案.pdf

    1. **修改登录权限**: 编辑`/etc/passwd`文件,将用户的登录shell从`/bin/bash`更改为`/sbin/nologin`,从而禁止该用户登录。 2. **禁止所有用户登录**: 创建一个空文件`/etc/nologin`,使得除了root之外的所有用户...

    linux基本命令大全.doc

    - 关机前系统会创建 `/etc/nologin` 文件以阻止新用户登录。 #### 二、常用操作 **1. Shell** - **命令格式**: `ps` - **功能**: 查看当前运行的进程,确定当前shell。 - **说明**: - Shell是用户与Linux交互的...

    Unix/Linux系统下的nobody用户与nologin详细介绍

    2、它们是用来完成特定任务的,比如nobody和ftp等,我们访问LinuxSir.Org的网页程序时,官网的服务器就是让客户以’nobody’身份登录的(相当于Windows系统中的匿名帐户); 我们匿名访问ftp时,会用到用户ftp或nobody...

    linux安全加固文档.pdf

    - 通过编辑`/etc/passwd`文件,将某些用户的shell更改为非交互式,如`/sbin/nologin`,防止他们登录。 - 创建`/etc/nologin`文件,阻止所有非root用户登录。 4. **口令策略**: - 设置口令最大使用天数(`PASS_...

    vsftpd虚拟目录安装

    - 创建一个包含用户名和密码的文本文件,如`/etc/vsftpd/login.txt`,然后使用`db_load`工具将其转化为哈希数据库,如`db_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/vsftpd_login.db`。 5. **设置PAM...

    FTP服务搭建与配置1

    首先,创建一个名为`virftp`的虚拟用户,并设置其不允许登录shell: ```bash useradd virftp -s /sbin/nologin ``` 接着,我们需要为虚拟账号创建一个关联的文件,存储用户名和密码,例如`/etc/vsftpd/vsftpd_...

Global site tag (gtag.js) - Google Analytics