tft每日頭條

 > 生活

 > linux 從入門到放棄權限管理

linux 從入門到放棄權限管理

生活 更新时间:2024-11-22 23:32:56
1、linux操作系統用戶及用戶組

Linux操作系統是多任務(Multi-tasks)多用戶(Multi-users)分時操作系統,linux操作系統的用戶就是讓我們登錄到linux的權限;每當我們使用用戶名登錄操作系統時,linux都會對該用戶進行認證、授權審計等操作。操作系統為了識别每個用戶,會給每個用戶定義一個ID,就是UID。用戶組就相當于多個用戶的容器;在linux系統中,用戶組也有一個ID,GID。

1.1 linux操作系統用戶

在linux中,用戶分為兩大類:管理員用戶和普通用戶,其中普通用戶由分為系統用戶和登錄用戶;

  • 系統用戶:為了能夠讓那些後台進程或服務類進程以非管理員的身份運行,通常需要為此創建多個普通用戶,這類用戶從來不用登陸系統。
  • 登錄用戶:就是我們一般使用登錄linux的用戶。

用戶标識:user id,UID

  • 通常使用16bits二進制數字表示(0-65535)
  • 管理員的用戶标識:0
  • 普通用戶:1-65535
  • 系統用戶:1-499(Centos6)、1-999(Centos7)
  • 登錄用戶:500-60000(Centos6)、1000-60000(Centos7)

​linux通過名稱解析庫“/etc/passwd”文件解析用戶名與用戶ID之間的對應關系。

/etc/passwd:用戶信息庫

name:password:UID:GID:GECOS:directory:shell

1.2 linux操作系統用戶組

在Linux中,用戶組分類方式有三種:

1、管理員組、普通用戶組(系統用戶組,登錄用戶組)

2、用戶的基本組、用戶附加組

3、私有組、公共組

用戶組标識:group id,GID

  • 通常使用16bits二進制數字表示(0-65535)
  • 管理員的用戶組标識:0
  • 普通用戶組:1-65535
  • 系統用戶組:1-499(Centos6)、1-999(Centos7)
  • 登錄用戶組:500-60000(Centos6)、1000-60000(Centos7)

linux通過名稱解析庫“/etc/group”文件解析用戶名與用戶ID之間的對應關系。

1.3 linux操作系統密碼

用戶在登錄linux系統時,會對比password與之前保存在“/etc/shadow”、“/etc/gshadow”文件中的密碼是否一緻。

​加密算法:

  • 對稱加密:加密和解密使用同一個密碼
  • 非對稱加密:加密和解密使用的一對密鑰
  • 密鑰對:公鑰(public key)、私鑰(private key)
  • 單向加密:隻能加密,不能解密;提取數據特征碼;

定長輸出:

  • 雪崩效應:密碼中某一個字符改變,那麼整個加密後的密鑰都會改變
  • linux的密碼加密方式使用單向加密算法,并且添加随機數(salt)計算得出的。
  • 系統識别算法ID算法名稱1md5:message digest,128bits2sha:secure hash algorithm,160bits3sha2244sha2565sha3846sha512

/etc/shadow:用戶密碼

用戶名:加密的密碼:最近一次修改密碼的時間:最短使用期限:最長使用期限:警告期段:非活動期限:過期期限:保留字段

linux 從入門到放棄權限管理(每天5分鐘30天掌握linux)1

linux 從入門到放棄權限管理(每天5分鐘30天掌握linux)2

root:$6$28Q91hEp6c..QfTj$HZFYC1hMr1/dMDpO2t51ipld329/HrPw4rbB6nguyOiglTxNtxT/ob6cCgeMW78K9tgfYPffhi8HHqHz9o.qu1::0:99999:7:::

加密密碼:使用$分隔,第一個段表示使用的加密算法,第二個段表示添加的salt。第三段表示加密後的密碼.

2、權限管理

linux的文件管理權限分為讀、寫和執行

[root@k8s-master ~]# ls -l /bin/bash -rwxr-xr-x. 1 root root 960472 Aug 3 2017 /bin/bash

文件權限:

  • -rwxr-xr-x.

共分為五個部分:

  • -:表示文件類型
  • rwx:用戶屬主的權限
  • r-x:用戶屬組的權限
  • r-x:其他用戶的權限
  • .:是否啟用facl

權限:

  • r:readable,讀
  • w:wirteable,寫
  • x:excuteable,執行

權限對文件的作用:

  • r:可獲取文件的數據;
  • W:可修改文件的數據;
  • x:可将此文件運行為進程;

權限對目錄的作用:

  • r:可使用ls命令獲取其下的所有文件列表;
  • w:可修改此目錄下的文件列表;即創建或删除文件,包括子目錄。

x:可cd至此目錄中;且可使用ls -l來獲取所有文件的詳細屬性信息;

3、相關命令

3.1用戶管理命令

useradd命令:創建用戶

useradd [選項] 登錄名

  • -u,–uid UID:指定UID,默認是上一個用戶的UID 1
  • -g,–gid GID:指定基本組ID,此組得事先存在;
  • -G,–groups GROUP1[,GROUP2,……[,GROUPSN]]:指明用戶所屬的附加組,多個組之間用逗号分隔。
  • -c,–comment COMMENT:指明注釋信息
  • -d,–home HOME_DIR:以指定路徑為用戶的家目錄;通過複制/etc/skel此目錄并重命名實現;指定的家目錄路徑如果事先存在,則不會為用戶複制環境配置文件。
  • -s,–shell SHELL:指定用戶的默認shell,可用的所有shell列表存儲在/etc/shells文件中;
  • -r,–system:創建系統用戶
  • -M:不為用戶創建主目錄
  • -f,–incative INACTIVE:在密碼過期後,賬戶被徹底禁用之前的天數,0表示立即禁用,-1表示禁用該功能。

注意:創建用戶時的諸多默認設定配置文件為/etc/login.defs

useradd -D:顯示創建用戶的默認選項配置;

useradd -D 選項:修改默認選項的值;

修改的結果保存于/etc/default/useradd文件中;可以直接修改此文件來實現。

usermod命令:修改用戶屬性

usermod [選項] 登錄名

  • -u,–uid UID:修改用戶的ID為此處指定的新UID;
  • -g,–group GROUP:修改用戶所屬的基本組;此組得事先存在;
  • -G, –groupsGROUP1[,GROUP2,…[,GROUPN]]]:修改用戶所屬的附加組,原來的附加組會被覆蓋;
  • -a, –append:與-G一同使用,用于用戶追加新的附加組;
  • -c,–comment COMMENT:修改注釋信息;
  • -d,–home HOME_DIR:修改用戶的家目錄;用戶原有的文件不會被轉移至新位置;
  • -m,–move-home:隻能與-d選項一同使用,用于将原來的家目錄移動為新的家目錄;
  • -l,–login NEW_LOGING:修改用戶名;
  • -s, –shell SHELL:修改用戶的默認shell;
  • -L,–lock:鎖定用戶密碼;即在用戶原來的密碼字符串之前添加一個”!”;
  • -U,–unlock:解鎖用戶密碼,

userdel命令:删除用戶,

userdel [選項] 登錄名

  • -r:删除用戶時一并删除其家目錄和用戶郵箱;

id命令:顯示用戶的真實和有效的UID和GID

id [OPTION]… [USERNAME]

  • -u:僅顯示有效的UID;
  • -g:僅顯示用戶的基本組的ID;
  • -G:僅顯示用戶所屬的所有組的ID;
  • -n:顯示名字而非ID;一般與g一起使用:-ng

su命令:switch user

登錄式切換:會通過重新讀取目标用戶的配置文件來重新初始化

su - USERNAME

su -l USERNAME

非登錄式切換:不會讀取目标用戶的配置文件進行初始化

su USERNAME

注意:管理員可無密碼切換至其它任何用戶;其它用戶在切換用戶時必須輸入密碼。

-c “COMMAND”:僅以指定用戶的身份運行此處指定的命令

例如:su - USERNAME -c “whoami”

3.2 用戶組管理命令

groupadd命令:添加組

groupadd [選項] group_name

  • -g GID:指定GID,默認是上一個組的GID 1
  • -r:創建系統組;

groupmod命令:修改組屬性

groupmod [選項] GROUP

  • -g GID:修改GID
  • -n new_name:修改組名

groupadd命令:删除組

groupdel [選項] GROUP

3.4 密碼管理命令

passwd命令:

passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays]

[-S] [–stdin] [username]

(1)passwd:修改用戶自己的密碼;

(2)passwd USERNAME:修改指定用戶的密碼,但僅root有此權限;

  • -l,-u:鎖定和解鎖用戶;
  • -d:清除用戶密碼;
  • -e DATE:過期期限,日期;
  • -i DAYS:非活動期限,時間範圍;
  • -n DAYS:密碼的最短使用期限;
  • -x DAYS:密碼的最長使用期限;
  • -w DAYS:警告期限;
  • –stdin:

echo “PASSWORD” | passed –stdin USERNAME

[root@localhost ~]# echo "hadoop" | passwd --stdin hadoop 更改用戶 hadoop 的密碼 。 passwd:所有的身份驗證令牌已經成功更新。

gpasswd命令:

用戶組密碼文件:/etc/gshadow

gpasswd [選項] group

  • -a USERNAME:向組中添加用戶,作為附加組
  • -d USERNAME:從組中删除用戶

newgrp命令:臨時切換指定的組為基本組;

newgrp [-] [group]

-:會模拟用戶重新登錄以實現重新初始化其工作環境

注意:

若指定組設定了密碼:

(1)如果用戶的附加組是要切換到的組名,那麼不需要密碼可以直接切換到指定組。

(2)如果用戶的附加組不包含要切換的組名,那麼需要輸入密碼才能切換到指定組。

若指定組沒有設定密碼:所有用戶都不可以直接切換到指定組;root用戶除外。

chage命令:更改用戶密碼過期信息

[root@localhost ~]# chage list root

用法:chage [選項] 登錄

選項:

  • -d, –lastday 最近日期 将最近一次密碼設置時間設為“最近日期”
  • -E, –expiredate 過期日期 将帳戶過期時間設為“過期日期”
  • -h, –help 顯示此幫助信息并推出
  • -I, –inactive INACITVE 過期 INACTIVE 天數後,設定密碼為失效狀态
  • -l, –list 顯示帳戶年齡信息
  • -m, –mindays 最小天數 将兩次改變密碼之間相距的最小天數設為“最小天數”
  • -M, –maxdays 最大天數 将兩次改變密碼之間相距的最大天數設為“最大天數”
  • -R, –root CHROOT_DIR chroot 到的目錄
  • -W, –warndays 警告天數 将過期警告天數設為“警告天數”

其他幾個命令用戶管理命令:

chsh:修改shell

chfn:修改用戶基本信息

finger:顯示用戶基本信息

[root@k8s-master ~]# finger

Login Name Tty Idle Login Time Office Office Phone Host

root root pts/0 1:10 May 29 09:21 (192.168.1.20)

root root pts/1 May 29 10:29 (192.168.1.20)

[root@k8s-master ~]#

pwck:檢查用戶的密碼是否有問題

[root@k8s-master ~]# pwck user 'ftp': directory '/var/ftp' does not exist pwck: no changes [root@k8s-master ~]#

grpck:檢查組文件的完整性

3.5 權限管理命令

chmod命令:

chmod [OPTIONS]… MODE[,MODE]… FILE… chmod [OPTIONS]… OCTAL-MODE FILE… chmod [OPTIONS]… –reference=RFILE FILE… 三類用戶: u:屬主 g:屬組 o:其它 a:所有

(1)chmod [OPTIONS]… MODE[,MODE]… FILE…

MODE表示法:

賦權表示法:直接操作一類用戶的所有權限位;

在賦予三類用戶的權限不同時,則用逗号隔開;如果相同,可以合并授權。

u=

g=

o=

a=

授權表示法:直接操作一類用戶的所有權限位r,w,x:

在賦予三類用戶的權限不同時,則用逗号隔開;如果相同,可以合并授權。

u ,u-

g ,g-

o ,o-

a ,a-

(2)chmod [OPTIONS]… OCTAL-MODE FILE…

使用十進制的數字進行授權

(3)chmod [OPTIONS]… –reference=RFILE FILE…

參考文件權限授權;

選項:

-R,–recursive:遞歸修改,對目錄下的所有文件(包括子目錄)都有效。

注意:用戶僅能修改屬主為自己的那些文件的權限;

從屬管理管理命令:chown,chgrp

chown命令:

chown [選項]… [OWNER][:[GROUP]] FILE… chown [選項]… [OWNER][.[GROUP]] FILE… chown [選項]… –reference=RFILE FILE…

選項:

-R:遞歸修改,對目錄下的所有文件(包括子目錄)都有效。

chgrp命令:

chmod [選項]… GREOUP FILE… chmod [選項]… –reference=RFILE FILE…

注意:僅管理員可修改文件的屬主和屬組;

umask:文件的權限反向掩碼,遮罩碼;

文件:

666-umask

目錄:

777-umask

注意:之所以文件用666去減,表示文件默認不能擁有執行權限;如果減得的結果中有執行權限,則需要将其加1;

umask命令:

umask:查看當前umask umask MASK:設置umask;

注意:此類設定僅對當前shell進程有效。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved