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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

【AWSL】之Linux账号和权限管理(/etc/passwd、/etc/shadow、useradd、passwd、usermod、groupadd、gpasswd...chmod、chown)

發布時間:2024/9/3 linux 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【AWSL】之Linux账号和权限管理(/etc/passwd、/etc/shadow、useradd、passwd、usermod、groupadd、gpasswd...chmod、chown) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

序言

作為一個多用戶、多服務的服務器操作系統,Linux提供了嚴格的權限管理機制,主要從用戶身份、文件權限兩方面對資源訪問進行限制。
Linux最優秀的地方之一就在于它的多人多任務環境,如果你首次接觸Linux的話,那么在Linux下面這么多的目錄和文件,到底每個目錄和文件代表什么意義呢?下面我就來就此做個總結。

Linux賬號和權限

  • 序言
  • 一.管理用戶賬號和組賬號
    • 1.概述
    • 2.用戶賬號文件/etc/passwd
    • 3.用戶賬號文件/etc/shadow
    • 4.添加用戶賬號useradd
    • 5.設置/更改用戶口令passwd
    • 6.修改用戶賬號的屬性usermod
    • 7.刪除用戶賬號userdel
    • 8.用戶賬號的初始配置文件
    • 9.組賬號文件
      • ①.添加組賬號groupadd
      • ②.添加/刪除組成員gpasswd
      • ③.刪除組賬號groupdel
  • 二.管理目錄和文件的屬性
    • 1.查詢賬號信息
    • 2.文件/目錄的權限和歸屬
    • 3.設置文件/目錄的權限chmod
    • 4.設置文件/目錄的歸屬chown
    • 5.權限掩碼umask
  • 總結

一.管理用戶賬號和組賬號

1.概述

①用戶賬號

  • 超級用戶
  • 普通用戶
  • 程序用戶
    ②組賬號
  • 基本組(私有組)
  • 附加組(公共組)
    ③UID和GID
  • UID(用戶標識符)
  • GID(組標識符)

2.用戶賬號文件/etc/passwd

功能:保存用戶名稱、宿主目錄、登錄Shell等基本信息

  • 文件位置: /etc/passwd
  • 每一行對應一個用戶的賬號記錄👇
    例:
[root@localhost ~]# head -2 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin

第二行: root用戶賬號 x密碼占位符 0用戶賬號ID 0組賬號ID root用戶說明 /root宿主目錄 /bin/bash登錄shell

3.用戶賬號文件/etc/shadow

功能:保存用戶的密碼、賬號有效期等信息

  • 文件位置: /etc/shadow
  • 每一行對應一個用戶的密碼記錄👇
    例:
[root@localhost ~]# head -2 /etc/shadow root:$6$OuUbuwimLtddNnJx$H2ZqO4izXjefcWNo6gFYjW/60AXG6qqgJcCSDRXU2ra/SB0IkjtNMJkawW5Ha89ogVFVMbZomjJ74pmA3fqTC/:14374:0:99999:7::: bin:*:17110:0:99999:7:::

第二行:一字段root用戶賬號 二字段$6$OuUbuwimLtddNnJx$H2ZqO4izXjefcWNo6gFYjW/60AXG6qqgJcCSDRXU2ra/SB0IkjtNMJkawW5Ha89ogVFVMbZomjJ74pmA3fqTC密文密碼 三字段:14374:上次修改的時間(從Linux誕生時間點開始計算) 四字段:0:密碼的最短有效天數(也就是定義多少天之后可以再次修改密碼) 五字段:99999:密碼最長有效天數(也就是密碼可以存在多少天) 六字段:7:提前多少天警告用戶密碼過期時間 七字段密碼過期后多少天內禁用此用戶 八字段賬號時間(空的代表賬號永久可用) 九字段保留字段(沒有特殊用途)

擴展 :*!!:表示此用戶不能登錄到系統
這里如果是空的::表示用戶無需密碼登錄

4.添加用戶賬號useradd

常用選項:

  • -u:指定用戶的UID號,要求該UID號碼未被其他用戶使用。
  • -d:指定用戶的宿主目錄位置(當與-M一起使用時,不生效)
  • -e:指定用戶的賬戶失效時間,可使用YYYY-MM-DD的日期格式。
  • -g:指定用戶的基本組名(或使用GID號)
  • -G:指定用戶的附加組名(或使用GID號)
  • -M:不建立宿主目錄,即使/etc/login.defs系統配置中已設定要建立宿主目錄。
  • -s:指定用戶的登錄Shell (-s /sbin/nologin禁止用戶登錄)

附加1:

/etc/login.defs 是設置用戶帳號限制的文件。該文件里的配置對root用戶無效。
如果/etc/shadow文件里有相同的選項,則以/etc/shadow里的設置為準,也就是說/etc/shadow的配置優先級高于/etc/login.defs
#REQUIRED required
#Directory where mailboxes reside, or name of file, relative to the
#home directory. If you do define both, MAIL_DIR takes precedence.
#QMAIL_DIR is for Qmail

#QMAIL_DIR Maildir
MAIL_DIR /var/spool/mail
#創建用戶時,要在目錄/var/spool/mail中創建一個用戶mail文件
#MAIL_FILE .mail
#Password aging controls:

#PASS_MAX_DAYS Maximum number of days a password may be used.
#PASS_MIN_DAYS Minimum number of days allowed between password changes.
#PASS_MIN_LEN Minimum acceptable password length.
#PASS_WARN_AGE Number of days warning given before a password expires.

PASS_MAX_DAYS 99999
#密碼最大有效期
PASS_MIN_DAYS 0
#兩次修改密碼的最小間隔時間
PASS_MIN_LEN 5
#密碼最小長度,對于root無效
PASS_WARN_AGE 7
#密碼過期前多少天開始提示

#Min/max values for automatic uid selection in useradd
#創建用戶時不指定UID的話自動UID的范圍
UID_MIN 500
#用戶ID的最小值
UID_MAX 60000
#用戶ID的最大值

#Min/max values for automatic gid selection in groupadd
#自動組ID的范圍
GID_MIN 500
#組ID的最小值
GID_MAX 60000
#組ID的最大值

#If defined, this command is run when removing a user.
#It should remove any at/cron/print jobs etc. owned by
#the user to be removed (passed as the first argument).

#USERDEL_CMD /usr/sbin/userdel_local
#當刪除用戶的時候執行的腳本

#If useradd should create home directories for users by default
#On RH systems, we do. This option is overridden with the -m flag on
#useradd command line.

CREATE_HOME yes
#使用useradd的時候是夠創建用戶目錄
#The permission mask is initialized to this value. If not specified,
#the permission mask will be initialized to 022.
UMASK 077
#This enables userdel to remove user groups if no members exist.

USERGROUPS_ENAB yes
#用MD5加密密碼

附加2:

chage命令:用來修改帳號和密碼的有效期限,針對目前系統已經存在的用戶
chage [選項] 用戶名
-m:密碼可更改的最小天數。為零時代表任何時候都可以更改密碼。
-M:密碼保持有效的最大天數。chage -M 60 root
-w:用戶密碼到期前,提前收到警告信息的天數。
-E:帳號到期的日期。過了這天,此帳號將不可用。
-d:上一次更改的日期。
-i:停滯時期。如果一個密碼已過期這些天,那么此帳號將不可用。
-l:例出當前的設置。由非特權用戶來確定他們的密碼或帳號何時過期。
例:chage -E 2019-04-29 test //其中,test為用戶,用戶將在2019年4月29日失效(不可登錄)
chage -d 2019-06-30 test //設置test用戶最后一次修改密碼的日期為2019年6月30日
chage -d 0 test //則代表該test用戶需立即修改密碼
date -d “+45 days” -u //如果不知道時間可以用date查看
-u:UTC時間
[root@localhost ~]# chage -l root
最近一次密碼修改時間 :從不
密碼過期時間 :從不
密碼失效時間 :從不
帳戶過期時間 :從不
兩次改變密碼之間相距的最小天數 :0
兩次改變密碼之間相距的最大天數 :99999
在密碼過期之前警告的天數 :7
總結:
第三個字段為:密碼最后一次修改的時間 (chage -d)
第四個字段為:密碼最小修改間隔時間 (chage -m)
第五個字段為:密碼的有效期 (chage -M)
第六個字段為:密碼需要變更前的警告天數 (chage -W)
第七個字段為:密碼過期后的寬限天數 (chage -I)
第八個字段為:賬號失效時間 (chage -E)

5.設置/更改用戶口令passwd

常用選項:

  • -d 清空指定目錄密碼
  • -l(passwd -l 用戶名)鎖定用戶賬號 (即登錄不了賬號)
  • -S 查看用戶的狀態(有無被鎖定)
  • -u 解鎖用戶賬號

6.修改用戶賬號的屬性usermod

常用選項:
-l 更改用戶的登錄名稱(Login Name)
-L 鎖定用戶賬號
-U 解鎖用戶賬號
-u、-d、-e、-g、-G、-s與useradd命令中的含義相同

7.刪除用戶賬號userdel

  • userdel -r 表示連用戶的宿主目錄一并刪除
[root@localhost-#useradd stu01 [root@localhost-#Is -d /home/stu01/ drwx-----2 stu01 stu01 4096 09-09 12:38 /home/stu01/ [root@localhost-#userdel-r stu01 [root@localhost-#Is-ld /home/stu01/ Is: /home/stu01/:沒有那個文件或目錄

8.用戶賬號的初始配置文件

文件來源

  • 新建用戶賬號時,從/etc/skel目錄中復制而來

主要的用戶配置文件

  • ~/.bash_profile(文件中命令,啟動文件)
  • ~/.bashrc(文件中命令,啟動文件)
  • ~/.bash_logout(每次用戶退出exit時執行這個文件)

9.組賬號文件

與用戶賬號文件相類似

  • /etc/group:保存組賬號基本信息
  • /etc/gshadow:保存組賬號的密碼信息

①.添加組賬號groupadd

命令:groupadd【-g GID號】 組賬號名

②.添加/刪除組成員gpasswd

gpasswd:設置組賬號密碼(極少用)、添加/刪除組成員
命令:gpasswd 【選項】… 組賬號名
常用選項:
-a:向組內添加一個用戶

groupadd -g 1200 market
useradd mike
gpasswd -a mike market 將mike加入到market組中

-d:從組內刪除一個用戶成員

-M:定義組成員列表,以逗號分開

③.刪除組賬號groupdel

命令:groupdel 組賬號名

二.管理目錄和文件的屬性

1.查詢賬號信息

  • group 用戶名 查詢用戶所屬的組
  • id 用戶名 查詢用戶身份標識
  • finger 用戶名 查詢用戶賬號的詳細信息
  • w、who、users 查詢已登錄到主機的用戶信息

2.文件/目錄的權限和歸屬

■訪問權限

  • 讀取r:允許查看文件內容、顯示目錄列表
  • 寫入w:允許修改文件內容,允許在目錄中新建、移動、刪除文件或子目錄
  • 可執行x:允許運行程序、切換目錄
    ■歸屬(所有權)
  • 屬主:擁有該文件或目錄的用戶帳號
  • 屬組:擁有該文件或目錄的組帳號

3.設置文件/目錄的權限chmod

命令:chmod 【ugoa】 【+ - =】【rwx】文件或目錄
u、g、o、a分別表示屬主、屬組、其他用戶、所有用戶
+、-、=分別表示增加、去除、設置權限
r. w, x分別表示讀、寫、運行權限

chmod nnn 文件或目錄
nnn 三位八進制數

常用選項:
-R:遞歸修改指定目錄下所有子項的權限

4.設置文件/目錄的歸屬chown

■命令:
chown 屬主 文件或目錄
chown :屬組 文件或目錄
chown屬主:屬組 文件或目錄

■常用選項:
-R:遞歸修改指定目錄下所有文件、子目錄的歸屬

5.權限掩碼umask

■umask作用

  • 控制新建的文件或者目錄的權限
  • 默認權限去除umask的權限為新建的文件或者目錄的權限
    ■umask設置: umask 022 =chmod 755
    ■umask查看: umask
    ■示例
  • 將umask設為000, 新建目錄或者文件,查看權限
  • 將umask設為022,新建目錄或者文件,再查看權限

總結

  • Linux操作系統資源可以被不同用戶使用,每個用戶對自己的資源有特定的權限,互不影響。
  • 我們在使用命令的時候,其實有很多地方是相通的,比如查找命令ls 的選項-R 和設置權限命令 chmod 的選項-R ,都是表示以遞歸的方式去執行某種操作。所以說,在Linux系統中,沒有絕對的方法,解決一個問題是有很多種方案的。
  • 希望能給正在學習Linux的朋友帶來幫助

總結

以上是生活随笔為你收集整理的【AWSL】之Linux账号和权限管理(/etc/passwd、/etc/shadow、useradd、passwd、usermod、groupadd、gpasswd...chmod、chown)的全部內容,希望文章能夠幫你解決所遇到的問題。

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