成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux 中的 Login Shell 是什么?

系統 Linux
這個解釋乍一看比較簡單,但仔細想想又有些模糊。為了便于理解,下面我們重新看一下 Linux 系統的登錄過程。

Login shell 是登錄到交互式會話(interactive session)時使用用戶 ID 執行的第一個進程。

這個解釋乍一看比較簡單,但仔細想想又有些模糊。為了便于理解,下面我們重新看一下 Linux 系統的登錄過程。

Linux 是一個多用戶的操作系統,可以允許多個用戶同時登錄和使用系統。

Linux 系統的第一個進程,不管是 init 還是 systemd,都會啟動 getty 程序。這個 getty,是“get tty”(tty表示物理或虛擬終端)的縮寫,負責保護系統免受未經授權的訪問。

圖片

當你嘗試連接到 Linux 系統(登錄本地系統,或者通過 ssh 連接遠程服務器)時,getty 會(通過登錄程序)提示你輸入用戶名,輸入完用戶名后,又會提示你輸入密碼。

登錄時輸入的信息(用戶名和密碼),系統會將其根據存儲在 /etc/passwd 中的信息進行驗證。/etc/passwd 文件中存儲的信息包含用戶名、用戶 ID、主目錄以及登錄成功后要啟動的第一個程序等。

圖片

如上圖所示,用戶 abhishek 登錄時啟動的第一個程序(針對 Linux 中的標準用戶),是 Login Shell。

字段中也可能有其他值。比如,sshd 是一個系統用戶,而不是一個真正的用戶,它不能像 abhishek 這樣的普通用戶那樣以交互方式登錄系統。如下所示:

sshd:x:110:65534::/run/sshd:/usr/sbin/nologin

如果第一個程序那一列中沒有信息,那么默認為 /bin/sh,即標準 shell。

Login shell 和 non-login shell

我們登錄到一個系統,知道它是一個 login shell,那么這意味著什么呢?是不是還有其他 shell 呢?

在 Linux 中,當你運行一個 shell 腳本時,它是在自己的 shell(非交互式 shell)中運行的。你可以在當前 shell(交互式 shell)中啟動一個新 shell。

圖片

從技術角度講,這些都是子 shell。

shell 的配置文件和 RC 文件

login shell 從 /etc/profile 和主目錄中的配置文件中讀取環境變量和其他配置,這得以讓我們可以使用 tab 補全鍵、設置彩色輸出以及其他內容(比如 umask)等。

你可能知道在 Linux 系統中可用不止一個 shell,大多數 Linux 發行版都默認使用 bash shell,你也可以安裝其他的 shell,比如 zsh 或者 Fish shell

如果你的 login shell 是 bash,那么其配置文件為 /etc/profile~/.bash_profile,如果是 zsh,它的配置文件為 /etc/zprofile~/.zprofile

/etc 目錄中的文件通常為系統中為用戶設置的各自 shell 的配置,這通常由系統管理員設置。

用戶主目錄中的文件是特定于用戶的。這允許用戶為常用命令創建別名或為程序使用自定義 PATH 變量。

non-login shell 源于 login shell,因此它通過配置文件獲取登錄shell設置的所有環境。除此之外,非登錄交互式shell可以通過/etc/home目錄中的rc(資源配置)文件定義自己的環境變量。

對于bash shell,通常是 /etc/bash.bashc 和 ~/.bashrc 文件,而對于zsh shell,則是 /etc/zshrc ~/.zshrc 文件。

看下面的例子:

圖片

上圖中,shell 讀取 /etc/bash.bashrc 文件后,其提示符變成了綠色。Ubuntu 在該文件中添加了其他參數,顏色設置是其中之一。

概況一下:

  • 配置文件用于交互式 login shell,rc 文件用于交互式 non-login shell;
  • 首先執行/etc/directory中的文件,然后執行home目錄中的文件;
  • 配置文件和 rc 文件同時作用于非交互式的 non-login shell。

如何查看當前是否在 login shell 中?

這非常簡單,至少對于 bash shell 來說是這樣。對于 login shell,shell 可執行文件的名稱以 - 開頭。對于non-login shell,它只是 shell 的名稱。

圖片

在桌面 Linux上,通常不使用 login shell,登錄由顯示管理器管理。這就是為什么當在 Linux 桌面上打開一個終端時,我們會看到即使是在終端中運行的第一個 shell 也不是login shell。

責任編輯:龐桂玉 來源: TIAP
相關推薦

2023-03-02 08:48:43

Linuxsubshell

2022-08-21 16:27:36

LinuxShell

2022-04-03 13:17:21

Linux黑話解釋GRUB

2023-11-22 10:51:25

LinuxSuper

2012-01-18 10:46:33

ibmdw

2020-12-15 09:08:40

LinuxShell

2022-11-16 08:43:56

Linux/etc/hosts文件

2009-09-29 10:45:17

UnixLinuxshell

2023-05-18 22:51:08

2009-10-23 13:24:20

linux Shell

2021-04-26 07:51:00

JavaScript方法函數

2022-09-15 09:54:34

nullPython字符

2010-06-29 13:58:17

SNMPMIB

2022-11-14 15:07:09

Linux管道

2023-05-05 08:18:38

Linuxsource命令

2021-10-09 07:10:32

Shell腳本linux

2023-08-29 09:50:42

Unix shellLinux

2013-12-19 16:43:02

2022-08-30 08:52:04

shell腳本Linux

2025-05-28 08:05:00

stdclassPHP開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩精品视频在线观看一区二区三区 | 成人精品在线视频 | 国产目拍亚洲精品99久久精品 | 亚洲色视频 | 亚洲欧美第一视频 | 黑人巨大精品欧美黑白配亚洲 | 欧美精品久久久 | 精品久久久久久红码专区 | 91av久久久 | 久久亚洲综合 | 久久www免费人成看片高清 | 欧美精品乱码久久久久久按摩 | 中文字幕一区二区三区四区不卡 | 综合久久99 | 成人免费久久 | 成人做爰www免费看 午夜精品久久久久久久久久久久 | 亚洲欧美日韩精品久久亚洲区 | 国产伦一区二区三区四区 | 亚洲成人精品视频 | 国产一区在线免费观看视频 | 久久99精品国产 | 欧美激情a∨在线视频播放 成人免费共享视频 | 在线免费观看成人 | 成人午夜免费福利视频 | 亚洲有码转帖 | 国产真实精品久久二三区 | 免费污视频 | 精品成人在线观看 | 激情欧美日韩一区二区 | 黄片毛片免费观看 | 午夜精品久久久久久久 | 91久久久精品国产一区二区蜜臀 | 午夜激情在线视频 | 男人天堂社区 | 毛片av免费在线观看 | 成人在线免费 | 亚洲欧美中文日韩在线v日本 | 高清成人av| 欧美在线一区二区三区 | aaaa网站 | 一级高清|