新聞中心
在linux中,口令文件在/etc/passwd中,早期的這個文件直接存放加密后的密碼,前兩位是”鹽”值,是一個隨機(jī)數(shù),后面跟的是加密的密碼。為了安全,現(xiàn)在的linux都提供了 /etc/shadow這個影子文件,密碼放在這個文件里面,并且是只有root可讀的。

創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,提供成都做網(wǎng)站、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);可快速的進(jìn)行網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,是專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
shadow文件的說明
richy:$6$70rKewE7OH/ZJCRI$TPwG9kLBIzZwKDKckpsnIYSTyXKXwIUplK0xZlPVkMgCxexz1a0rA70DJfD8eWEwOIxwcJuxj7Fr6zdKS/Osn1:17009:0:99999:7:::
1.與/etc/passwd文件中的登錄名對應(yīng)的登錄名; 2.加密后的密碼;3.自1970年1月1日(上次修改密碼的日期)到當(dāng)天的天數(shù); 4.多少天后才能更改密碼; 5.多少天后必須更改密碼; 6.密碼過期前提前多少天提醒用戶更改密碼; 7.密碼過期后多少天禁用用戶賬戶; 8.用戶賬戶被禁用的日期,用自1970年1月1日到當(dāng)天的天數(shù)表示; 9.預(yù)留字段,給將來使用; 使用shadow,Linux系統(tǒng)可以更好的控制用戶密碼了,他可以控制用戶多久更改一次密碼,以及密碼未更新的話多久禁用該用戶賬戶。
添加新用戶
1.查看Linux系統(tǒng)默認(rèn)的useradd添加值: [root@alone ~]# /usr/sbin/useradd -D GROUP=100==>新用戶會被添加到GID為100的公共組 HOME=/home==>新用戶的HOME目錄將位于/home/賬戶名 INACTIVE=-1 ==>新用戶賬戶密碼在過期后不會被禁用 EXPIRE= ==>新用戶賬戶未被設(shè)置為某個日期后就過期 SHELL=/bin/bash==>新用戶賬戶將bash shell 作為默認(rèn)shell SKEL=/etc/skel ==> 系統(tǒng)會將/etc/skel目錄下的內(nèi)容復(fù)制到用戶的HOME目錄下 CREATE_MAIL_SPOOL=yes==>系統(tǒng)為該用戶賬戶在maill目錄下創(chuàng)建一個用于接收郵件的文件
更改默認(rèn)值的參數(shù): -b default_home更改默認(rèn)用戶HOME目錄位置 -e expiration_date更愛用戶的過期日期 -f inactive更改用戶從密碼過期到賬戶被禁用的天數(shù) -g group更改默認(rèn)的組名或GID -s shell 更改默認(rèn)的登錄shell 例子:
[root@alone skel]# useradd -D -s /bin/tsch
[root@alone skel]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/tsch
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
刪除用戶
userdel只刪除/etc/passwd文件中的用戶信息,而不會刪除系統(tǒng)中屬于該賬戶的任何文件。 如果加上-r參數(shù),userdel 會刪除用戶的HOME目錄及mail目錄。然而系統(tǒng)上仍可能存有該用戶的其他文件,可能會造成一些問題。 加上-r參數(shù)的例子:
[root@alone skel]# /usr/sbin/userdel -r test
[root@alone skel]# ls -al /home/tes
ls: 無法訪問/home/tes: 沒有那個文件或目錄
修改用戶
修改用戶信息的工具如下 usermod 修改用戶賬戶的字段,可以指定主要組以及附加組的所屬關(guān)(權(quán)限) passwd 修改已有用戶的密碼 chpasswd 從文件中讀取登錄名密碼對,并更新密碼 chage 修改密碼的過期日期 chfn 修改用戶賬戶的備注信息 chsh 修改用戶賬戶的默認(rèn)登錄shell
1.usermod
usermod 能用來修改/etc/passwd文件中的大部分字段,只需用相應(yīng)的參數(shù)就行。參數(shù)大部分跟useradd命令一樣,比如 -c 用來修改過期日期, -g修改默認(rèn)的登錄組:-l 修改用戶賬戶的登錄名 -L 鎖定賬戶,這樣用戶就無法登錄了-p修改賬戶的密碼-U 解除鎖定,解除后用戶能正常登錄 以上-L參數(shù)尤其適用,用這個參數(shù)就能鎖定賬戶,用戶就無法登錄,而不用刪除賬戶和用戶的數(shù)據(jù),要讓賬戶恢復(fù)正常,只要加-U參數(shù)就行。
2.passwd和chpasswd
改變用戶的密碼最簡單就是用passwd命令: [root@alone skel]# passwd test 更改用戶 test 的密碼 。 新的 密碼: 無效的密碼: 它基于字典單詞 無效的密碼: 過于簡單 重新輸入新的 密碼: passwd: 所有的身份驗(yàn)證令牌已經(jīng)成功更新。
-e`選項(xiàng)能強(qiáng)制用戶下次登錄時修改密碼;
如果需要為系統(tǒng)中大量用戶來修改密碼,chpasswd命令能讓事情簡單許多,chpasswd命令能從標(biāo)準(zhǔn)輸入自動讀取登錄名和密碼對(冒號分隔)列表,給密碼加密,然后為用戶賬戶設(shè)置,也可以用重定向命令來將含有`userid:passwd`對的文件重定向給命令:
`[root@alone skel]# chpasswd
3.chsh、chfn和chage
chsh、chfn和chage工具專門用來修改特定賬戶信息。chsh命令用來快速修改默認(rèn)的用戶登錄shell。使用時必須用shell的全路徑名作為參數(shù),不能只用shell名:
[root@alone skel]# chsh -s /bin/csh test
Changing shell for test.
Shell changed.
chfn不加參數(shù)的時候會以此輸入提示備注信息。如:“
[root@alone skel]# chfn test
Changing finger information for test.
Name []: ImaTest
Office []: ChongQing
Office Phone []: 88925925
Home Phone []: 88592626
Finger information changed.
[root@alone skel]# tail -2 /etc/passwd
richy:x:500:500:richy:/home/richy:/bin/bash
test:x:501:501:ImaTest,ChongQing,88925925,88592626:/home/test:/bin/csh
chage命令用來幫助管理用戶賬戶的有效期,參數(shù)如下: -d 設(shè)置上次修改密碼到現(xiàn)在的天數(shù) -E 設(shè)置密碼過期的日期 -I 設(shè)置密碼過期到鎖定賬戶的天數(shù) -m 設(shè)置修改密碼之間最少要多少天 -W 設(shè)置密碼過期前多久開始出現(xiàn)提醒信息 chage命令的日期格式可以用一下兩種方式的一種: 1.YYYY-MM-DD格式的日期。 2.代表從1970年1月1日到該日期天數(shù)的數(shù)值。 技巧:可以通過設(shè)置賬戶的過期日期來創(chuàng)建臨時用戶。過期賬戶和鎖定賬戶相似,賬戶仍然存在,但是無法登錄。
使用Linux組
1./etc/group文件
[root@alone skel]# cat /etc/group
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
adm:x:4:adm,daemon
tty:x:5:
disk:x:6:
lp:x:7:daemon
mem:x:8:
kmem:x:9:
/etc/group文件包含4個字段 組名:組密碼:GID:該組的用戶 -組密碼允許非組內(nèi)成員通過它臨時成為該組的成員,但不常用。 -不能直接修改/etc/group文件來添加組,而要使用usermod命令來添加。添加用戶到組時,需先創(chuàng)建組。
2.創(chuàng)建新組
使用groupadd命令
[root@alone skel]# /usr/sbin/groupadd shared
[root@alone skel]# tail /etc/group
fuse:x:494:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
sshd:x:74:
tcpdump:x:72:
slocate:x:21:
richy:x:500:
test:x:501:
shared:x:502:
創(chuàng)建組時,默認(rèn)沒有用戶屬于該組成員。groupadd命令沒有提供將用戶添加到組的選項(xiàng),但可以使用usermod命令來添加用戶到組:
[root@alone skel]# /usr/sbin/usermod -G shared richy
[root@alone skel]# /usr/sbin/usermod -G shared test
[root@alone skel]# tail -3 /etc/group
richy:x:500:
test:x:501:
shared:x:502:richy,test
usermod的-G命令會把這個新組添加到該用戶賬戶的組列表里。(組關(guān)系更改生效,必須注銷重新登錄)。注意:如果是-g參數(shù),指定的組名會替換該賬戶的默認(rèn)組。-G參數(shù)則是將改組添加到用戶的屬組列表里,而不影響默認(rèn)組。
3.修改組
groupmod 可以修改已有組的GID(加-g參數(shù))或者組名(加-n參數(shù)):
[root@alone skel]# tail -2 /etc/group
test:x:501:
sharing:x:502:richy,test
修改組名時,GID和組成員不會變,只有組名變。由于所有的安全權(quán)限都是基于GID的,你可以隨意改變組名而不會影響文件的安全性。
文件的權(quán)限
1.使用文件權(quán)限符號
– 代表文件; d 代表目錄; l 代表連接;c 代表字符型設(shè)備; b 代表塊設(shè)備; n 代表網(wǎng)絡(luò)設(shè)備;
2.默認(rèn)文件權(quán)限
umask 的使用,文件的全權(quán)限為 666 目錄的全權(quán)限為 777 umask 0022說明: 第一位為特殊安全選項(xiàng) 第二位是屬主權(quán)限 第三位是屬組權(quán)限 第四位是其他用戶權(quán)限 umask的值是掩碼形式,他會屏蔽掉不需要的權(quán)限,若想文件為644(即rw-r–r–),文件的掩碼就是022(666-644),
[root@alone testdir]# ls -ld /root/testdir
drwxr-xr-x. 2 root root 4096 7月 28 10:05 /root/testdir
(即是 0026)由于目錄默認(rèn)權(quán)限時777,umask作用后生成的目錄權(quán)限不同于生成的文件權(quán)限,umask值是026會從777中減去,留下來751作為目錄權(quán)限設(shè)置。
3.改變安全性設(shè)置
[root@alone testdir]# chmod 760 newfile
[root@alone testdir]# ls -l newfile
-rwxrw----. 1 root root 0 7月 28 10:10 newfile
chmod的作用對象有 u(屬主) g(屬組) o(其他用戶) a(所有) 。 chmod權(quán)限的增加(+)、移除(-)、重置為(=)。 chmod權(quán)限設(shè)置符號 x(賦予執(zhí)行權(quán)限)、s(運(yùn)行時重置UID或GID)、t(保留文件或目錄)、u(權(quán)限設(shè)置為屬主一樣)、g(權(quán)限設(shè)置為屬組一樣)、o(權(quán)限設(shè)置為其他用戶一樣)。
[root@alone testdir]# chmod o+r newfile
[root@alone testdir]# ll newfile
-rwxrw-r--. 1 root root 0 7月 28 10:10 newfile
[root@alone testdir]# chmod u-x newfile
[root@alone testdir]# ll newfile
-rw-rw-r--. 1 root root 0 7月 28 10:10 newfile
chmod可以使用-R來遞歸的作用到文件和子目錄,可以在指定文件名時使用通配符同事作用多個文件
4.改變所屬關(guān)系
chown options owner[.group] filename
例如: [root@alone testdir]# chown dan newfile
[root@alone testdir]# ll newfile
-rw-rw-r--. 1 dan root 0 7月 28 10:10 newfile
[root@alone testdir]# chown dan.sharing newfile
[root@alone testdir]# ll newfile
-rw-rw-r--. 1 dan sharing 0 7月 28 10:10 newfile
不嫌麻煩可以用以下命令改變默認(rèn)屬組: [root@alone testdir]# chown .test newfile
[root@alone testdir]# ll newfile
-rw-rw-r--. 1 dan test 0 7月 28 10:10 newfile
chown帶-R參數(shù)加通配符可以遞歸的改變子目錄和文件的所屬關(guān)系,-h參數(shù)可以改變該文件的所有符號鏈接文件的所屬關(guān)系。
chgrp命令更方便的改變文件或目錄的默認(rèn)數(shù)組: [root@alone testdir]# chgrp sharing newfile
[root@alone testdir]# ll newfile
-rw-rw-r--. 1 dan sharing 0 7月 28 10:10 newfile
5.共享文件
最基本的方法是通過創(chuàng)建組來共享訪問權(quán)限的方法。 大環(huán)境中共享方法:
-設(shè)置用戶ID (SUID):當(dāng)文件被用戶使用時,會以文件屬主權(quán)限運(yùn)行。
-設(shè)置組ID(SGID):對文件來說,程序會以文件屬組權(quán)限運(yùn)行,對目錄來說,目錄中創(chuàng)建新文件會以目錄的默認(rèn)屬組作為默認(rèn)屬組。
-粘著位:進(jìn)程結(jié)束后文件還會在內(nèi)存中
例子:
[root@alone testdir]# mkdir sss
[root@alone testdir]# ls -l
總用量 4 -rw-r--r--. 1 root root 0 7月 28 10:26
abc -rw-rw-r--. 1 dan sharing 0 7月 28 10:10 newfile
drwxr-xr-x. 2 root root 4096 7月 28 10:51 sss
[root@alone testdir]# chgrp sharing sss
[root@alone testdir]# chmod g+s sss
[root@alone testdir]# ls -ld sss
drwxr-sr-x. 2 root sharing 4096 7月 28 10:51 sss
[root@alone testdir]# umask 002
[root@alone testdir]# cd sss
[root@alone sss]# touch onetext
[root@alone sss]# ls -l
總用量 0
-rw-rw-r--. 1 root sharing 0 7月 28 10:53 onetext
首先,用mkdir創(chuàng)建共享的目錄,
其次通過chgrp將默認(rèn)屬組改為含有需要共享用戶的組,
最后將目錄的SGID位置位,以保證目錄中新建文件都用sharing作為默認(rèn)組。
為了讓這個環(huán)境正常工作,所有組成員都需要把它們的umask值設(shè)置成文件對屬組成員可寫(002)。
這樣,組成員就能共享目錄下創(chuàng)建文件,并且新文件沿用目錄的屬組,而不是用戶的屬組,
所有sharing組的用戶都有訪問權(quán)限。
—————-小結(jié)———————
賬戶信息 /etc/passwd 組信息 /etc/group 創(chuàng)建新用戶 useradd 創(chuàng)建新組 groupadd 修改已有賬戶 usermod 修改組賬戶信息 groupmod 3個安全等級 rwxr–r– 默認(rèn)權(quán)限設(shè)置 umask (掩碼規(guī)則-文件666,目錄777) chmod 修改文件或目錄的安全設(shè)置(只有文件的屬主才能修改屬主和屬組,或者root用戶) SGID強(qiáng)制某個目錄下創(chuàng)建的新文件或目錄都沿用該父目錄的屬組(共享簡便方法)。
本文標(biāo)題:詳解Linuxshadow文件
網(wǎng)頁URL:http://fisionsoft.com.cn/article/ccdeees.html


咨詢
建站咨詢
