任何完整的系統(tǒng)都應該具備有某種形式的安全性。必須用過某種機制來保護文件不被未授權的用戶查看或修改;Linux系統(tǒng)遵循了Unix的文件權限的方法,來根據(jù)用戶與用戶組授權,實現(xiàn)文件安全訪問。 1、Linux安全性Linux系統(tǒng)的安全核心是用戶賬戶。訪問Linux系統(tǒng)的每個人都擁有自己的分配的、唯一的賬戶。基于賬戶來進行安全處理。使用用戶ID(UID)來跟蹤用戶權限。 1.1、/etc/passwd文件存放用戶名的文件--/etc/passwd; 首先看到的是根用戶,它的UID始終未0。它被稱為系統(tǒng)賬戶。通常情況下,每個用戶都是通過普通用戶登錄到Linux操作系統(tǒng),普通用戶不能直接獲取對整個系統(tǒng)的訪問權限。這樣就保證了系統(tǒng)的安全性; 500以下的UID保留作為系統(tǒng)賬戶。一些服務甚至特定的UID才能使用這些UID號。普通用戶的UID一般為500開始往后。 /etc/passwd的內容如下: 1、登錄用戶名 2、用戶的密碼【x表示密碼替代符,真正的密碼存放于/etc/shadow中】 3、用戶賬戶的ID號 4、用戶賬戶的數(shù)值用戶組ID 5、用戶賬戶的文本描述(注釋字段) 6、用戶的HOME目錄位置 7、用戶的默認shell 需要添加刪除用戶的話,可以直接在該文件下面進行操作; 1.2、/etc/shadow文件/etc/shadow文件是提供了密碼存放的地方。只有根用戶才能訪問這個文件。這比/etc/passwd文件更加安全;
與/etc/shadow文件記錄中有9個字段: 1、與/etc/passwd文件中的登錄名對應的登錄名; 2、經過加密的密碼 3、密碼上次修改時間距離1970年1月1日的天數(shù); 4、距能夠修改密碼時的最少天數(shù) 5、距必須修改密碼是的天數(shù) 6、距離密碼逾期并警告用戶修改密碼的天數(shù) 7、從密碼逾期開始到賬戶被禁用的天數(shù) 8、用戶賬戶已被禁用的天數(shù)(存儲為自1970年1月1日開始的天數(shù)) 9、保留供未來使用的字段 1.3、添加新的用戶useradd用來添加用戶。 useradd -D #查看Linux系統(tǒng)使用的系統(tǒng)默認值 INACTIVE=-1 #密碼逾期不被停用 SKEL=/etc/skel #系統(tǒng)會將/etc/skel目錄中的內容復制到用戶的HOME目錄 CREATE_MAIL_SPOOL=yes #系統(tǒng)將在郵件目錄中的內容復制到用戶的HOME目錄中; useradd常用參數(shù): -c #添加注釋 -d #指定家目錄名稱 -e #指定賬戶逾期的日期,格式為YYYY-MM-DD -f #表示賬戶逾期后,賬戶被禁用需要的天數(shù)。值0表示密碼逾期時立即禁止賬戶;值為-1表示禁止此功能 -g #指定用戶登錄組的用戶組名稱或GID -G #指定用戶屬于的一個或過個補充的用戶組 -k #將/etc/skel目錄的內容復制到用戶HOME目錄 -m #創(chuàng)建用戶的HOME目錄,與-k一起使用 -M #不創(chuàng)建家目錄 -n #使用與用戶登錄名相同名稱的創(chuàng)建一個新的用戶組 -r #創(chuàng)建一個系統(tǒng)賬戶 -p #為用戶指定一個默認密碼 -s #指定默認登錄shell -u #指定賬戶的唯一的UID useradd還可以更改默認參數(shù)值 -b #修改默認的HOME目錄被創(chuàng)建的位置 -e #修改新賬戶逾期的時間 -f #修改從密碼逾期到賬戶被禁用的天數(shù) -g #修改默認使用的用戶組名稱或GID -s #修改默認登錄的shell 例如:useradd -D -s /bin/tsch 1.4、刪除用戶userdel命令,用來刪除用戶。 例如:userdel -r test #-r帶著默認家目錄一塊刪 1.5、修改用戶常用的修改工具: usermod 編輯用戶的賬戶字段,以及制定主要和次要的用戶組成員 -l #用于修改用戶賬戶的登錄名 -L #用于鎖定賬戶,使用戶無法登錄 -p #用于修改賬戶的密碼 -U #用于接觸賬戶鎖定,使用戶能夠登錄 passwd 修改已有的用戶密碼 passwd修改自身密碼,passwd test修改test用戶密碼; -e #選項用于前置用戶下次登錄時修改密碼; chpasswd 讀取登錄名和密碼對文件,并更新密碼 用于大量修改用戶密碼,從標準輸入讀取登錄名和密碼對應的列表(由冒號分開) chage 修改密碼的逾期時間 chfn 修改賬戶的注釋信息 將信息存儲于/etc/passwd的注釋字段中。 finger 命令可以查找關于Linux系統(tǒng)上的用戶信息; chsh 修改用戶賬戶的默認shell chsh -s /bin/csh test #test用戶的shell程序改為/bin/csh 2、使用Linux用戶組在個人賬戶控制上,當個用戶可以滿足,在資源共享方面則有所欠缺。為此我們使用用戶組的概念來實現(xiàn); 每個用戶組都有一個唯一的GID。與UDI類似是系統(tǒng)上獨一無二的數(shù)值。 2.1、/etc/group文件/etc/group文件用來存放系統(tǒng)中用戶組的信息; 與UID類似,500一下的GID為系統(tǒng)用戶的用戶組信息,而500以及500以上的才是普通用戶的用戶組信息; 1、用戶組名稱 2、用戶組密碼 3、GID 4、屬于用戶組的用戶賬戶列表 usermod 命令可以幫助我們將用戶添加到特定的用戶組中; 2.2、創(chuàng)建新的用戶組例如:groupadd shared ?? tail -1 /etc/group 這時候是沒有用戶屬于這個組的,我們需要使用usermod命令來將用戶添加到該組; ? usermod -G shared rich ? usermod -G shared test ? tail -1 /etc/group #此時,用戶rich和test用戶就添加到了shared組中; 2.3、修改用戶組groupmod 命令可用來修改組的相關信息; 例如:groupmod -n sharing shared #-n將shared名字改為sharing; -g #可以修改用戶組的GID 3、解碼文件權限了解 ll 查看到的文件權限 3.1、使用文件權限符號rwx-讀寫執(zhí)行,同時可以用8進制數(shù)來表示 3.2、默認文件權限遮罩碼--umask,定義了文件的默認權限; 文件權限可以使用代碼來表示,如下圖: 文件的完整權限是666,而目錄的完整權限是777;因此在實例中,文件初始權限在去掉umask后為644,而目錄的為755; 通過umask命令可以修改默認遮罩碼,但是不建議這么做; 4、修改安全設置4.1、修改權限chmod用來修改文件權限,格式如下: chmod options mode file 例如:chmod 760 newfile 也可以使用符號的模式指定文件的權限: [ugoa...] [ -=] [rwxXstugo...] u 表示用戶 g 表示用戶組 o 表示其他 a 表示上述所有 添加對應權限 - 去掉對應權限 = 為權限賦值 x 用于指定執(zhí)行權限 s 用于設置正在執(zhí)行的UID或者GID t 用于保存程序文本 u 用于將權限設置為所有者的權限 g 用于將權限設置為用戶組的權限 o 用于將權限設置為其他人的權限 例如: 4.2、修改所有者chown可以方便的修改文件所有者; chown options owner [.group] file 例如:chown dan newfile ? chown .dan newfile ? chown dan. newfile chown dan.dan newfile 也可以使用 chgrp 直接來修改用戶組即可; 例如:chgrp shared newfile #只修改用戶組,類似與chown .dan newfile 5、共享文件有時候,我們需要將文件共享給所有的用戶,我們需要臨時調用文件所有者權限,這時候,Linux系統(tǒng)為我們提供了三個額外的信息為,它們分別是: 1、set user id (SUID) 當文件由用戶執(zhí)行時,程序將在文件所有者的權限下運行 2、set group id (SGID) 對于文件,程序將在文件用戶組的權限下運行,對于目錄,目錄中創(chuàng)建的所有新文件使用目錄用戶組作為默認用戶組 3、粘著位 進程結束后,文件仍然保留(粘著)在內存中 chmod命令可以修改設置這三位的信息,權限如下圖: 來源:http://www./content-3-175101.html |
|