linux學習日記十一 賬號管理與ACL權限設置

====賬號管理配置文件====
vim /etc/passwd,顯示系統(tǒng)內所有賬號內容,每一行代表一個賬號,比如:
yidao:x:1000:1000:fedora17:/home/yidao:/bin/bash
解釋下這7個字段的含義:
1:賬號名稱 | 2:密碼 | 3:UID | 4:GID | 5:用戶信息說明 | 6:主文件夾 | 7:shell
vim /etc/shadow,顯示密碼信息,每一行代表一個賬號密碼信息,比如:
yidao:$1$Bylot.Y3$kMjNj1.KyW9lS3TUuAIPd/:15614:0:99999:7:::
解釋下這9個字段含義(以:隔開)
1:賬號名稱 | 2:密碼 | 3:最近更改密碼日期 , 與1970年1月1日比較的天數 | 4:密碼不可被更改的天數(與第三個字段比較) | 5:密碼需重新更新的天數(與第三個字段比較) | 6:密碼需重新更新前的警告天數(與第五個字段比較) | 7:密碼過期后的賬號寬限天數(密碼失效日)(與第五個字段比較) | 8:賬號失效日期,也是與1970年1月1日比較的天數 | 9:保留
/etc/group 文件:
yidao:x:1000:
用戶組名稱:用戶組密碼(已經移到/etc/gshadow中去,一般為x):GID:此用戶支持的賬號名稱(只寫改組不是其初始用戶組的賬號)
groups命令可以顯示該用戶的屬于所有的用戶組,第一個為有效用戶組,新建文件的時候有用
newgrp命令切換有效用戶組,新開子shell,用exit返回。
/etc/gshadow 文件:
root:::
用戶組名:密碼列(開頭為!代表無合法密碼,所有無用戶組管理員):用戶組管理員賬號:用戶組下的賬號
====新增用戶useradd====
# useradd [-u UID] [-g GID] [-G 次要用戶組] [-mM] [-c 說明] [-d 主文件夾] [-s shell] [-r] 用戶賬號
-M:強制不創(chuàng)建用戶主文件夾(系統(tǒng)賬號默認值)
-m:強制創(chuàng)建用戶主文件夾(一般賬號默認值)
-r:創(chuàng)建一個系統(tǒng)賬號
使用useradd創(chuàng)建賬號至少會參考:
/etc/default/useradd
/etc/login.defs
/etc/skel/*這些文件。
詳細的密碼顯示與修改命令chage:
# chage [-ldEImMW] 帳號名
-l:列出詳細密碼信息
-d:后面接日期,修改shadow第三個字段(最新修改日期),格式YYYY-MM-DD
-E:后面接日期,修改shadow第八字段(賬號失效日),格式YYYY-MM-DD
-I:后面接天數,修改shadow第七字段(密碼失效日期)
-m:后面接天數,修改shadow第四字段(密碼最短保留天數)
-M:后面接天數,修改shadow第五字段(密碼最長保留天數)
-W:后面接天數,修改shadow第六字段(密碼過期前幾天開始警告)
====賬號相關數據進行微調usermod====
# usermod [-cdegGlsuLU] username
-c:后面接賬號說明,即/etc/passwd第五列說明
-d:賬號主文件夾,/etc/passwd第六列
-e:后面接日期,YYYY-MM-DD格式,/etc/shadow第八字段(賬號失效日期)
-f:后面接天數,shadow第七字段(密碼失效日期)
-g:后接初始用戶組,/etc/passwd第四字段,即GID字段
-G:后接次要用戶組,修改這個用戶能支持的用戶組,修改的是/etc/group(賦值的意思,你懂的)
-a:與-G合用增加次要用戶組的支持而非設置(append的意思,你懂的)
-l:后接賬號名稱,即修改賬號名稱,/etc/passwd第一列
-s:后接shell實際文件,例如/bin/bash、/bin/csh等
-u:后接UID,/etc/passwd第三列
-L:暫時將用戶的密碼凍結,讓他無法登陸,其實僅僅改了/etc/shadow的密碼列
-U:將/etc/shadow密碼列的!去掉,解鎖密碼
幾個小命令:
# finger [-s] username:類似指紋功能,將用戶相關屬性列出來
# chfn [-foph] username:修改finger屬性,也就是個人信息
# chsh [-ls] :修改shell
# id username:查閱相關的ID信息
====用戶組管理命令====
# groupadd [-g gid] [-r] 用戶組
-g:后接GID
-r:新建系統(tǒng)用戶組
# groupmod [-g gid] [-n group_name] 用戶組名
-g:修改GID
-n:修改組名
這東東一般沒啥用,最好別用。
# groupdel 用戶組名
# gpasswd groupname:給個組密碼
# gpasswd [-A user1, ...] [-M user3, ...] groupname
-A:將groupname主控器交由后面的用戶管理(該用戶組的管理員)
-M:將某些賬號加入到這個組中
# gpasswd [-rR] groupname
-r:將groupname的密碼刪掉
-R:讓groupname的密碼欄失效
下面是組管理員命令:
# gpasswd [-ad] user groupname
-a:add
-d:delete
====主機的具體權限規(guī)劃ACL(Access Control List)====
先查看是否支持acl
# sudo dumpe2fs -h /dev/sda5 | grep acl
設置acl權限:
# setfacl [-bkRd] [{-m|-x} acl參數] 目標文件名
參數:
-m:設置后續(xù)的acl參數給文件使用,不可與-x合用
-x:刪除后續(xù)的acl參數,不可與-m合用
-b:刪除所有的acl參數
-k:刪除默認的acl參數,關于所謂的默認參數等等
-R:遞歸設置acl,亦包括子目錄也
-d:設置默認的acl參數!只對目錄有效,在該目錄下新建數據會引用此默認值
設置用戶規(guī)則:u:[用戶賬號列表]:rwx
# touch text.txt
# setfacl -m u:yidao:rx text.txt
# setfacl -m u::rx text.txt ==> 代表對該文件的所有者(user)設置
# getfacl text.txt ==>查看acl設置
里面有個mask:表示用戶或者用戶組的權限必須要存在于mask的權限范圍內才會生效,即有效權限 effective permission的意思
設置用戶組規(guī)則:g:[用戶組列表]:rx text.txt
# setfacl -m g:yidao:rx text.txt
設置mask的規(guī)則: m:[rwx] text.txt
# setfacl -m m:rx text.txt
針對目錄的ACL的權限設置能夠被子目錄所繼承的話,設置規(guī)范:
d:[u|g]:[用戶|用戶組]列表:[rwx]
切換到root身份的時候使用:
====用戶身份切換====
# su -
# su – -c ‘head -n 3 /etc/shadow’ ==> 執(zhí)行完root命令后自動返回當前用戶
# sudo [-b] [-u 新用戶賬號] command
-b:后續(xù)命令讓系統(tǒng)自動執(zhí)行,不與目前的shell環(huán)境產生影響
-u:后面接用戶名,沒有就代表root
# sudo -u sshd touch /tmp/mysshd
# sudo -u testuser sh -c “mkdir ~testuser/www; cd ~testuser/www; echo > index.html”
visudo 編輯/etc/sudoers文件:
yidao ALL=(ALL) ALL
用戶賬號 登錄者的來源主機號=(可切換的身份) 可執(zhí)行的命令
%yidao ALL=(ALL) ALL ==>注意%代表對用戶組設置
%yidao ALL=(ALL) ALL NOPASSWD: ALL ==>免密碼功能
通過別名設置visudo:
# visudo
User_Alias ADMUSERS = myuser1, myuser2
Host_Alias www.springzoo.com, www.google.com.hk
Cmnd_Alias ADMCMD = !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root
ADMUSERS ALL=(Host_Alias) ADMCMD
sudo搭配su輸入自己的密碼變成root用戶,然后以后就不用輸入sudo了
# visudo
User_Alias ADMINS = yidao, test…
ADMINS ALL=(root) /bin/su -
====PAM模塊(Pluggable Authentication Modules)====
可以編輯/etc/nologin.txt讓shell為/sbin/nologin的用戶登錄時候顯示消息給他看
PAM會調用在目錄/etc/pam.d/command文件對每個command進行認證,文件名與程序名一樣
====查詢用戶:====
w/who/last/lastlog 不解釋
用戶對談:write,mesg,wall
先用w查看當前用戶
# write 用戶賬號 [用戶所在終端接口]
# write yidao [pts/2]
最后按CTRL + D結束輸入
# mesg [-n|y] ==> 查看自己的消息,-n禁止別人的彈出消息
# wall ”Hello everybody…” ==> 廣播
====用戶郵件====
# mail username@localhost -s “郵件標題”
正文結束時,最后一行輸入一個.即可
==============================END==============================
相關文章
Fedora Linux 42 穩(wěn)定版發(fā)布: 帶來大量新功能和軟件更新
Fedora 42昨日發(fā)布,這是 Red Hat 贊助開發(fā)的杰出前沿 Linux 發(fā)行版的最新版,包含大量新功能和軟件更新,使其成為 2025 年上半年發(fā)布的一款出色的 Linux 操作系統(tǒng)之一,內2025-04-16如何在Linux查看硬盤信息? 查看Linux硬盤大小類型和硬件信息的5種方法
使用Linux系統(tǒng)的過程中,查看和了解硬盤信息是非常重要的工作,尤其是對于系統(tǒng)管理員而言,那么在Linux系統(tǒng)中如何查看硬盤信息?以下是具體內容介紹2025-03-12如何在 Linux 中查看 CPU 詳細信息? 3招輕松查看CPU型號、核心數和溫度
在日常運維工作中,獲取 CPU 信息是系統(tǒng)運維管理員常見的工作內容,無論是為了性能調優(yōu)、硬件升級還是僅僅滿足好奇心2025-03-11什么是 Arch Linux? 獨樹一幟的Arch Linux發(fā)行版分析
Arch Linux是為簡化,優(yōu)化,現(xiàn)代化,實用主義,用戶中心和多功能性而創(chuàng)建Linux發(fā)行版,究竟是什么讓 Arch 與眾不同?下面我們就來簡要解讀2025-02-19如何在Linux環(huán)境下制作 Win11裝機U盤?
一直用的linux辦公,想要將筆記本電腦從 Linux 系統(tǒng)切換回 Windows 11,我們可以制作一個win11裝機u盤,詳細如下2025-02-17Rsnapshot怎么用? 基于Rsync的強大Linux備份工具使用指南
Rsnapshot 不僅可以備份本地文件,還能通過 SSH 備份遠程文件,接下來詳細介紹如何安裝、配置和使用 Rsnapshot,包括創(chuàng)建每小時、每天、每周和每月的本地備份,以及如何進2025-02-06Linux Kernel 6.13發(fā)布:附更新內容及新特性解讀
Linux 內核 6.13 正式發(fā)布,新版本引入了惰性搶占支持,簡化內核搶占邏輯,通過減少與調度器相關的調用次數,讓內核在運行時表現(xiàn)更優(yōu),從而提高效率2025-01-23五大特性引領創(chuàng)新! 深度操作系統(tǒng) deepin 25 Preview預覽版發(fā)布
今日,深度操作系統(tǒng)正式推出deepin 25 Preview版本,該版本集成了五大核心特性:磐石系統(tǒng)、全新DDE、Treeland窗口合成器、AI For OS以及Distrobox子系統(tǒng)2025-01-18Linux Mint Xia 22.1重磅發(fā)布: 重要更新一覽
Beta 版 Linux Mint“Xia” 22.1 發(fā)布,新版本基于 Ubuntu 24.04,內核版本為 Linux 6.8,這次更新帶來了諸多優(yōu)化和改進,進一步鞏固了 Mint 在 Linux 桌面操作系統(tǒng)領域的2025-01-16LinuxMint怎么安裝? Linux Mint22下載安裝圖文教程
Linux Mint22發(fā)布以后,有很多新功能,很多朋友想要下載并安裝,該怎么操作呢?下面我們就來看看詳細安裝指南2025-01-16