網(wǎng)站首頁 編程語言 正文
一、用戶及用戶組存在的意義
1)用戶存在的意義
系統(tǒng)的資源是有限的,如何合理分配系統(tǒng)資源?
1.身份 account
2.授權 author
3.認證 auth
以上3個 'a' 稱為3A機制,3A機制組成系統(tǒng)中最底層的安全架構。
2)用戶組存在的意義
用戶組是一個邏輯容器,對用戶進行歸類和統(tǒng)一授權。
簡單說用戶組就像是我們在學校的時候的班級或者社團組織一樣,你在的班級被賦予了什么權利,你在社團中的部門有什么權力,那你就有什么權利。這樣做方便了權力的統(tǒng)一下放。
二、用戶及用戶組在系統(tǒng)中存在的方式
因為計算機對數(shù)字敏感,而我們人對名稱比較敏感,利用這個特性我們在計算機內部可以用數(shù)字和字符串相關聯(lián)的形式存儲用戶。
我們知道,在Linux中一切都是文件,所以用戶也不例外,我們所說的用戶和用戶組其實也就是文件中的一條字符串。
用戶是在/etc/passwd文件中的一行字符 用戶組是在/etc/group文件中的一行字符 vim /etc/passwd 用此命令可以查看passwd文件內容,進而得知用戶信息 vim /etc/group 用此命令可以查看group文件內容,進而得知用戶組信息
但是在文件中查看用戶或用戶組的id信息終究有些麻煩,Linux給我們提供了這樣的命令方便我們查看用戶的相關信息:
whoami 查看當前用戶名稱 id [參數(shù)][用戶名] 查看用戶的id信息,用戶名缺省則查看當前用戶 -u查看用戶的用戶id -g查看用戶的主組id -G查看用戶所有組id -n顯示名稱,不能單獨使用,需要和上面的命令連用來顯示信息 用戶id范圍: 0:超級用戶id 1-999:Linux系統(tǒng)自用id 1000-65535:用戶級id 以上id信息都被記錄在/etc/login.defs
三、用戶涉及到的系統(tǒng)配置文件
/etc/passwd????????用戶身份信息文件
passwd中的字符串意義 用戶名稱:用戶密碼:用戶id:用戶主組id:用戶說明:用戶家目錄:用戶默認shell
/etc/group? ? ? ? 組身份信息文件
組名稱:組密碼:組id:組的附加成員
/etc/skel/.*? ? ? ? 用戶環(huán)境配置文件模板
/etc/shadow? ? ? ? 用戶認證信息文件
/home/username? ? ? ? 用戶家目錄
/var/spool/mail/username? ? ? ? 用戶郵箱文件
四、用戶相關操作
1)用戶和用戶組建立及刪除
我們可以用watch命令來監(jiān)控用戶的創(chuàng)建和刪除
watch -n 1 "tail -n 4 /etc/passwd /etc/group;echo =======;ls -l /home"
用戶建立命令useradd:
useradd username ##用戶建立 -u id username ##指定用戶uid -g id username ##指定主組id -G id username ##指定附加組id -d dir username ##指定用戶的家目錄 -M username ##創(chuàng)建用戶時不自動創(chuàng)建家目錄 -c word username ##創(chuàng)建用戶時指定用戶說明 -s shell username ##指定shell userdel username ##用戶刪除 -r username ##刪除用戶同時刪除家目錄和系統(tǒng)配置文件 groupadd groupname ##組建立 -g id groupname ##指定組id groupdel groupname ##組刪除
2)用戶和用戶組的信息管理
有時候我們在服務器的使用過程中需要更改用戶的相關屬性,雖然我們知道在/etc/passwd文件中用戶是以字符串的形式存儲,并且知道字符串的意義:
用戶名稱:用戶密碼:用戶id:用戶主組id:用戶說明:用戶家目錄:用戶默認shell
那么理所當然我們就可以用root用戶修改這些字段達到更改用戶信息的目的,但是在實際應用中我們并不會這么做,而是使用一些相關命令:
usermod [選項] [參數(shù)] [username] [選項] -l #修改用戶名稱 -u #修改用戶的uid -g #修改用戶主組id -G #修改用戶附加組身份 -aG #添加用戶附加組身份 -c #更改用戶說明文字 -d #更改用戶家目錄指向 -md #同時更改家目錄指向和家目錄名稱 -s #更改默認shell -L #凍結賬號 -U #解鎖賬號
我們的密碼信息存儲在shadow文件中,shadow內容:
用戶名:加密密碼:最后一次修改時間:最小修改時間間隔:密碼有效期:密碼需要變更前的警告天數(shù):密碼過期后的寬限時間:賬號失效時間:保留字段
我們可以用passwd命令來修改密碼相關屬性信息
passwd [選項] [參數(shù)] [username] 如果選項和參數(shù)缺省則修改'username'的密碼 [選項] -S #查看密碼狀態(tài) -l #凍結賬號認證 -u #解鎖賬號認證 -d #刪除用戶密碼 -e #修改默認使用時間為0 -n #設置最短使用時間 -x #設置密碼過期時間 -w #設置過期警告時間 -l #設置非活躍天數(shù) change -d 0 [username] #必須修改密碼才能登陸 change -E "xxxx-xx-xx" [username] #設置凍結日期
五、用戶權力下放
我們在實際中使用服務器,經(jīng)常使用到權力下放,這可以讓我們以更高的權限執(zhí)行一些命令,例如我們可以用權力下放使普通用戶以root身份運行一些命令,這樣我們不用登錄root賬號,在保證了系統(tǒng)安全的同時也達到了我們的目的。
授權方法:
我們可以用visudo命令來修改/etc/sudoers文件(當然我們也可以用vi或者vim修改,但是vi和vim不提供語法檢測,當我們錯誤修改文件之后不方便錯誤查找)
為了方便,我們約定俗成的在文件的100行左右添加權力下放:
username hostname=(newusername) [NOPASSWD:] /command, /command1
六、文件權限查看和讀取
1)權限查看
ls -l file #查看文件權限 ls -ld dir #查看目錄權限
文件權限的信息分為三大類ugo
u代表user也就是文件的所有者 g代表group也就是文件的擁有組 o代表other也就是其他人,和文件的歸屬沒有關系的人 每個大類型中擁有權力的標志位,也就是rwx r代表read也就是讀權限 w代表write也就是寫權限 x代表執(zhí)行權限
我們可以用chmod命令來修改文件相關權限信息
chmod [ugo][+-=][rwx] [filename/dirname] #通過表達式來賦予權限 chmod [xxx] [filename/dirname] #通過數(shù)字來賦予權限 通過對布爾量的理解我們可以對rwx三位進行二進制轉8進制的轉換 分別 r-4 w-2 x-1
S權限
可以用字符串表達式的方式設置S權限,S權限的作用:
當對文件的u位設置s權限的時候,表示文件執(zhí)行者在執(zhí)行時會獲得文件的所有者身份,它只能用在二進制文件上 當對文件的g位設置s權限的時候,表示文件的執(zhí)行者會獲得文件所屬組身份,如果用在目錄上那么在目錄下創(chuàng)建的文件的所屬組將會變成此目錄 Sticky Bit的作用只對目錄生效,效果是在當前目錄下只有文件的所有者可以刪除自己的文件
原文鏈接:https://blog.csdn.net/beijimao_/article/details/121645336
相關推薦
- 2022-11-05 解決使用pip安裝報錯:Microsoft?Visual?C++?14.0?is?required.
- 2022-06-01 Android利用MediaRecorder實現(xiàn)錄音功能_Android
- 2022-05-11 生產(chǎn)事故記錄(tomcat線程池與數(shù)據(jù)庫連接池)與(堆棧信息)Jprofile的使用
- 2022-02-07 使用laravel框架開發(fā)接口時post請求報錯419,get請求正常
- 2022-12-24 C++中STL容器的主要使用及含義說明_C 語言
- 2023-02-01 Flutter?彈性布局基石flex算法flexible示例詳解_Android
- 2022-11-23 shell腳本設置日志格式的方法_linux shell
- 2021-12-06 CentOS環(huán)境使用NFS遠程目錄掛載過程介紹_Linux
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結構-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支