How IT

언제든지 물어보세요.

컨텐츠로 건너뛰기
  • 홈
  • Unix
  • Apple
  • Java
  • Android
  • C#
  • C++

로그인시 제공되는 스크립트 순서 information as

내 모든 로그인 구성을에 집중하고 싶습니다 ~/.bash_profile. 거기에 있었다 ~/.bashrc가 기본적으로 그러나 나는 그것을 대체 ~/.bash_profile.

그러나 로그인 ~/.bash_profile하면 소스가 나오기 전에 무언가 가 다음과 같이 표시됩니다.

Linux ubnt10-dev1 2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 11:26:59 UTC 2012 x86_64 GNU/Linux
Ubuntu 10.04.4 LTS

Welcome to the Ubuntu Server!
 * Documentation:  http://www.ubuntu.com/server/doc

  System information as of Fri May  9 12:17:39 EDT 2014

  System load:  0.01              Processes:           74
  Usage of /:   5.5% of 18.58GB   Users logged in:     0
  Memory usage: 4%                IP address for eth0: 123.x.x.x
  Swap usage:   0%

  Graph this data and manage this system at https://landscape.canonical.com/

New release 'precise' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Fri May  9 12:11:52 2014 from 123.x.x.x

내 Get에 정의 된 내 스플래시 인사말 만 표시되도록 제거하고 ~/.bash_profile싶지만 사용자가 로그인 할 때 소스 / 실행 된 스크립트의 논리 / 시퀀스에 대해 잘 모르겠습니다.

보너스로, 사용자가 로그인하여 세션을 시작할 때뿐만 아니라 시스템이 시작될 때 자동 소싱 / 실행 순서를 알고 싶습니다. 지금은 중요하지 않습니다.



답변

이것은 복잡한 것입니다. 우선, 세부 사항은 실행중인 쉘의 종류에 따라 다릅니다. 자신 을 표절 하기 :

  • gnome-terminal예를 들어 터미널 에뮬레이터를 열면 대화 형 비 로그인 셸이 실행됩니다.

  • 명령 행에서 머신에 로그인 하거나과 같은 명령 su - username을 실행하면 대화식 로그인 쉘 이 실행 됩니다.

  • 그래픽으로 로그인하면 완전히 다른 것을 실행하게됩니다. 세부 사항은 시스템 및 그래픽 환경에 따라 다르지만 일반적으로 로그인을 처리하는 것은 그래픽 쉘 입니다. (우분투 기본 포함) 많은 그래픽 쉘은 읽을 수 있지만 /etc/profile및 ~/.profile그 모든는 않습니다.

  • 마지막으로 쉘 스크립트를 실행할 때 비 대화식 비 로그인 쉘에서 실행 됩니다.

bash가 시작될 때 읽을 파일은 실행중인 쉘의 유형에 따라 다릅니다. 다음은 man bash(강조 광산) 의 INVOCATION 섹션에서 발췌 한 것입니다 .

bash가 대화식 로그인 쉘 또는 –login 옵션을 사용하는 비 대화식 쉘로 호출 되면 파일이 존재하는 경우 먼저 / etc / profile 파일에서 명령을 읽고 실행 합니다. 해당 파일을 읽은 후 ~ / .bash_profile, ~ / .bash_login 및 ~ / .profile을 순서대로 찾고 존재하고 읽을 수있는 첫 번째 파일에서 명령을 읽고 실행합니다. 이 동작을 막기 위해 쉘을 시작할 때 –noprofile 옵션을 사용할 수 있습니다.

때 대화 형 쉘 입니다 로그인 쉘되지는 시작, bash는 읽기와에서 실행하는 명령을 /etc/bash.bashrc 와 ~ / .bashrc에 이 파일이 존재하는 경우. –norc 옵션을 사용하여이를 방지 할 수 있습니다. –rcfile 파일 옵션은 bash가 /etc/bash.bashrc 및 ~ / .bashrc 대신 파일에서 명령을 읽고 실행하도록합니다.

그것들은 초기화 파일입니다. 또한이 /etc/environment전역 환경 변수를 설정할 수 있지만 (이 실행하지만 변수 정의가 설정되어 있지 않습니다 내에서 명령) 그의는 공급보다는 읽어 보시기 바랍니다.

자, 당신이 보는 인사는 또 다른 것입니다. 이 설정되어 /etc/motd를 통해 표시됩니다 pam_motd. 에 설명 된대로 man motd:

/ etc / motd의 내용은 로그인 성공 후 로그인 쉘을 실행하기 직전에 pam_motd (8)에 의해 표시됩니다.

약어 “motd”는 “오늘의 메시지”를 나타내며,이 파일은 전통적으로 정확하게 사용되었습니다 (모든 사용자에게 보내는 메일보다 디스크 공간이 훨씬 적게 필요합니다).

데비안 GNU / 리눅스에서는 /run/motd.dynamic의 내용도 표시됩니다. 이 파일은 부팅시 /etc/init.d/motd에 의해 생성됩니다.

메시지를 제거하려면 /etc/motd파일을 비우고 /etc/init.d/motd존재 하는 경우 아무것도 생성되지 않는지 확인하십시오 .


어쨌든, 당신이 보여주는 결과에 따라, 당신은 대화 형 로그인 쉘을ssh 실행한다는 것을 통해 로그인하는 것처럼 보입니다 . 이것의 의미는 위를 참조하십시오. 요약하면, 로그인 할 때 관심이있는 것은 다음과 같은 순서로 제공됩니다.

  1. pam_motdPAM 라이브러리 의 모듈을 통한 SSH 데몬 은의 내용을 표시합니다 /etc/motd. pam_env모듈을 통해 /etc/environment및 에서 환경 변수를 설정합니다 ~/.pam_environment.
  2. 로그인 쉘이 시작되고 다음 파일을 순서대로 읽습니다.
    1. /etc/profile
    2. /etc/bash.bashrc(기본 우분투 /etc/profile소스 /etc/bash.bashrc).
    3. ~/.bash_profile. 여기에서 읽을 수있는 다른 파일 ( ~/.profile및 ~/.bash_login)은 ~/.bash_profile존재 하므로 무시 됩니다.

답변

ssh를 통해 로그인 할 때 표시되는 정보는 / etc / profile을보기 전에 생성됩니다. /etc/update-motd.d의 파일 순서를 살펴보십시오. 보고있는 메시지가 다양한 스크립트에 의해 생성되는 위치를 보여줍니다.


답변


이 글은 ubuntu 카테고리에 분류되었고 .profile, bash, bashrc, login 태그가 있으며 소장 마님에 의해 2024-04-22에 작성되었습니다.

글 네비게이션

← 가중 표준 편차는 어떻게 계산합니까? Excel에서? = 40% (0.4) 4 디스크 드라이브 / 아직 준비되지 않았거나 사용할 수 없음 오류 메시지가 나타났습니다. “디스크 드라이브 / 아직 →

태그

  • android
  • apt
  • bash
  • boot
  • c#
  • c++
  • code-golf
  • command-line
  • debian
  • firefox
  • git
  • google-chrome
  • hard-drive
  • html
  • java
  • keyboard
  • linux
  • mac
  • macos
  • math
  • memory
  • microsoft-excel
  • mysql
  • networking
  • performance
  • permissions
  • python
  • r
  • regression
  • security
  • shell
  • sql-server
  • ssh
  • string
  • terminal
  • ubuntu
  • unity
  • usb
  • vim
  • virtualbox
  • windows
  • windows-7
  • windows-8
  • windows-10
  • windows-xp

최신 글

  • Windows에서 파티션 크기를 조정 한 후 APFS 파티션이 손실 됨 00 80
  • App Store에서 El Capitan을 강제로 다시 다운로드 하시겠습니까? 업데이트 된 플래시 드라이브 설치 프로그램을 빌드하기
  • 기존 시스템에 부팅 드라이브로 SSD 추가 백업에 큰 관심이 없습니다. 내가 걱정하는 것은이
  • geoJSON featureCollection에 properties 요소를 갖는 것이 유효합니까?
  • 추세를 식별하기 위해 신호 처리 원리를 신중하게 사용 매우 시끄러운 장기 데이터에서 추세를

카테고리

  • Android
  • Apple
  • C#
  • C++
  • cooking
  • cs
  • cstheory
  • diy
  • drupal
  • electronics
  • emacs
  • Gis
  • Git
  • Html
  • Java
  • Javascript
  • magento
  • photo
  • Python
  • raspberrypi
  • scicomp
  • Server
  • Software
  • Sql
  • stats
  • Superuser
  • ubuntu
  • Unix
  • vi
  • webapps
  • webmasters
  • wordpress
  • 게임개발
  • 코딩
Proudly powered by WordPress
Go to mobile version
Close