Linux用戶理解及文件權限設置
2016年11月09日 13:12:28 茶末蚊子 閱讀數(shù):1355
一 多用戶理解
Linux 是****一個多用戶、多任務的操作系統(tǒng)
1.1 Linux 的單用戶多任務
一個用****戶登錄系統(tǒng)后,執(zhí)行多個任務,如執(zhí)行gedit寫文檔,打開音樂,上網(wǎng)。這個用戶,其它的人還能以遠程登錄過來,也能做其它的工作。
1.2 Linux 的多用戶、多任務
有時可能是很多用戶同時用同一個系統(tǒng),但并不所有的用戶都一定都要做同一件事,所以這就有多用戶多任務之說;
舉個例子,比如LinuxSir.Org 服務器,上面有FTP 用戶、系統(tǒng)管理員、web 用戶、常規(guī)普通用戶等,在同一時刻,可能有的人正在訪問論壇;有的可能在上傳軟件包管理子站,在與此同時,可能還會有系統(tǒng)管理員在維護系統(tǒng);瀏覽主頁的用的是nobody 用戶,而上傳軟件包用的是FTP用戶;管理員的對系統(tǒng)的維護或查看,可能用的是普通帳號或超級權限r(nóng)oot帳號;不同用戶所具有的權限也不同,要完成不同的任務得需要不同的用戶,也可以說不同的用戶,可能完成的工作也不一樣;
值得注意的是:多用戶多任務并不是同時擠到接在一臺機器的的鍵盤和顯示器前來操作機器,多用戶可能通過遠程登錄來進行,比如對服務器的遠程控制,只要有用戶權限任何人都是可以上去操作或訪問的。
1.3 ****用戶的角色區(qū)分
用戶在系統(tǒng)中是分角色的,在Linux 系統(tǒng)中,由于角色不同,權限和所完成的任務也不同;值得注意的是用戶的角色是通過UID(用戶ID)識別的,特別是UID在系統(tǒng)管理中,系統(tǒng)管理員一定要堅守UID 唯一的特性
UID為0則是用戶root,1~499為系統(tǒng)用戶,500以上為普通用戶
root 用戶:系統(tǒng)唯一,是真實的,可以登錄系統(tǒng),可以操作系統(tǒng)任何文件和命令,擁有最高權限;
虛擬用戶:這類用戶也被稱之為偽用戶或假用戶,與真實用戶區(qū)分開來,這類用戶不具有登錄系統(tǒng)的能力,但卻是系統(tǒng)運行不可缺少的用戶,比如bin、daemon、adm、ftp、mail等;這類用戶都系統(tǒng)自身擁有的,而非后來添加的,當然我們也可以添加虛擬用戶; 普通真實用戶:這類用戶能登錄系統(tǒng),但只能操作自己家目錄的內(nèi)容;權限有限;這類用戶都是系統(tǒng)管理員自行添加的;
1.4 多用戶操作系統(tǒng)的安全
多用戶系統(tǒng)從時實來說對系統(tǒng)管理更為方便。從安全角度來說,多用戶管理的系統(tǒng)更為安全。
比如User用戶下的某個文件不想讓其它用戶看到,只是設置一下文件的權限,只有User一個用戶可讀可寫可編輯.
二 用戶與用戶組
2.1 用戶(user)的概念;
Linux 是真正意義上的多用戶操作系統(tǒng),所以我們能在Linux系統(tǒng)中建若干用戶(user)。比如有人想用我的計算機,但我不想讓他用我的用戶名登錄,因為我的用戶名下有不想讓別人看到的資料和信息(也就是隱私內(nèi)容)這時可以給他建一個新的用戶名,讓他用我所開的用戶名去折騰。
當然用戶(user)的概念理解還不僅僅于此,在Linux系統(tǒng)中還有一些用戶是用來完成特定任務的,比如nobody和ftp 等,訪問LinuxSir.Org 的網(wǎng)頁程序,就是nobody用戶;我們匿名訪問ftp 時,會用到用戶ftp或nobody ;如果想了解Linux系統(tǒng)的一些帳號,查看 /etc/passwd ;
2.2 用戶組(group)的概念;
用戶組(group)就是具有相同特征的用戶(user)的集合體;比如有時我們要讓多個用戶具有相同的權限,比如查看、修改某一文件或執(zhí)行某個命令,這時我們需要用戶組,把用戶都定義到同一用戶組,我們通過修改文件或目錄的權限,讓用戶組具有一定的操作權限,這樣用戶組下的用戶對該文件或目錄都具有相同的權限,這是通過定義組和修改文件的權限來實現(xiàn)的。
用戶和用戶組的對應關系是:一對一、多對一、一對多或多對多
一對一:某個用戶可以是某個組的唯一成員;
多對一:多個用戶可以是某個唯一的組的成員,不歸屬其它用戶組;比如beinan和linuxsir兩個用戶只歸屬于beinan用戶組;
一對多:某個用戶可以是多個用戶組的成員;比如beinan可以是root組成員,也可以是linuxsir用戶組成員,還可以是adm用戶組成員;
多對多:多個用戶對應多個用戶組,并且?guī)讉€用戶可以是歸屬相同的組
三 相關配置
3.1 與用戶(user)和用戶組(group)相關的配置文件
1)與用戶(user)相關的配置文件;
/etc/passwd :用戶(user)的配置文件
在此文件中只定義賬號,不定義口令。一行定義一個用戶,分為七個部分:
image第一列為賬號名稱,
第二列為用戶密碼(在/etc/shadow),
第三列為用戶標識碼(用戶ID),用來確認用戶身份
第四列為用戶所在組的表示(用戶組ID),
第五列為用戶相關信息(如root),
第六列為用戶家目錄(/root),
第七列為用戶的環(huán)境(用戶使用的shell)
/etc/shadow :用戶(user)影子口令文件
保存用戶密碼信息,包括加密后的密碼,密碼過期時間,密碼過期提示天數(shù)等。
2)與用戶組(group)相關的配置文件;
/etc/group :用戶組(group)配置文件
用戶組的所有信息都存放在/etc/group文件中。此文件的格式是由冒號(:)隔開若干個字段,這些字段具體如下:
組名:口令:組標識號:組內(nèi)用戶列表 組名:組名是用戶組的名稱,由字母或數(shù)字構成。與/etc/passwd中的登錄名一樣,組名不應重復。 口令:口令字段存放的是用戶組加密后的口令字。一般Linux系統(tǒng)的用戶組都沒有口令,即這個字段一般為空,或者是*。 組標識號:組標識號與用戶標識號類似,也是一個整數(shù),被系統(tǒng)內(nèi)部用來標識組。別稱GID. 組內(nèi)用戶列表: 是屬于這個組的所有用戶的列表,不同用戶之間用逗號(,)分隔。這個用戶組可能是用戶的主組,也可能是附加組。/etc/gshadow :用戶組(group)的影子文件
保存用戶組密碼信息
3.2 常用配置命令
添加用戶:
useradd 選項 用戶名
其中各選項含義如下:
-c comment 指定一段注釋性描述。
-d 目錄 指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創(chuàng)建主目錄。
-g 用戶組 指定用戶所屬的用戶組。
-G 用戶組,用戶組 指定用戶所屬的附加組。
-s Shell文件 指定用戶的登錄Shell。
-u 用戶號 指定用戶的用戶號,如果同時有-o選項,則可以重復使用其他用戶的標識號。用戶名 :指定新賬號的登錄名。
例子:useradd –d /usr/sam -m sam
useradd -s /bin/sh -g group –G adm,root gem
-d和-m選項用來為登錄名sam產(chǎn)生一個主目錄/usr/sam(/usr為默認的用戶主目錄所在的父目錄)。
此命令新建了一個用戶gem,該用戶的登錄Shell是/bin/sh,它屬于group用戶組,同時又屬于adm和root用戶組,其中group用戶組是其主組。
刪除用戶
userdel 選項 用戶名
例:userdel sam
此命令刪除用戶sam在系統(tǒng)文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的記錄,同時刪除用戶的主目錄。
修改用戶
usermod 選項 用戶
可使用的選項:
image例子:usermod -s /bin/ksh -d /home/z –g developer sam
此命令將用戶sam的登錄Shell修改為ksh,主目錄改為/home/z,用戶組改為developer。
usermod –g group_name user_name
更改用戶的用戶組:
usermod –G group_name user_name
將用戶添加到其它組:
設置密碼
passwd 選項 用戶名
-l 鎖定口令,即禁用賬號。
****-u 口令解鎖。****
-d 使賬號無口令。
-f 強迫用戶下次登錄時修改口令。
如果默認用戶名,則修改當前用戶的口令。如果是超級用戶,可以用下列形式指定任何用戶的口令:passwd sam
**增加用戶組 **
groupadd 選項 用戶組
選項:
-g GID 指定新用戶組的組標識號(GID)。
-o 一般與-g選項同時使用,表示新用戶組的GID可以與系統(tǒng)已有用戶組的GID相同。
新組的組標識號是在當前已有的最大組標識號的基礎上加1例:groupadd group1
刪除用戶組
groupdel 用戶組
修改用戶組 groupmod 選項 用戶組
-g GID 為用戶組指定新的組標識號。
-o 與-g選項同時使用,用戶組的新GID可以與系統(tǒng)已有用戶組的GID相同。
-n 新用戶組 將用戶組的名字改為新名字
例子:groupmod –g 10000 -n group3 group2此命令將組group2的標識號改為10000,組名修改為group3。
用戶組切換
newgrp root
四 文件權限
ls -al 命令是列出目錄的所有文件,包括隱藏文件。隱藏文件的文件名第一個字符為'.'
列表的列定義如下:
[權限屬性信息] [連接數(shù)] [擁有者] [擁有者所屬用戶組] [大小] [最后修改時間] [文件名]權限屬性列表為10個字符:
第一個字符表示文件類型,d為目錄 -為普通文件 l為連接 b為可存儲的接口設備 c為鍵盤鼠標等輸入設備
2、3、4個字符表示所有者權限,5、6、7個字符表示所有者同組用戶權限,8、9、10為其他用戶權限
第二個字符表示所有者讀權限,如果有權限則為r,沒有權限則為-
第三個字符表示所有者寫權限,如果有權限則為w,沒有權限則為-
第四個字符表示所有者執(zhí)行權限,如果有權限則為x,沒有權限則為-
第五個字符表示所有者同組用戶讀權限,如果有權限則為r,沒有權限則為-
第六個字符表示所有者同組用戶寫權限,如果有權限則為w,沒有權限則為-
第七個字符表示所有者同組用戶執(zhí)行權限,如果有權限則為x,沒有權限則為-
第八個字符表示其他非同組讀權限,如果有權限則為r,沒有權限則為-
第九個字符表示其他非同組寫權限,如果有權限則為w,沒有權限則為-
第十個字符表示其他非同組執(zhí)行權限,如果有權限則為x,沒有權限則為-修改文件屬性
chmod命令改變文件的屬性,屬性的設置方法有兩種,分別可以使用數(shù)字或者是符號:
Linux 文件的基本屬性有9個,分別是 owner/group/others組別的read/write/excute屬性。
數(shù)字表示:r:4 w:2 x:1
例子:
將同一組(owner/group/others)的3個屬性(r/w/x)累加,如當前屬性為[-rwxrwx---],則是:
owner=rwx=4+2+1=7
group=rwx=4+2+1=7
others= --- =0+0+0=0
該屬性為770.chmod 777 filename
符號類型
image如果想把一個文件屬性設置為 -rwxr-xr--,可以這樣: chmod u=rwx,g=rx,o=r filename
如果不知道文件的原先屬性,但想增加其的每人均可寫入的權限,可以這樣:
chmod a+wfilename
去掉所有人的x屬性:
chmod a-xfilename
修改文件所有者和組
chown 更改文件所有者和組
普通用戶下執(zhí)行加sudo
語法:
** chown [OPTION] [OWNER][:[GROUP]] FILE**
-R :進行遞歸的持續(xù)更改,即將同子目錄下的所有文件、目錄都更新問這個用戶組。通常用在更改某一目錄的情況。
**要修改文件hh.c的所有者.修改為sakia的這個用戶所有
chown sakia hh.c
將目錄 /tmp/sco 這個目錄的所有者和組改為sakia和組net
chown -R sakia:net /tmp/sco **
</article>