一衙荐、Linux用戶管理
Linux是一個可以實現(xiàn)多用戶登陸的操作系統(tǒng)赫模,比如“李雷”和“韓梅梅”都可以同時登陸同一臺主機瀑罗,他們共享一些主機的資源,但他們也分別有自己的用戶空間斩祭,用于存放各自的文件摧玫。但實際上他們的文件都是放在同一個物理磁盤上的甚至同一個邏輯分區(qū)或者目錄里,但是由于Linux的用戶管理和權(quán)限機制屋群,不同用戶不可以輕易地查看、修改彼此的文件芍躏。
1、查看用戶
輸出的第一列表示打開當前偽終端的用戶的用戶名(要查看當前登錄用戶的用戶名对竣,去掉空格直接使用whoami即可)否纬,第二列的pts/0中pts表示偽終端吕晌,所謂偽是相對于/dev/tty設(shè)備而言的,七個使用[Ctrl]+[Alt]+[F1]~[F7]進行切換的/dev/tty設(shè)備是“真終端”临燃,偽終端就是當你在圖形用戶界面使用/dev/tty7時每打開一個終端就會產(chǎn)生一個偽終端谬俄,pts/0后面那個數(shù)字就表示打開的偽終端序號溃论,你可以嘗試再打開一個終端钥勋,然后在里面輸入who am i,看第二列是不是就變成pts/1了算灸,第三列則表示當前偽終端的啟動時間菲驴。
who命令其它常用參數(shù)
-a打印能打印的全部
-d打印死掉的進程
-m同am i,momlikes
-q打印當前登錄用戶數(shù)及用戶名
-u打印當前登錄用戶登錄信息
-r打印運行等級
2骑冗、創(chuàng)建用戶
在Linux系統(tǒng)里,root賬戶擁有整個系統(tǒng)至高無上的權(quán)利贼涩,比如新建/添加用戶巧涧。
root權(quán)限,系統(tǒng)權(quán)限的一種遥倦,與SYSTEM權(quán)限可以理解成一個概念谤绳,但高于Administrator權(quán)限缩筛,root是Linux和UNIX系統(tǒng)中的超級管理員用戶帳戶疑俭,該帳戶擁有整個系統(tǒng)至高無上的權(quán)力,所有對象他都可以操作(黑客在入侵系統(tǒng)的時候哩照,都要把權(quán)限提升到root權(quán)限,用Windows的方法理解也就是將自己的非法帳戶添加到Administrators用戶組)次伶。更比如安卓操作系統(tǒng)中(基于Linux內(nèi)核)獲得root權(quán)限之后就意味著已經(jīng)獲得了手機的最高權(quán)限冠王,這時候你可以對手機中的任何文件(包括系統(tǒng)文件)執(zhí)行所有增、刪、改、查的操作。
要創(chuàng)建用戶需要root權(quán)限惩阶,要用到sudo這個命令健提。使用這個命令有兩個大前提琳猫,一是要知道當前登錄用戶的密碼,二是當前用戶必須在sudo用戶組私痹。shiyanlou用戶也屬于sudo用戶組脐嫂。
su统刮,su-與sudo
su可以切換到用戶user,執(zhí)行時需要輸入目標用戶的密碼账千,sudo可以以特權(quán)級別運行cmd命令侥蒙,需要當前用戶屬于sudo組,且需要輸入當前用戶的密碼匀奏。su -命令也是切換用戶鞭衩,同時環(huán)境變量也會跟著改變成目標用戶的環(huán)境變量。
已經(jīng)創(chuàng)建好一個用戶娃善,并且可以使用創(chuàng)建的用戶登錄了论衍,使用如下命令切換登錄用戶:
退出當前用戶跟退出終端一樣可以使用exit命令或者使用快捷鍵Ctrl+d。
3聚磺、用戶組
在Linux里面每個用戶都有一個歸屬(用戶組)坯台,用戶組就是一組用戶的集合,它們共享一些資源和權(quán)限瘫寝,同時擁有私有資源蜒蕾,就跟家的形式差不多,兄弟姐妹(不同的用戶)屬于同一個家(用戶組)焕阿,共同擁有這個家(共享資源)咪啡,爸媽的對待都一樣(共享權(quán)限),偶爾寫寫日記暮屡,其他人未經(jīng)允許不能查看(私有資源和權(quán)限)撤摸。當然一個用戶是可以屬于多個用戶組的,正如既屬于家庭栽惶,又屬于學谐盍铮或公司。
在Linux里面如何知道自己屬于哪些用戶組呢外厂?
方法一:使用groups命令
冒號之前表示用戶,后面表示該用戶所屬的用戶組代承。每次新建用戶如果不指定用戶組的話汁蝶,默認會自動創(chuàng)建一個與用戶名相同的用戶組(相當于家長或者老總)。默認情況下在sudo用戶組里的可以使用sudo命令獲得root權(quán)限论悴。shiyanlou用戶也可以使用sudo命令掖棉,為什么這里沒有顯示在sudo用戶組里呢?可以查看下/etc/sudoers.d/shiyanlou文件膀估,在/etc/sudoers.d目錄下創(chuàng)建了這個文件幔亥,從而給shiyanlou用戶賦予了sudo權(quán)限:
方法二:查看/etc/group文件
cat命令用于讀取指定文件的內(nèi)容并打印到終端輸出,| sort表示將讀取的文本進行一個字典排序再輸出察纯∨撩蓿可以在最下面看到shiyanlou的用戶組信息:
可以使用命令過濾掉一些不想看到的結(jié)果:
etc/group文件格式說明
/etc/group的內(nèi)容包括用戶組(Group)针肥、用戶組口令、GID及該用戶組所包含的用戶(User)香伴,每個用戶組一條記錄慰枕。格式如下:
group_name:password:GID:user_list
password字段為一個x并不是密碼就是它,只是表示密碼不可見即纲。
將其它用戶加入sudo用戶組
默認情況下新創(chuàng)建的用戶是不具有root權(quán)限的具帮,也不在sudo用戶組,可以讓其加入sudo用戶組從而獲取root權(quán)限:
會提示lilei不在sudoers文件中低斋,意思就是lilei不在sudo用戶組中蜂厅,至于sudoers文件(/etc/sudoers)不明后果時慎用。
使用usermod命令可以為用戶添加用戶組膊畴,同樣使用該命令必須有root權(quán)限掘猿,可以直接使用root用戶為其它用戶添加用戶組,或者用其它已經(jīng)在sudo用戶組的用戶使用sudo命令獲取權(quán)限來執(zhí)行該命令巴比。
這里用shiyanlou用戶執(zhí)行sudo命令將lilei添加到sudo用戶組术奖,讓它也可以使用sudo命令獲得root權(quán)限:
再切換回lilei用戶,現(xiàn)在就可以使用sudo獲取root權(quán)限了轻绞。
$ su shiyanlou #此處需要輸入shiyanlou用戶密碼采记,可以點擊右側(cè)工具欄中的“SSH直連”查看
4、刪除用戶
二政勃、Linux文件權(quán)限
1唧龄、查看文件權(quán)限
ls命令,用它來列出并顯示當前目錄下的文件奸远,這是在不帶任何參數(shù)的情況下既棺,它還可以查看文件權(quán)限。
使用較長格式列出文件:
?文件類型
Linux里面一切皆文件懒叛,正因為這一點才有了設(shè)備文件(/dev目錄下有各種設(shè)備文件丸冕,大都跟具體的硬件設(shè)備相關(guān))這一說。socket:網(wǎng)絡(luò)套接字薛窥,pipe管道胖烛,軟鏈接文件:鏈接文件是分為兩種,另一種是“硬鏈接”(硬鏈接不常用)诅迷,軟鏈接等同于Windows上的快捷方式佩番。
?文件權(quán)限
讀權(quán)限,表示你可以使用cat之類的命令來讀取某個文件的內(nèi)容罢杉;寫權(quán)限趟畏,表示你可以編輯和修改某個文件;執(zhí)行權(quán)限滩租,通常指可以運行的二進制程序文件或者腳本文件赋秀,如同Windows上的exe后綴的文件利朵,不過Linux上不是通過文件后綴名來區(qū)分文件的類型。一個目錄同時具有讀權(quán)限和執(zhí)行權(quán)限才可以打開并查看內(nèi)部文件沃琅,而一個目錄要有寫權(quán)限才允許在其中創(chuàng)建其它文件哗咆,這是因為目錄文件實際保存著該目錄里面的文件的列表等信息。所有者權(quán)限益眉,自行體會晌柬,不必多說。所屬用戶組權(quán)限郭脂,是指所在的用戶組中的所有其它用戶對于該文件的權(quán)限年碘,比如,你有一個iPad展鸡,那么這個用戶組權(quán)限就決定了你的兄弟姐妹有沒有權(quán)限使用它破壞它和占有它屿衅。
?鏈接數(shù)
鏈接到該文件所在的inode結(jié)點的文件名數(shù)目(這個概念涉及到Linux文件系統(tǒng)的相關(guān)概念知識)。
?文件大小
以inode結(jié)點大小為單位來表示的文件大小莹弊,可以給ls加上-lh參數(shù)來更直觀的查看文件的大小涤久。
ls命令的一些其它常用的用法:
顯示除了.(當前目錄)和..(上一級目錄)之外的所有文件,包括隱藏文件(Linux下以.開頭的文件為隱藏文件)忍弛。
可以同時使用-A和-l參數(shù):
$ ls -dl <目錄名>
顯示所有文件大小响迂,并以普通人類能看懂的方式呈現(xiàn):
$ ls -AsSh
其中小s為顯示文件大小,大S為按文件大小排序细疚,若需要知道如何按其它方式排序蔗彤,請使用“man”命令查詢。
2疯兼、變更文件所有者
假設(shè)目前是lilei用戶登錄然遏,新建一個文件,命名為“ iphone6 ”:
$ touch iphone6
可見文件所有者是lilei:
換回到shiyanlou用戶身份吧彪,使用以下命令變更文件所有者為shiyanlou:
$ cd /home/lilei
$ ls iphone6
$ sudo chown shiyanlou iphone6
現(xiàn)在查看待侵,發(fā)現(xiàn)文件所有者成功修改為shiyanlou:
3、修改文件權(quán)限
?方式一:二進制數(shù)字表示
每個文件的三組權(quán)限(擁有者姨裸,所屬用戶組诫给,其他用戶,順序是一定的)對應(yīng)一個" rwx "啦扬,也就是一個“ 7 ”,如果要將文件“ iphone6 ”的權(quán)限改為只有自己可以用那么就這樣:
為了演示凫碌,先在文件里加點內(nèi)容:
$ echo "echo \"hello shiyanlou\"" > iphone6
修改權(quán)限:
$ chmod 700 iphone6
現(xiàn)在扑毡,其他用戶已經(jīng)不能讀這個“ iphone6 ”文件了:
?方式二:加減賦值操作
$ chmod go-rw iphone6
g、o還有u分別表示group盛险、others和user瞄摊,+和-分別表示增加和去掉相應(yīng)的權(quán)限勋又。
三、adduser和useradd的區(qū)別是什么换帜?
useradd只創(chuàng)建用戶楔壤,創(chuàng)建完了用passwd lilei去設(shè)置新用戶的密碼。adduser會創(chuàng)建用戶惯驼,創(chuàng)建目錄蹲嚣,創(chuàng)建密碼(提示你設(shè)置),做這一系列的操作祟牲。其實useradd隙畜、userdel這類操作更像是一種命令,執(zhí)行完了就返回说贝。而adduser更像是一種程序议惰,需要你輸入、確定等一系列操作乡恕。
四言询、作業(yè)
圖片版詳見http://t.cn/RaWoQAT