在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux學習之用戶管理

馬哥Linux運維 ? 來源:未知 ? 2024-11-25 10:47 ? 次閱讀

Linux學習——用戶管理

1用戶/組概覽

Linux系統是多用戶、多任務的分時操作系統,系統上每一個進程都有一個特定的文件,每個文件都被一個特定的用戶所擁有。如果需要使用系統資源,首先必須向系統超級用戶申請成為普通用戶,然后以普通用戶的身份進入系統。超級用戶可以對普通用戶進行跟蹤,并設置他們的訪問權限,這樣可以保證系統的安全。
每個用戶都屬于一個用戶組或者多個組,系統可以對—個用戶組中的所有用戶進行集中管理。組與組的控制權限是不同的,系統根據不同的需求,把用戶分別放在不同的組中,

3.1.1 用戶標識 :UID與GID

每個用戶都有唯一的系統可識別的UID,它類似與居民身份證編號。

” id “ ——查看當前用戶登錄信息,UID為用戶的ID,GID為用戶所屬組的ID,groups為用戶所屬于的所有組的ID

[root@localhost ~]# id
uid=0(root) gid=0(root) 組=0(root) 環境=unconfined_uunconfined_tc0.c1023

” ll “——查看文件的所有者

[root@localhost ~]# ll /home
總用量 12
drwxrwxrwx.  2 root     root       31 10月 18 15:21 dir01
drwxr-sr-x.  2 root     hr         19 10月 18 15:11 hr
drwx------.  3 linux    linux      78 11月  1 15:19 linux
drwx------.  3 linux01  linux01    78 11月  1 15:22 linux01
drwx------.  3 linux02  linux02    78 11月  1 15:22 linux02
drwx------.  3 linux03S linux03S   78 11月  1 15:22 linux03S
drwx------. 17 none     none     4096 11月 15 15:19 none
drwx------.  5 qf01     qf01      123 10月 18 14:50 qf01
drwx------.  3 qf02     qf02       78 10月 11 14:15 qf02
drwx------. 15 siso     siso     4096 11月  8 14:50 siso
drwx------.  3 tom      tom        78 10月 18 14:05 tom
drwx------.  3     1003 user06     78 9月  27 14:34 user03
drwx------. 15 user05   user05   4096 9月  27 15:19 user05
drwx------.  6 user06   user06    120 9月  27 15:21 user06
drwx------.  3 ysq      ysq        78 11月 14 22:22 ysq

” ps aux |less “ 查看進程

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.1 193908  7060 ?        Ss   12:00   0:26 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2  0.0  0.0      0     0 ?        S    12:00   0:00 [kthreadd]
root          4  0.0  0.0      0     0 ?        S<   12:00   0:00 [kworker/0:0H]
root          6  0.0  0.0      0     0 ?        S    12:00   0:00 [ksoftirqd/0]
root          7  0.0  0.0      0     0 ?        S    12:00   0:00 [migration/0]
root          8  0.0  0.0      0     0 ?        S    12:00   0:00 [rcu_bh]
root          9  0.0  0.0      0     0 ?        S    12:00   0:20 [rcu_sched]
root         10  0.0  0.0      0     0 ?        S<   12:00   0:00 [lru-add-drain]
root         11  0.0  0.0      0     0 ?        S    12:00   0:00 [watchdog/0]
root         12  0.0  0.0      0     0 ?        S    12:00   0:00 [watchdog/1]
root         13  0.0  0.0      0     0 ?        S    12:00   0:00 [migration/1]
root         14  0.0  0.0      0     0 ?        S    12:00   0:00 [ksoftirqd/1]
root         16  0.0  0.0      0     0 ?        S<   12:00   0:00 [kworker/1:0H]
root         17  0.0  0.0      0     0 ?        S    12:00   0:00 [watchdog/2]
root         18  0.0  0.0      0     0 ?        S    12:00   0:00 [migration/2]
root         19  0.0  0.0      0     0 ?        S    12:00   0:00 [ksoftirqd/2]
root         21  0.0  0.0      0     0 ?        S<   12:00   0:00 [kworker/2:0H]
root         22  0.0  0.0      0     0 ?        S    12:00   0:02 [watchdog/3]
root         23  0.0  0.0      0     0 ?        S    12:00   0:00 [migration/3]
root         24  0.0  0.0      0     0 ?        S    12:00   0:00 [ksoftirqd/3]

安裝Apache服務器,重啟服務后,使用”ps aux “命令可以查看運行的http進程的用戶名

[root@localhost ~]# yum -y install httpd //安裝軟件包
[root@localhost ~]# systemctl start httpd //重啟服務
[root@localhost ~]# ps aux | grep httpd
root      43382  0.0  0.0 112824   988 pts/1    S+   21:56   0:00 grep --color=auto httpd

3.1.2 用戶/組相關文件

在Linux系統中,所有用戶的用戶名和密碼都存放在/etc/passw和/etc/shadow這兩個文件中。
在/etc/passwd文件中,一行記錄對應一個用戶,每行記錄又被冒號(:)分隔為7個字段, 依次為用戶名稱、密碼占位符、用戶UID、主組GID、注釋性描述、用戶主目錄、用戶的Shell,具體如下所示。

[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt

在/etc/shadow 文件中,每行記錄也由冒號分隔為9個字段, 依次為用戶名稱、加密后的密碼、最近改動密碼時間、密碼不可變更時間(99999 為沒有限制)、密碼重新變更時間、密碼過期時間、密碼過期寬恕時間、用戶失效時間、保留,具體如下所示。

[root@localhost ~]# cat /etc/shadow
root:$6$B5PGgwIX$1O51A5REbQ7GGaD71YI/vNEUNQIRebdO3cRWSLwt7Ezt91JEKiYo3uu8ATKETRYfV99YzIa/jjvzCZZ./K51x1:19655:0:99999:7:::
bin:*:18353:0:99999:7:::
daemon:*:18353:0:99999:7:::
adm:*:18353:0:99999:7:::
lp:*:18353:0:99999:7:::
sync:*:18353:0:99999:7:::
shutdown:*:18353:0:99999:7:::
halt:*:18353:0:99999:7:::

第 2個字段又分為三部分: $6 表示加密算法的$id, $id 包括$1(MD5)、$5(SHA-256)、$6(SHA-512), $id號越大加密程度越高; $iXOPTKmyXMvd/uDJ表示 salt值(這個值是由系統隨機生成的,若兩個用戶使用同一個密碼,由于系統為它們生成的 salt值不同,哈希值也是不同的); 最后一個$后的內容是系統產生的哈希值。$id+salt值+哈希值就是最終的加密密碼。
例如,創建密碼一樣的兩個用戶,查看哈希值,具體如下所示。

qf1:$6$8FtewMfM$RPD0aIuDGmpE. rAMt7GKCWP8jNs2TtG3nmxbRFqdwm/r3T91R7A4jfTimRj/qbEH
PbXQ6ncIcZtryXV2E5MPK.:
qf2:$6$FRsRAaAa$WJuDA0I8w7aM5t. L8484mVRd/defTv44xi. PNjxv1G7XpKJQGCvH8R492ZDs6Bdo
PIMjoMTpn18f15c5Ipwtt0:

注意,從CentOS 6開始, UID為0是特權用戶, UID為1~499是系統用戶, UID為500 以上是普通用戶。

3.1.3 用戶管理類型

1.超級管理員用戶
超級管理員主要識別是否是root和#這兩個必備的條件來確定當前狀態下是否為管理員用戶
超級管理員用戶的權限的特點是可以使用所有系統及程序命令在Linux操作系統中,UID是指用戶ID(User ID),是Linux系統中用來標識用戶的數字ID。每個用戶在Linux系統中都有一個唯一的UID,這個UID是系統內部用來識別不同用戶的數字編號,系統管理員可以用這個UID來對不同用戶進行管理和授權。
在Linux中,UID為0的用戶是超級管理員(也就是root用戶),其余用戶通常是從1000開始分配的非特權用戶。當一個用戶創建了一個文件或目錄時,該文件或目錄的所有者UID就會設置為該用戶的UID。UID也用于系統安全性方面的考慮,因為只有UID為0的超級管理員才能進行關鍵系統操作,其他用戶只能按照分配給他們的權限執行相應的操作。因此,使用UID和權限機制可以保證系統的安全性和穩定性。
2.普通用戶
普通用戶主要是以#標識來參考當前狀態下是否為普通用戶,與超級管理員不同的是普通用戶只可以使用有限的系統命令和具有使用權限的程序命令。
在Linux系統中,UID從0到999是保留給系統內部特定用戶(例如,root用戶)和特殊組的,因此,普通用戶的UID通常從1000開始。在大多數Linux發行版中,普通用戶的UID編號范圍通常是1000到65535。
3.程序用戶
程序用戶是比較特殊的一種用戶、程序用戶可以運行指令但不允許登錄系統和創建家目錄
UID編號范圍也與普通用戶和超級管理員用戶大不相同,程序用戶的UID編號范圍通常是1到999。

3.2 管理用戶/組

管理用戶與用戶組主要是創建、更改、刪除等操作

3.2.1 創建用戶/組

“useradd”——創建用戶

[root@localhost ~]# useradd qf1
[root@localhost ~]# grep "qf1" /etc/passwd /etc/passwd /etc/group
/etc/passwd:qf1:x:1015:1015::/home/qf1:/bin/bash
/etc/passwd:qf1:x:1015:1015::/home/qf1:/bin/bash
/etc/group:qf1:x:1015:
[root@localhost ~]# ls /home/
dir01  linux    linux02   none  qf02  siso  user03  user06
hr     linux01  linux03S  qf01  qf1   tom   user05  ysq
[root@localhost ~]# ls /var/spool/mail/
linux    linux02   none  qf02  root  siso  user03  user06
linux01  linux03S  qf01  qf1   rpc   tom   user05  ysq

useradd命令中的參數

參數 說明
-d 指定用戶的主目錄
-u 指定用戶特定的UID(整數)
-g 指定用戶主組的名稱或UID
-G 指定用戶的附加組列表
-s 指定用戶的登錄shell


“ groupadd ”——創建用戶組

“useradd -G”——創建用戶,并指定已存在的附加組

[root@localhost ~]# groupadd hh
[root@localhost ~]# groupadd hhh
[root@localhost ~]# useradd qf2 -G hh
[root@localhost ~]# useradd qf3 -G hh,hhh
[root@localhost ~]# id qf2
uid=1016(qf2) gid=1016(qf2) 組=1016(qf2),2006(hh)
[root@localhost ~]# id qf3
uid=1017(qf3) gid=1017(qf3) 組=1017(qf3),2006(hh),2007(hhh)

“groupadd -g/gid”——指定組的GID

[root@localhost ~]# groupadd hhhh -g 2000
groupadd:GID “2000”已經存在
[root@localhost ~]# groupadd hhhh -g 1802
[root@localhost ~]# grep "hhhh" /etc/group
hhhh1802:

“usermod/gpasswd” ——修改一些錯誤的設置數據

[root@localhost ~]# useradd qf4 -G hh
[root@localhost ~]# id qf4
uid=1018(qf4) gid=1018(qf4) 組=1018(qf4),2006(hh)
[root@localhost ~]# gpasswd -d qf4 hh
正在將用戶“qf4”從“hh”組中刪除
[root@localhost ~]# id qf4
uid=1018(qf4) gid=1018(qf4) 組=1018(qf4)
[root@localhost ~]# gpasswd -a qf4 hhh
正在將用戶“qf4”加入到“hhh”組中
[root@localhost ~]# id qf4
uid=1018(qf4) gid=1018(qf4) 組=1018(qf4),2007(hhh)

用戶組的信息存在/etc/group文件中

[root@localhost ~]# tail /etc/group
sie2004:ysq
robot2005:ysq
mysql27:
qf011014:
qf11015:
hh2006:qf2,qf3
hhh2007:qf3,qf4
qf21016:
qf31017:
qf41018:

3.2.2 刪除用戶/組

“userdel” ——刪除用戶

“userdel -r”——同時在/home目錄與mail spool中刪除用戶

“userdel rm -rf ”——用戶不存在,手動刪除

root@localhost ~]# id qf4
uid=1018(qf4) gid=1018(qf4) 組=1018(qf4),2007(hhh)
[root@localhost ~]# userdel qf4
[root@localhost ~]# id qf4
id: qf4: no such user
[root@localhost ~]# ls /home
dir01  linux    linux02   none  qf02  qf2  qf4   tom     user05  ysq
hr     linux01  linux03S  qf01  qf1   qf3  siso  user03  user06
[root@localhost ~]# ls /var/spool/mail
linux    linux02   none  qf02  qf2  qf4   rpc   tom     user05  ysq
linux01  linux03S  qf01  qf1   qf3  root  siso  user03  user06
[root@localhost ~]# userdel -r qf3
[root@localhost ~]# ls /home
dir01  linux    linux02   none  qf02  qf2  siso  user03  user06
hr     linux01  linux03S  qf01  qf1   qf4  tom   user05  ysq
[root@localhost ~]# ls /var/spool/mail
linux    linux02   none  qf02  qf2  root  siso  user03  user06
linux01  linux03S  qf01  qf1   qf4  rpc   tom   user05  ysq

“groupdel”——刪除用戶組,如果某個初始用戶正在使用該用戶組,則無法刪除,此時需要修改該用戶的GID或者直接刪除該用戶

[root@localhost ~]# grep "hhhh" /etc/group
hhhh1802:
[root@localhost ~]# groupdel hhhh
[root@localhost ~]# grep "hhhh" /etc/group

3.2.3 修改用戶密碼

任何用戶都可以通過 passwd 命令修改自己的密碼。只有root 用戶可以修改其他用戶的密碼。普通用戶修改密碼需要提供原密碼,對新密碼要求也比較苛刻,root 用戶修政普通用戶的密碼則不需要提供原密碼。當新密碼個足 8位時,系統給予警告。

[root@localhost ~]# passwd qf1

3.2.4 安全用戶

“ userdd -s ”——指定用戶的登錄Shell為sbin/nologin,可以將其設置為安全用戶

[root@localhost ~]# useradd qf8 -s /sbin/nologin
[root@localhost ~]# tail -2 /etc/passwd
qf2:x:1016:1016::/home/qf2:/bin/bash
qf8:x:1017:1017::/home/qf8:/sbin/nologin

查看可登錄當前系統的用戶

[root@localhost ~]# grep "bash$" /etc/passwd
root:x:0:0:root:/root:/bin/bash
none:x:1000:1000:None:/home/none:/bin/bash
user05:x:1004:1006::/home/user05:/bin/bash
qf02:x:1006:2002::/home/qf02:/bin/bash
tom:x:1007:1007::/home/tom:/bin/bash
linux:x:1008:1008::/home/linux:/bin/bash
linux01:x:1009:1009::/home/linux01:/bin/bash
linux02:x:1010:1010::/home/linux02:/bin/bash
linux03S:x:1011:1011::/home/linux03S:/bin/bash
siso:x:1012:1012::/home/siso:/bin/bash
ysq:x:1013:1013::/home/ysq:/bin/bash
qf01:x:1014:1014::/home/qf01:/bin/bash
qf1:x:1015:1015::/home/qf1:/bin/bash
qf2:x:1016:1016::/home/qf2:/bin/bash

“which reboot ”——查看reboot命令的絕對路徑

[root@localhost ~]# which reboot
/usr/sbin/reboot
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
[root@localhost ~]# setenforce 0 //臨時關閉Selinux
[root@localhost ~]# getenforce //查看Selinux狀態
Permissive

3.2.5 配置文件

/etc/login.defs與/etc/default/useradd是命令useradd的配置文件,決定useradd創建用戶默認的數,文件中的配置對root用戶無效。

第15行為郵件目錄

#QMAIL_DIR      Maildir
MAIL_DIR        /var/spool/mail
#MAIL_FILE      .mail

# Password aging controls:

第25~28行為密碼相關配置

PASS_MAX_DAYS   99999
PASS_MIN_DAYS   0
PASS_MIN_LEN    5
PASS_WARN_AGE   7

第71行為密碼加密算法配置

# Use SHA512 to encrypt password.
ENCRYPT_METHOD SHA512

/etc/default/useradd文件:

# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

3.2.6 su/sudo 命令

" su "——切換用戶

[none@localhost ~]$ whoami
none
[none@localhost ~]$ su -
密碼:
上一次登錄:五 11月 24 23:29:31 CST 2023pts/2 上
[root@localhost ~]# su none
[none@localhost root]$ 

“ sudo ”——只有加入wheel組才可以使用此命令,用戶在使用sudo時,必須先輸入密碼,之后有五分鐘的有效時間,超過時限必須重新輸入密碼。

[root@localhost ~]# useradd qf9 -G wheel
[root@localhost ~]# id qf9
uid=1018(qf9) gid=1018(qf9) 組=1018(qf9),10(wheel)
[root@localhost ~]# su none
[none@localhost root]$ useradd qf10
useradd: Permission denied.
useradd:無法鎖定 /etc/passwd,請稍后再試。
[none@localhost root]$ sudo useradd qf10
[sudo] none 的密碼:
[none@localhost root]$ sudo id qf10
uid=1019(qf10) gid=1019(qf10) 組=1019(qf10)

3.3 本章小結

本章首先介紹了用戶與用戶組標識符的意義,用戶的shell作用以及如何對用戶/用戶組進行增、刪、改、查等操作;其次,講解了如何設置/etc/passwd與/etc/shadow這兩個重要文件以及useadd的文件配置;最后演示了用戶如何使用su命令進行身份切換,普通用戶如何使用sudo命令提權。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11335

    瀏覽量

    210086
  • 操作系統
    +關注

    關注

    37

    文章

    6874

    瀏覽量

    123568

原文標題:Linux學習——用戶管理

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linux學習之路47_用戶管理_su與sudo #linux #linux嵌入式開發 #硬聲創作季

    Linux開發用戶權限
    fly
    發布于 :2022年08月25日 23:03:30

    《深入理解LINUX內存管理學習筆記

    《深入理解LINUX內存管理學習筆記1
    發表于 11-07 10:20

    郝健Linux內存管理學習筆記分享

    郝健 Linux內存管理學習筆記-第3節課
    發表于 06-10 08:55

    Linux如何管理用戶用戶組?

    用戶用戶管理的作用Linux如何管理用戶用戶
    發表于 12-17 07:41

    初識Linux系統學習內容

    學習目標:初識Linux系統學習內容:掌握一些簡單的Linux語句學習時間:1 周一下午2 周二上午3 周三下午
    發表于 12-22 06:37

    linux學習資料下載

    linux學習資料有以下內容:Linux系統管理員指南,Linux基本教程,Linux掃描式教程
    發表于 10-07 11:22 ?48次下載
    <b class='flag-5'>linux</b><b class='flag-5'>學習</b>資料下載

    linux存儲器管理

     linux存儲器管理 本章主要講解了存儲器管理的基本方式,剖析了Linux 操作系統對內存的管理模式。通過對本章
    發表于 04-28 15:01 ?0次下載

    淺談Linux用戶管理

    文中對在Linux環境下如何創建、修改、刪除用戶用戶組,限制用戶使用磁盤空間和為普通用戶設置特殊權限等方面進行了探討,提出了一些常用方法。
    發表于 02-27 11:37 ?24次下載

    JAVA教程之用GZIP壓縮解壓文件

    JAVA教程之用GZIP壓縮解壓文件,很好的JAVA的資料,快來學習
    發表于 04-11 17:28 ?6次下載

    JAVA教程之用Zip壓縮多個文件

    JAVA教程之用Zip壓縮多個文件,很好的JAVA的資料,快來學習
    發表于 04-11 17:28 ?3次下載

    linux教程入門教程之linux學習視頻

    本文檔的主要內容是linux教程入門教程的linux學習視頻快速上手Linux 玩轉典型應用 Linux是一套免費使用和自由傳播的類Uni
    發表于 08-28 14:40 ?14次下載

    如何才能管理Linux中的用戶活動

    如果要管理Linux服務器,則需要準備好使用幾個命令來檢查用戶活動-用戶何時連接以及他們連接的頻率、所屬的用戶組以及使用了多少空間、是否在讀
    的頭像 發表于 07-04 11:38 ?2538次閱讀

    UM1668_STM32439-EVAL評估板之用戶手冊

    UM1668_STM32439-EVAL評估板之用戶手冊
    發表于 11-22 19:09 ?0次下載
    UM1668_STM32439-EVAL評估板<b class='flag-5'>之用戶</b>手冊

    Linux用戶管理詳解

    用戶分為普通用戶和超級用戶,超級用戶在Windows系統中為Administrator在Linux系統中為root。登陸
    的頭像 發表于 11-01 09:48 ?213次閱讀
    主站蜘蛛池模板: 成 人 在 线 免费 8888 www| 中文字幕一区二区三区乱码aⅴ| 深夜视频免费看| 天天做天天爱天天做天天吃中| 亚洲精品九色在线网站| 天天综合久久久网| 人人艹在线观看| 国产精品视频久久久久久| 宅男lu66国产在线播放| 114毛片免费观看网站| 欧美不卡视频在线观看| 妖精视频一区二区三区| 四虎影永久地址www| 免费看黄色网页| 大片毛片女女女女女女女| 午夜视频在线看| 国产呦精品系列在线| 555夜色555亚洲夜色| 好爽好黄的视频| 四虎在线观看免费永久| 你懂的手机在线| 97伊人| 免费看久久| 亚洲一区二区中文| 亚洲色图2| 年轻护士3的滋味| www.久久精品视频| 欧美黑人粗硬大在线看| 黄色大秀| 一级黄免费| 欧美1区| 91精品欧美激情在线播放| 日日操天天射| 国产欧美日韩haodiaose| 在线激情网址| 女人张开腿让男人桶免费网站| 成人女人a毛片在线看| 欧美福利二区| 天堂一区二区三区在线观看| 特级毛片免费看| 国产精品免费拍拍拍|