日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用户、组和权限详解

發布時間:2025/5/22 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用户、组和权限详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、用戶user

????在Linux系統上,用戶管理是基于用戶名和密碼的方式進行資源的分配,Linux上的用戶即Username/UID分為以下類別:

????????管理員:root,0;

????????普通用戶:1-65535;

????普通用戶又分為:系統用戶和登錄用戶兩種;

????????系統用戶:1-499(centos6系統)1-999(centos7系統)對守護進程獲取資源進行權限分配;

????????登錄用戶:500+(centos6系統) 1000+(centos7系統)通過交互式方式登錄;

二、組

????Linux組:groupname/GID

????????管理員組:root,0

????????普通組:1-65535

????普通組又分為:系統組和非系統組,我們通常把非系統組就叫普通組;

????????系統組:1-499(centos6系統)1-999(centos7系統)

????????普通組:500+(centos6系統) 1000+(centos7系統)

????組的類別

????????用戶的主組

????????????用戶必須屬于一個且只有一個主組;

????????????組名與用戶名相同,且僅包含一個用戶,也叫私有組;

????????用戶的附加組(輔助組)

????????????一個用戶可以屬于零個或多個附加組;

三、安全上下文

????運行中的程序:進程(process);

????以進程發起者的身份運行:

????????root:/bin/cat;

????????wu:/bin/cat;

????進程所能夠訪問資源的權限取決于進程運行者的身份;

四、用戶和組的配置文件

????Linux用戶和組的主要配置文件:

????????/etc/passwd:用戶及其屬性信息(名稱,UID,主組ID等);

????????/etc/group:組及其屬性信息;

????????/etc/shadow:用戶密碼及其相關屬性;

????????/etc/gshadow:組密碼及其相關屬性;

五、/etc/passwd文件格式

????login name:登錄用戶名;

????passwd:密碼(x);

????UID:用戶身份編號(1000)

????GID:登錄默認所在組編號(1000)

????GECOS:用戶的詳細說明信息;

????home directory:用戶的家目錄

????shell:用戶默認使用shell(/bin/bash)

六、/etc/shadow文件格式

????登錄用戶名;

????加了密的密碼:一般用sha512加密;

????最近一次更改密碼的日期:從1970年1月1日期;

????密碼再過幾天可以被變更(0表示隨時可被變更);

????密碼再過幾天必須被變更(99999表示永不過期);

????密碼過期前幾天系統提醒用戶(默認為一周);

????密碼過期幾天后賬號會被鎖定;

????賬戶的過期日期:從1970年1月1日算起,多少天后賬號失效;

????保留字段;

七、/etc/group文件格式

????組名;

????組密碼:通常不需要設定,密碼是被記錄在/etc/gshadow;

????組id;

????以當前組為附加組的用戶列表(如果有多個,則用逗號隔開);

八、/etc/gshadow文件格式

????組名;

????組密碼;

????組管理員列表:組管理員的列表,更改組密碼和成員;

????以當前組為附加組的用戶列表(如果有多個,則用逗號隔開);

九、密碼加密

????密碼加密解密機制:

????????加密:明文--->密文

????????解密:密文--->明文

????單向加密:提取數據的指紋;

????算法有:md5,sha1,sha224,sha256,sha384,sha512;

????密碼在加密過程中存在雪崩效應,所謂雪崩效應是指初始的條件的微小變動,將會引起結果的巨大改變;

????更改加密算法:authconfig - -passalgo=sha512 - -update


????Linux系統當中的密碼采用定長格式輸出,如下: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ????$6$G.oHUezroD7c.nab$.nlbNZ1IwrA9FabkBLMTFOjMGlu04mZmROXm5HdA5pfK9GLw36hr5KvGmNAuT2eq1ikz8ileDgp.o9u15BW5e0??

????其中,

????????$:為分隔符;

????????6:表示加密算法;? ?

????????G.oHUezroD7c.nab:表示salt;

????密碼的復雜性策略

????????1 使用數字、大寫字母、小寫字母及特殊字符中至少3種;

????????2 足夠長;

????? ? 3 使用隨機密碼;

????????4 定期更換,不要使用最近使用過的密碼;

十、useradd命令

????useradd:創建用戶

????格式:useradd [OPTION] login

????OPTION:

????????-u UID;

????????-o:配合-u選項,不檢查UID的唯一性;

????????-g GID:指明用戶所屬基本組,可為組名,也可以GID;

????????-c "COMMENT":用戶的注釋信息;

????????-d HOME_DIR:以指定的路徑為家目錄;

????????-s SHELL:指明用戶的默認shell程序,可用列表在/etc/shells文件中;

????????-G GROUP1 [GORUP2...]:為用戶指明附加組,組必須事先存在;

????????-N:不創建私用組做主組,使用user組做主組;

????????-r:創建系統用戶(centos6:ID<500,centos7:ID<1000)

? ? eg1:useradd tom(創建用戶時不設置密碼系統默認不讓登入,在/etc/shadow文件里用兩個!!表示)

????????????????

????eg2:也可以用命令設置不讓用戶登入,usermod -L tom(加鎖,不讓tom用戶登入);usermod -U tom(解鎖),如果tom用戶沒有設置密碼,使用-U解鎖時會有個報錯信息,給tom設置個密碼就行了;

????????????????

????eg3:useradd -u 1234 zhang:創建zhang用戶并制定UID;getent passwd root:查看指定用戶配置文件信息(getent=cat /etc/passwd)

????????????????

????eg4:useradd -ou 1234 wang(不檢查用戶UID唯一性)

????????????????

????eg5:useradd -g wang li(指明用戶所屬組);groups li:查看用戶屬于哪個組

????????????????

????eg6:?useradd -G wang,root,bin zhao(指明用戶附加組)

????????????????

????eg7:useradd -d /testdir/zhou zhou(指明用戶家目錄)

????????????????

????ge8:?useradd -s /sbin/nologin mysql(禁止用戶登錄)

????????????????

????eg9:useradd -s /bin/csh hehe(指明用戶shell類型)

????????????????

????eg10:?useradd -rs /sbin/nologin httpd(創建系統用戶并禁止登陸),創建系統用戶不會生成家目錄;

????????????????

????eg11:?useradd -N haha(指明不和用戶名一樣的組做主組,使用user做主組)

????????????????

????eg12:?useradd -c "welcome to xix space" xixi(用戶注釋信息)

????????????????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

十一、新建用戶相關文件和命令

? ? 1 /etc/skel:用戶家目錄的模板文件;

? ? 2 /etc/default/useradd:創建用戶時的默認屬性在文件中用定義;可以使用useradd -D(相當于cat /etc/default/useradd)來修改默認設置,例如:useradd -D -S /bin/csh(修改系統默認shell);

? ? 3 /etc/login.defs:定義一些密碼的最小有效期、密碼到期默認時間、密碼最大有效期等;

????4 newusers:批量創建用戶,格式要和/etc/passwd配置文件一樣;

????? ? 4.1 vim user.txt

????????4.2 添加用戶,如圖所示:

???????? ? ?????

????????4.3 newusers user.txt(批量創建用戶)

????5 chpasswd:批量修改用戶口令

????????5.1 vim pass.txt

????????5.2 添加用戶名和密碼,格式為username:passwd,如圖所示:

????????????????????

????????5.3 cat pass.txt | chpasswd(批量修改用戶口令);

????????5.4 用剛創建的用戶登錄時可以登陸進去,例如:user3,但是家目錄缺少一些文件,運行cp -r /etc/skel/. /testdir/user3或cp -r /etc/skel/.[^.]* /testdir/user3,退出重新登錄即可;? ??

十二、usermod命令

????usermod:修改用戶屬性

????格式:usermod [OPTION] login

????OPTION: ? ?????

????????-u UID: 新UID;

????????-g GID: 新基本組;

????????-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a選項,表示append;

????????-s SHELL:新的默認SHELL;

????????-c 'COMMENT':新的注釋信息;

????????-d HOME: 新家目錄不會自動創建,原家目錄中的文件不會同時移 動至新的家目錄;若要創建新家目錄并移動原家數據,同時使用-m選項;

????????-l login_name: 新的名字;

????????-L: lock指定用戶,在/etc/shadow 密碼欄的增加 !;

????????-U: unlock指定用戶,將 /etc/shadow 密碼欄的 ! 拿掉;

????????-e YYYY-MM-DD: 指明用戶賬號過期日期;

????????-f INACTIVE: 設定非活動期限;

????示例:?

? ? eg:

??????? [root@centos7home]#usermod -u2017 -g wang -G root,bin -s /bin/csh -d /testdir/gentoohome -m-l gentooboom -e 2017-07-31 -f 5 gentoo

??????? [root@centos7 home]#getent passwd gentooboom

gentooboom:x:2017:1235:Gentoo dir:/testdir/gentoohome:/bin/csh

??????? [root@centos7 home]#groups gentooboom

gentooboom : wang root bin

??????? [root@centos7home]#? getent shadow gentooboom????????????????????????????????

gentooboom:!!:17378:0:99999:7:5:17378:

??????? [root@centos7 home]#usermod -G "" gentooboom? ###清空附加組

??????? [root@centos7 home]#groups gentooboom

gentooboom : wang



?十三、userdel命令

??? Usheredl:刪除用戶

??? 格式:usheredl [OPTION]… login

??? OPTION:

??????? -r:刪除用戶家目錄;

十四、id命令

??? Id:查看用戶相關信息;

??? Id [OPTION]… [user]

??? -u:UID

??? -g:GID

??? -G:Groups

??? -n:Name

十五、su命令

??? Su:切換用戶或其他用戶身份執行命令;

??? 格式:so [OPTIONS…] [-] [user [rags…]]???

??? 切換用戶的方式:

??????? Su username:非登錄時切換,即不會讀取目標用戶的配置文件,不改變當前工作目錄;

??????? Su - username:登錄式切換,會讀取目標用戶的配置文件,切換至家目錄,完全切換;

??????? root so至其他用戶無需密碼,非root用戶切換時需要密碼;

??? OPTION:

??????? -l –login:指定登錄用戶名

? ? ? ????? eg:su -l username 相當于su - username

十六、Passwd命令

??? Passwd設置密碼,僅root用戶權限

??? 格式:passwd [OPTIONS] username

??? Passed:修改自己的密碼

??? OPTION:

??????? -l:鎖定指定用戶

??????? -u:解鎖指定用戶

??????? -e:強制用戶下次登錄修改密碼

??? ??? -n middays:指定最短使用期限;

??????? -x maydays:最大使用期限;

??????? -w warn days:提前多少天開始警告;

??????? -I inactive days:非活動期限;

??????? - -stdin:從標準輸入接收用戶密碼;

? ? ? ? ? ? eg:echo centos7 | passwd - -stdin username

十七、chage命令

? ? chage:修改用戶密碼策略

??? 格式:chage [OPTION]… LOGIN

??? OPTION:

??????? -d LAST_DAY(上一次更改的日期)

??????? -E: --expire date EXPIRE_DATE(賬號到期日期)

??????? -I, --inactive INACTIVE(非活動期限)

?-m, --middays MIN_DAYS(密碼可更改的最小天數)

?-M, --maydays MAX_DAYS(保持密碼有效的最大天數)

?-W, --warn days WARN_DAYS(用戶密碼到期前,提前收到警告信息天數)

–l,顯示密碼策略

示例:

Change -d 0 tom 下一次登錄強制重設密碼

change -m 0 –M 42 –W 14 –I 7 tom

change -E 2016-09-10 tom

十八、groupadd命令

??? groupadd:創建組

??? 格式:groupadd [OPTION]… group name

??? OPTION:

??????? -g GID:指明GID號

??????? -r:創建系統組;

??????????? Centos6:ID<500

??????????? Centos7:ID<1000

十九、groupmod命令

? ? groupmod:組屬性修改

??? 格式:groupmod [OPTION]… group

??? OPTION:

??????? -n group_name:新名字

??????? -g GID:新的GID

????????????eg1:修改組名

????????????

二十、groupdel命令

? ? groupdel:刪除組

??? 格式:groupdel GROUP

二十一、gpasswd命令

? ? gpasswd:更改組密碼

??? 格式:gpasswd [OPTION] GROUP

??? OPTION:

??????? -a user:將user添加至指定組中;

??????? -d user:從指定組中移除用戶user

??????? -A user1,user2…:設置有管理權限的用戶列表

????????????eg1:添加用戶到組里

????????????????

二十二、newgrp命令

? ? newgrp:臨時切換基本組

??????? 如果用戶本不屬于此組,則需要密碼;

二十三、groupmems命令

? ? groupmems:查看和更改組成員

??? 格式:groupmems [OPTION] [action]

??? OPTION:

??????? -g, --group group_name 更改為指定組 (只有root)

Actions:

-a, --add username????? 指定用戶加入組

-d, --delete username?? 從組中刪除用戶

-p, --purge???????????? 從組中清除所有成員

-l, --list????????????? 顯示組成員列表

groups [OPTION]… [USERNAME]... 查看用戶所屬組列表

????eg1:查看組成員

????????????

????eg2:向組里添加用戶

????????????

????eg3:刪除組里的用戶

????????????

????eg4:刪除組里所有用戶

????????????

????????????????? ????

二十四、chown命令

? ? chown:修改文件的屬主和屬組

格式:chown [OPTION]…[OWNER] [: [GROUP]] FILE…

用法:

OWNER

OWNER: GROUP

: GROUP

命令中的冒號可用.替換;

-R: 遞歸

chown [OPTION]... --reference=RFILE FILE... ?

二十五、chgrp命令

chgrp:修改文件的屬組

格式:chgrp [OPTION]... GROUP FILE...

chgrp [OPTION]... --reference=RFILE FILE...

-R 遞歸

????注:chown只有root才能執行;chgrp命令只有root、文件所有者執行,文件所有者可將之改為文件所有者所屬的組;

二十六、文件權限

??? 文件的權限主要針對三類對象進行定義:

owner: 屬主,u

group: 屬組,g

other: 其他,o

每個文件針對每類訪問者都定義了三種權限:

r: Readable

w: Writable

x: executable

????文件和目錄各個權限含義

??????? 文件:

????r: 可使用文件查看類工具獲取其內容

????w: 可修改其內容

????x: 可以把此文件提請內核啟動為一個進程?

????目錄:

????r: 可以使用ls查看此目錄中文件列表

????w: 可在此目錄中創建文件,也可刪除此目錄中的文件,修改目錄中的文件

????x: 可以使用ls -l查看此目錄中文件列表,可以cd進入此目錄并且讀目錄內文件內容

????X:只給目錄x權限,不給文件x權限;前提是文件本身無x權限,有的話會加;? ?? ? ?????????

二十七、chmod命令

? ? chmod:修改文件權限

chmod [OPTION]... OCTAL-MODE FILE...

??? OPTIOM:

-R: 遞歸修改權限?

chmod [OPTION]... MODE [, MODE] ... FILE...

MODE:

修改一類用戶的所有權限: u= g= o= up= a= u=, g= ???

修改一類用戶某位或某些位權限 u+? u- g+ g- o+ o- a+ a-

chmod [OPTION]... --reference=RFILE FILE...

參考RFILE文件的權限,將FILE的修改為同RFILE;

??? 權限設置示例:

? ? ? ?chgrp sales test file?

chown rotations test file?

chmod u+wx, g-r, o=ax file?

chmod -R g+rwX /testier?

chmod 600 files?

chown mage testifies

二十八、新建文件和目錄的默認權限

? ? unmask值可以用來保留在創建文件權限

??? 新建文件默認權限:666-umask;

??????? 發現結果有奇數權限+1,偶數權限不變;

??? 新建目錄默認權限:777-umask;

??? 非特權用戶的unmask是002;

??? Root的unmask是022;

??? unmask –S 模式方式顯示 ;

? ? unmask –p 輸出可被調用 ;

全局設置: /etc./basher 用戶設置:~/. basher;

二十九、Linux文件系統上的特殊文件

??? SUID(4), SGID(2), Sticky(1) ?

三種常用權限:r, w, x;user group,other

前提:進程有屬主和屬組;文件有屬主和屬組

(1) 任何一個可執行程序文件能不能啟動為進程:取決發起者對程序文件是否擁有執行權限

(2) 啟動為進程之后,其進程的屬主為發起者;進程的屬組為發起者所屬的組

(3) 進程訪問文件時的權限,取決于進程的發起者

(a) 進程的發起者,同文件的屬主:則應用文件屬主權限

(b) 進程的發起者,屬于文件屬組;則應用文件屬組權限

(c) 應用文件“其它”權限

? ? 1.可執行文件上的SUID權限

? ? ? ?1.1 任何一個可執行程序文件能不能啟動為進程:取決發起者對 程序文件是否擁有執行權限;

? ? ? ?1.2 啟動為進程之后,其進程的屬主為原程序文件的屬主;

? ? ? ?1.3 SUID只對二進制可執行程序有效;

? ? ? ?1.4 SUID設置在目錄上無意義 ;

? ? ? ?1.5 權限設定: chmod u+s FILE... chmod u-s FILE...

????????????eg:

? ?2.可執行文件上的SGID權限

? ? ? ? 2.1 任何一個可執行程序文件能不能啟動為進程:取決發起者對 程序文件是否擁有執行權限;

? ? ? ? 2.2 啟動為進程之后,其進程的屬主為原程序文件的屬組;

????????2.3 作用在二進制程序上:用戶運行改程序時,自動繼承該程序所屬組的權限;

? ? ? ? 2.4 權限設定: chmod g+s FILE... chmod g-s FILE...

????eg:

????????chmod g+s /bin/cat

????????su - wuzhongcheng

????????cat /etc/shadow

????????ll /bin/cat

????????ll /etc/shadow

????????????????


? ? 3.目錄上的SGID權限

? ? ? ?3.1 默認情況下,用戶創建文件時,其屬組為此用戶所屬的主組;

? ? ? ?3.2 一旦某目錄被設定了SGID,則對此目錄有寫權限的用戶在此目錄中創建的文件所屬的組為此目錄的屬組;

? ? ? ?3.3 通常用于創建一個協作目錄;

? ? ? ?3.4 權限設定: chmod g+s DIR... chmod g-s DIR...

????????????????

????????????????


? ? 4.Sticky(粘滯)位

4.1 具有寫權限的目錄通常用戶可以刪除該目錄中的任何文件,無論該文件的權限或擁有權;

4.2 在目錄設置Sticky 位,只有文件的所有者或root可以刪除該文件;

4.3 sticky 設置在文件上無意義;

4.4 權限設定:chmod o+t DIR... chmod o-t DIR...

? ? ? 例如:ls -ld /tmp

??? ????drwxrwxrwt 12 root root4096 Nov 2 15:44 /tmp

????????






三十、設定文件特定屬性

????chattr +i:不能刪除,改名,更改;

????????????????

????chattr +a:只能增加;

????????????????

????lsattr:顯示特定屬性;


三十一、訪問控制列表

? ? 1. ACL:AccessControlList,實現靈活的權限管理;

????2. 除了文件的所有者,所屬組和其它人,可以對更多的用戶設 置權限;

????3. CentOS7.0默認創建的xfs和ext4文件系統有ACL功能;

????4. CentOS7.X之前版本,默認手工創建的ext4文件系統無ACL 功能;

????? ? 4.1 需手動增加:

????????? ? ?tune2fs –o acl/dev/sdb1

???????????? mount –o acl/dev/sdb1? /mnt

????5. ACL生效順序:所有者,自定義用戶,自定義組,其他人;

????

? ?6. 為多用戶或者組的文件和目錄賦予訪問權限rwx

????????????mount -o acl /directory

????????????getfacl file |directory?

????????????setfacl -m?u:wang:rwx file|directory

????????????setfacl -Rm g:sales:rwX directory

????????????setfacl -M?file.acl file|directory

????????????setfacl -m?g:salesgroup:rw file|directory

????????????setfacl -m?d:u:wang:rx? directory

????????????setfacl -x?u:wang? file |directory

????????????setfacl -X file.acl? directory

????????eg1:設定特定的用戶不能對文件進行訪問

????????????????

????????eg2:設定特定用戶能對文件進行讀和修改

????????????????

????????eg3:查看文件設置的acl權限

????????????????

????????eg3:刪除用戶acl權限

????????????????

????????eg4:清空文件上所有acl權限

????????????????

????????eg5:調用已寫好的acl權限文件給指定文件使用(vim acl.txt)

????????????????

????????????????

????????eg6:設置默認acl權限

????????????對文件:

????????????????

????????????對目錄:

????????????????

????????eg7:刪除已寫好文件的acl權限(vim acl.txt)

????????????????

????????????????

??????????????

????7. ACL文件上的group權限是mask 值(自定義用戶,自定義組 ,擁有組的最大權限),而非傳統的組權限;?

????8. getfacl 可看到特殊權限:flags;

????9. 默認ACL權限給了x,文件也不會繼承x權限;

????10. base ACL 不能刪除 ;

????11. setfacl -k dir 刪除默認ACL權限;

????12. setfacl -b file1清除所有ACL權限 ;

????13. getfacl file1 | setfacl--set-file=-file2? 復制file1 的acl權限給file2;


????14. mask只影響除所有者和other的之外的人和組的最大權限 Mask需要與用戶的權限進行邏輯與運算后,才能變成有限的權限(Effective? Permission)

????15. 用戶或組的設置必須存在于mask權限設定范圍內才會生效。

????????setfacl -m mask::rx file?

????????示例:(與mask權限為準,只能小于或等于mask權限)

????????

????????????

???????????? ? ?? ??

? ?

????

? ? ? ??

????????







轉載于:https://blog.51cto.com/yacheng0316/1953985

總結

以上是生活随笔為你收集整理的用户、组和权限详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。