day21權(quán)限補(bǔ)充-用戶(hù)管理體系

文件訪問(wèn)過(guò)程

顯示/oldboy/test.sh文件詳細(xì)過(guò)程(inode block)
權(quán)限拒絕錯(cuò)誤,與上級(jí)目錄有關(guān)


文件訪問(wèn)過(guò)程(inode與bolck)

權(quán)限如何讓系統(tǒng)安全

如何讓系統(tǒng)安全

1.(最小化)
安裝系統(tǒng)的時(shí)候
操作rm -f
開(kāi)啟服務(wù)

2.保護(hù)root
禁止root遠(yuǎn)程登錄系統(tǒng)
修改遠(yuǎn)程連接(sshd)默認(rèn)端口號(hào)

3.制作指紋認(rèn)證
md5sum:制作一個(gè)指紋
格式:md5sum oldboy.txt

[root@yuyingqian ~]# md5sum oldboy.txt
3fe396c01f03425cb5e2da8186eb090d  oldboy.txt

把原指紋記錄到一個(gè)地方

[root@yuyingqian ~]# md5sum oldboy.txt > /oldboy/police.md5

md5sum -c 對(duì)比指紋是否一致(一致時(shí)為ok 不一致為failed)

[root@yuyingqian ~]# md5sum -c /oldboy/police.md5 
oldboy.txt: OK
文件系統(tǒng)權(quán)限(隱藏屬性)

chattr:修改隱藏屬性
+a:只能追加(解鎖-a)
+i:無(wú)敵的(解鎖-i)
lsattr:查看隱藏屬性

linux特殊權(quán)限

suid setuid
某個(gè)文件在所有者的位之上有s
擁有suid的命令,任何用戶(hù)執(zhí)行的時(shí)候相當(dāng)于root(文件的所有者)
給rm一個(gè)s權(quán)限

[root@yuyingqian ~]# chmod u+s /bin/rm
[oldboy@yuyingqian ~]$ ll /
total 10004
drwxr-xr-x.  80 root root     8192 Apr 24 08:31 etc
-rw-r--r--    1 root root 10213933 Apr 16 12:23 etc.bak
[oldboy@yuyingqian ~]$ rm -rf /etc.bak
rm: cannot remove ‘/etc.bak’: Permission denied
[root@yuyingqian ~]# chmod u+s /bin/rm
[oldboy@yuyingqian ~]$ rm -rf /etc.bak
[oldboy@yuyingqian ~]$ ll /
total 28
drwxr-xr-x.  80 root root 8192 Apr 24 08:31 etc

粘滯位 /tmp t
每個(gè)人都可以在這個(gè)目錄下面創(chuàng)建文件
我們希望每個(gè)人只能管理自己的文件
1777 /tmp

用戶(hù)管理

用戶(hù)分類(lèi)(通過(guò)UID區(qū)分)

root 普通用戶(hù) 虛擬用戶(hù)

核心文件和目錄

文件:
/etc/passwd:用戶(hù)信息
/etc/shadow:存放密碼信息
/etc/group:用戶(hù)組信息
/etc/gshadow:用戶(hù)組密碼信息

虛擬用戶(hù)在/etc/passwd中的命令解釋器為/bin/nologin

目錄:
/etc/skel :新用戶(hù)家目錄的樣子
添加新用戶(hù)的過(guò)程
1.useradd alex
2.系統(tǒng)創(chuàng)建家目錄
3.權(quán)限所有者修改
4.把/etc/skel下面所有內(nèi)容復(fù)制到家目錄下

故障案例:命令提示符-bash-4.2$或者-bash-4.1

原因和解決過(guò)程

1.修改/etc/profile  PS1加上注釋
[root@oldboyedu59 ~]# tail -1 /etc/profile
#export >PS1="[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\] \[\e[31;1m\]\w\[\e[0m\]]\\$ "
2.添加的用戶(hù)
useradd alex 

3.切換用戶(hù)
[root@oldboyedu59 ~]# useradd  alex 
useradd: user 'alex' already exists
[root@oldboyedu59 ~]# su - alex 
[alex@oldboyedu59 ~]$ 

4.檢查是否有suid 
ls -l /bin/rm 

5.刪根
rm -fr /* 

6.重新登錄alex  

解決


解決

用戶(hù)管理命令

操作用戶(hù)

useradd 創(chuàng)建用戶(hù)

-u 指定uid
-s 指定用戶(hù)使用的命令解釋器
-M 創(chuàng)建用戶(hù)的不創(chuàng)建家目錄
-c 指定用戶(hù)的說(shuō)明信息
-g 指定用戶(hù)組
-G 指定多個(gè)用戶(hù)組

添加用戶(hù)oldboy999 指定uid為888 不可登錄系統(tǒng) 不創(chuàng)建家目錄

[root@yuyingqian ~]# useradd -u 888 -s /bin/login -M oldboy999
[root@yuyingqian ~]# id oldboy999
uid=888(oldboy999) gid=1007(oldboy999) groups=1007(oldboy999)
[root@yuyingqian ~]# grep oldboy /etc/passwd
oldboy:x:1000:1000::/home/oldboy:/bin/bash
oldboy999:x:888:1007::/home/oldboy999:/bin/login
su (switch user) 切換

su - :切換用戶(hù)時(shí)更新用戶(hù)的環(huán)境變量
-c :切換到某個(gè)用戶(hù)執(zhí)行命令,執(zhí)行命令后自動(dòng)退出這個(gè)用戶(hù)

passwd 設(shè)置密碼

--stdin:從管道獲取密碼()非交互式設(shè)置密碼
一般會(huì)跟清除歷史命令記錄一起使用(history -c)

userdel 刪除用戶(hù)

默認(rèn)不刪除家目錄
-r 刪除用戶(hù)和用戶(hù)的家目錄
刪除用戶(hù)替代方法:在/etc/passwd中給用戶(hù)前面加上#

usermod修改用戶(hù)信息

-u 指定uid
-s 指定用戶(hù)使用的命令解釋器
-M 創(chuàng)建用戶(hù)的不創(chuàng)建家目錄
-c 指定用戶(hù)的說(shuō)明信息
-g 指定用戶(hù)組
-G 指定多個(gè)用戶(hù)組

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容