亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 14042 | 回復(fù): 15
打印 上一主題 下一主題

shell基礎(chǔ)第十三篇-登錄環(huán)境 [復(fù)制鏈接]

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2010-11-19 18:18 |只看該作者 |倒序?yàn)g覽
承接wingger MM的,目前剛好在看那本書。抄的不好或者寫得不好的地方請拍磚。

什么是登錄環(huán)境?
登錄系統(tǒng)時(shí),在進(jìn)入命令提示符前,系統(tǒng)要做兩個(gè)工作。鍵入用戶名和密碼后,系統(tǒng)檢
查是否為有效用戶,為此需查詢/ e t c / p a s s w d文件。如果登錄名正確并且密碼有效,開始下一
步過程,即登錄環(huán)境。

其實(shí)平常我們使用telnet或者ssh或者直接在tty中登錄Linux主機(jī)的時(shí)候,系統(tǒng)會出現(xiàn)一個(gè)login畫面讓你輸入帳號,其接下來的過程可以分為以下三步:

1、先找出/etc/passwd里面是否有這個(gè)帳號?如果沒有則退出,如果有,將該帳號對應(yīng)的UID(User ID)與GID(Group ID)讀出來,同時(shí)讀取shell設(shè)置和家目錄。

2、核對密碼表,查看對應(yīng)的/etc/shadow文件的設(shè)置是否和輸入的密碼一致。

3、在上一步成功執(zhí)行的情況下,進(jìn)入了shell控制階段了。


在進(jìn)行下一步處理之前,先看看文件/ e t c / p a s s w d。這是一個(gè)文本文件,可以任意修改其中
的文本域,但要小心。此文本有7個(gè)域,并用冒號作分隔符,以下是其部分文件內(nèi)容列表。在
頂端加有列號,這樣各域標(biāo)識得更加清晰。普通用戶用cat就可以查看/etc/passwd文件的內(nèi)容了。

root:0:0:root:/root:/bin/bash
bin:1:1:bin:/bin:/sbin/nologin
daemon:2:2:daemon:/sbin:/sbin/nologin
halt:7:0:halt:/sbin:/sbin/halt
mail:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:11:0perator:/root:/sbin/nologin

第一個(gè)域?yàn)閹ぬ柮Q,對應(yīng)UID,這個(gè)不用多解釋,就是登錄的那個(gè)名字。
第二個(gè)是密碼,早期的UNIX系統(tǒng)的密碼字段,如上所說,任何用戶都可以用cat查看該文件的內(nèi)容,所以后來的系統(tǒng)中把該字段放到了/etc/shadow中。
而對/etc/shadow的讀取是需要root權(quán)限的。查看一下它的文件屬性就知道了。
  1. $ ls -al /etc/shadow
  2. -r--------. 1 root root 1086 2010-09-07 14:38 /etc/shadow
復(fù)制代碼
第三個(gè)是UID。Linux中,有一個(gè)UID的分配規(guī)則。0表示的是系統(tǒng)管理員,只要是UID為0的用戶,就是系統(tǒng)管理員,可以設(shè)置系統(tǒng)有多個(gè)管理員。1~499,保留給系統(tǒng)使用的UID。
500~65535,給一般的用戶使用。
第四個(gè)是GID,和文件/etc/group相關(guān)。
第五個(gè)是用戶信息說明欄。
第六個(gè)是家目錄的位置。
第七個(gè)是該用戶的登錄shell。

登錄消息顯示數(shù)據(jù):/etc/issue 和 /etc/motd
文件/etc/issue里面實(shí)現(xiàn)的內(nèi)容就是我們從tty中登錄(沒有登錄之前)的提示字符串。
提示:使用Ctrl+Alt+F1~F6進(jìn)行不同的tty切換
  1. $ cat /etc/issue
  2. Fedora release 11 (Leonidas)
  3. Kernel \r on an \m (\l)
復(fù)制代碼
上面的例子中使用了幾個(gè)特殊的符號。\r相當(dāng)于uname -r,然后\m相當(dāng)于uname -m,\l指的是第幾個(gè)終端接口。
如果我使用命令Ctrl+Alt+F2,然后屏幕上就會顯示如下的信息,同時(shí)要你輸入用戶名和密碼登錄。
Fedora release 11 (Leonidas)
Kernel 2.6.29.4-167.fc11.i686.PAE on an i686 (tty2)

localhost login:


文件/etc/motd顯示的是我們登錄成功后,系統(tǒng)顯示的信息。這個(gè)比較簡單。里面有什么,就顯示什么。

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2010-11-19 18:30 |只看該作者
不錯(cuò),希望把這個(gè)傳承下去。

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
3 [報(bào)告]
發(fā)表于 2010-11-19 19:09 |只看該作者
環(huán)境變量的系統(tǒng)設(shè)置:
下面列舉相關(guān)文件
/etc/sysconfig/i18n
  1. $ cat /etc/sysconfig/i18n
  2. LANG="en_US.UTF-8"
  3. SYSFONT="latarcyrheb-sun16"
復(fù)制代碼
我的是英文環(huán)境,所以整體語系是en_US.UTF-8,可以在修改相關(guān)的環(huán)境變量進(jìn)行設(shè)定。
有人會納悶?為什么會是i18n呢?internationalization,不過這個(gè)單詞太長啦。所以把中間18個(gè)單詞用18來代替了。

/etc/profile
這個(gè)文件比較有統(tǒng)一性。幾乎所有版本的*NIX都會有。同時(shí)對所有的用戶都有效。里面設(shè)置了一些比較重要的環(huán)境變量。PATH,HOSTNAME,UID之類的。PAT H定位包含可執(zhí)行文件,庫文件及一般文本文件的目錄位置,便于用戶快速訪問。有了前面的十二篇的基礎(chǔ),相信/etc/profile里面的簡單腳本難不倒你。同時(shí)/etc/profile.d目錄和文件/etc/inputrc也是由/etc/profile規(guī)劃出來的。

/etc/bashrc
這個(gè)文件里面有一個(gè)比較重要的就是PS1環(huán)境變量。決定命令提示符的顯示方式。

/etc/profile.d/*.sh
這是一個(gè)目錄。針對bash以及C-shell規(guī)范了一些數(shù)據(jù)?梢宰孕性O(shè)計(jì)一些具有*.sh的文件名來書寫系統(tǒng)的設(shè)置值。

環(huán)境變量的個(gè)人設(shè)置:
~/.bash_profile ~/.bash_login ~/.profile
這三個(gè)文件只需要一個(gè)即可。一般默認(rèn)是~/.bahs_profile。之所有有那么多的文件,是因?yàn)槠渌鹲hell用戶轉(zhuǎn)過來的習(xí)慣。
bash啟動時(shí)(其他的shell不清楚),依次讀取的順序是~/.bash_profile,~/.bash_login,~/.profile

~/.bashrc
這個(gè)是最個(gè)性化的設(shè)置文件。shell登錄時(shí)候,最后讀取的。每次執(zhí)行shell腳本的時(shí)候都會讀取這個(gè)文件,所以是最全面,最新的。而剛剛那個(gè)文件~/.bash_profile只是在登錄的時(shí)候才讀取一次的。在我的文件中重新設(shè)置了一個(gè)更加好看的命令提示符。PS1
  1. export PS1='\[\e[01;32m\][\u@\[\e[01;33m\]\h \[\e[01;34m\]\W] `[[ -d .git ]] && echo -n -e "\[\e[01;33m\](branch:$(git branch | sed -e "/^ /d" -e "s/* \(.*\)/\1/"))\[\e[01;34m\]"`\$ \[\e[00m\]'
復(fù)制代碼
~/.bash_history
每次登錄bash后,bash會先讀取這個(gè)文件,將所有的歷史命令讀入內(nèi)存。和HISTSIZE環(huán)境變量的設(shè)置值有關(guān)系。

~/.bash_logout
注銷bash后,系統(tǒng)會給你干的事情。

對于剛才的幾個(gè)文件我們通常在改變之后用source命令或者.重新讀取一遍。

再談?wù)劦卿泂hell和非登錄shell
登錄shell指的是當(dāng)用戶登錄linux系統(tǒng)時(shí),所取得的那個(gè)shell,當(dāng)?shù)卿浺院螅偃?zhí)行其他的shell,其他的shell就是非登錄shell了。
最常見的一種情況就是在X Window下,啟動終端,那些shell都是非登錄shell
還有一種情況是以一個(gè)用戶登錄有,使用命令bash切換到一個(gè)新的環(huán)境,這個(gè)也是非登錄shell了。
把握好登錄這兩個(gè)字就可以了。
還有它們讀取文件的區(qū)別。
登錄shell會讀取~/.bash_profile和~/.bashrc兩個(gè)文件
非登錄shell僅僅是讀取~/.bashrc文件

stty用法
s t t y用于設(shè)置終端特性。要查詢現(xiàn)在的s t t y選項(xiàng),使用stty -a。
  1. $ stty -a
  2. speed 38400 baud; rows 24; columns 80; line = 0;
  3. intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
  4. swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
  5. lnext = ^V; flush = ^O; min = 1; time = 0;
  6. -parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
  7. -ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
  8. -iuclc ixany imaxbel iutf8
  9. opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
  10. isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
  11. echoctl echoke
復(fù)制代碼
上面中^C表示Ctrl+C的意思。其他的依次類推。下面列舉幾個(gè)參數(shù)代表的含義。更多的請參考man stty
eof:End Of File 文件結(jié)束的意思
erase: 向后刪除字符
kill: 刪除在當(dāng)前命令行上的所有文字
quit: 給當(dāng)前正在執(zhí)行的進(jìn)程發(fā)送一個(gè)quit信號
stop: 停止當(dāng)前屏幕的輸出
這些設(shè)置值,和我們?nèi)粘S玫腃trl+D,ctrl+U等操作相關(guān)。一般情況下沒有必要改動。
假如想要用ctrl+H進(jìn)行字符從刪除,可以這么設(shè)置
# stty erase ^H

除了stty,bash還有自己的終端設(shè)置set,可以用來設(shè)置整個(gè)命令的輸入輸出的環(huán)境。
  1. # echo $-
  2. # 顯示set的所有設(shè)置
  3. # set -x
  4. # echo $HOME
  5. # 要輸出的命令都會屏幕上顯示,前面會多出一個(gè)+符號來
復(fù)制代碼
關(guān)于set的更多設(shè)置,更多地是寫入了/etc/inputrc文件當(dāng)中
最后不建議修改tty的環(huán)境設(shè)置,因?yàn)閎ash的環(huán)境已經(jīng)設(shè)置很好了,不需要附加一些修改,否則產(chǎn)生不必要的麻煩。這里只是給大家展示以下終端是如何進(jìn)行設(shè)置的。

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
4 [報(bào)告]
發(fā)表于 2010-11-19 19:11 |只看該作者
本帖最后由 L_kernel 于 2010-11-19 19:33 編輯

登錄環(huán)境介紹完畢。END
本篇小結(jié):
可以定制用戶本身的.bashrc以滿足需求,本章講述了如何覆蓋系統(tǒng)設(shè)置以滿足用戶需求。
從顯示友好信息到終端特性設(shè)置,定制用戶環(huán)境可以有許多方式。

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2010-11-19 21:51 |只看該作者
樓主辛苦啦~~~

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2011-09-29 12:15 |只看該作者
不錯(cuò)。。感謝,幫你頂一下

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2011-09-29 14:17 |只看該作者
不錯(cuò) 謝謝

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2011-11-30 19:09 |只看該作者
不錯(cuò)不錯(cuò)學(xué)習(xí)了

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2012-01-06 17:43 |只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽

論壇徽章:
1
巨蟹座
日期:2014-08-15 14:56:13
10 [報(bào)告]
發(fā)表于 2012-01-18 13:59 |只看該作者
支持,好東東,學(xué)習(xí)了
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP