用戶和權限管理

一、用戶

Linux中用戶是資源獲取的標識符,資源分配,文件系統安全權限模型的核心要素之一。密碼則是用戶認證的憑證,用戶信息和密碼信息都存放在相應的文本文件中,密碼信息在存放的過程用了一定的加密算法進行加密。  

1.加密算法:

資源分派:   

Authentication:認證(確認身份,也有可能好幾個人一個身份)    

用戶名+口令驗證     

Authorization:授權(對文件操作)      

Accouting|Audition:審計(根據日志判斷操作)               

加密方法(計算速度快,可以破解一切密碼):

對稱加密(DES,3DES,):加密和解密都是用同樣秘鑰,叫做對稱加密

公鑰加密(DSA,RSA):私鑰和公鑰。

私鑰加密(認證用戶),公鑰解密。

單向加密:比較二次數據可以得知數據是否被修改

雪崩效應(蝴蝶效應):初始條件的細小改變,會導致數據的巨大變化

定長輸出:

不可逆:

MD5:信息摘要,128bits定長輸出

SHA1:安全的hash算法,160bits

SHA224: 224bits

SHA256: 256bits

SHA384: 384bits

SHA512: 512bits

更改加密算法authconfig  –passalgo=sha256 –update

?  顯示當前的加密算法 authconfig –test | grep hashing

diff 逐行比較兩個文件的內容,列出兩個文件之間不同。

    man sslpasswd (此命令可以自己按照加密方式得到密碼,但是支持MD5加密算法)

openssl passwd -1 -salt 123456789  (用MD5加密,然后在密碼中加了123456789字符作為鹽,用來保證相同密碼加密的MD5碼不相同)

2.相關存放信息文件有:   

/etc/passwd  用戶信息表,存放NAME、UID、GID、COMMENT、HOMEDIR、TYPE  SHELL    

/etc/shadow 用戶密碼信息表,存放加密后的密碼,密碼修改相關時限    

/etc/group 組信息表,存放GROUPNAME、GID、其他將此組當做附加組的用戶名      

/etc/gshadow 組密碼表,存放GROUPNAME、加密密碼、其他將此組當做附加組的用戶名       

3.相關環境配置文件:    

/etc/login.de 控制創建用戶時系列參數      

/etc/default/useradd   也是控制創建用戶時的系列參數      

/etc/shells 當前系統中存在的shell類型       

etc/skel   創建用戶家目錄時里面的文件的來源

4.Linux安全上下文(security context)

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

以進程發起者的身份運行:(是由root和mage決定的,不是cat決定,這兩者執行cat的權限是不一樣的)

root: /bin/cat

mage: /bin/cat

進程所能夠訪問資源的權限取決于進程的運行者的身份,而不是進程所有者的身份

組的類別

一個賬號可以加入多個組,一個組也可以包含多個用戶

例如:

group1:wang,mage,li

group2:wang,li

Linux組的類別:

用戶的主要組(主組):(一個用戶在創建的時候必須要指定一個組)

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

組名同用戶名,且僅包含一個用戶:私有組

這是默認的,新建一個用戶,就會產生和用戶同名的組,有且僅有一個

用戶的附加組(輔助組,secondary group):

一個用戶可以屬于零個或多個輔助組

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

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

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

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

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

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

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

5./etc/passwd 用戶信息文件詳解

文件格式:

NAME:X:UID:GID:COMMENT:HOME:SHELL

NAME:用戶名

X  :用戶密碼占位符,以前用戶密碼存放在這里(pwconv,pwunconv。這兩個命令可以將密碼重新導入這里或者到導出回/etc/shadow)

UID:User IDentfie 

用戶識別碼,每個用戶唯一的識別碼,Linux系統識別用戶不通過NAME來識別,是通過UID識。

根據UID的數字,將用戶分為兩類:

65535

管理員用戶:UID(0)

普通用戶:

系統用戶:UID (1-499)CentOS 6

UID (1-999)CentOS 7

普通用戶:UID (500+) CentOS 6

UID (500+) CentOS 7

GID:Group IDentfie

基本組GID,每個用戶都有一個基本組,這個基本組可以不是唯一的?;窘MGID也分為同UID一樣分為兩類,具體分組見上面。

COMMENT:注釋信息,就finger USERNAME 得出的信息。

HOME:用戶的家目錄路徑

SHELL:shell類型

/etc/group  存放組信息表

格式:  GROUPNAME:X:GID:附加組

GROUOPNAME: 組名

X : 組密碼占位符

GID:組GID

附加組:其他用戶以這個組為附加組的用戶名

vigr 修改配置文件時,格式不對會提醒

/etc/passwd 存放密碼的信息表

格式: login name:encrypted password:date of last password change:minimum password age:maximum password age:password warning period:password inactivity period:account expiration date:reserved field

login name : 用戶名

encrypted password:加密密碼

date of last password change:最近修改密碼的時間,從1970年1月1日

minimum password age:最小的修改密碼時間

maximum password age:密碼最長能使用的時間

password warning period:距離過期的警告時間

password inactivity period:非活動區間(賬號一登陸就需要修改密碼)

account expiration date: 賬戶有效期

vipw 修改配置文件時,格式不對會提醒

pwck 檢查/etc/passwd 文件格式是否存在錯誤

/etc/gshadow

group name :組名

encrypted password:群組加密密碼

administrators :組管理員

members :組成員

grpck 檢查/etc/gpasswd 文件格式是否存在錯誤  

pwck和grpck

用戶創建:

用戶創建方式之一:useradd 命令

useradd 

-u UID: [UID_MIN, UID_MAX]定義在/etc/login.defs

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

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

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

-d HOME_DIR: 以指定的路徑(不存在)為家目錄

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

-G GROUP1[,GROUP2,…]:為用戶指明附加組,組必須事先存在

-N 不創建私用組做主組,使用users組做主組

-r: 創建系統用戶 CentOS 6: ID<500, CentOS 7: ID<1000

默認值設定: /etc/default/useradd文件中

? 顯示或更改默認設置:

useradd -D

useradd –D -s SHELL

默認配置文件

/etc/default/useradd

/etc/skel/*

/etc/login.defs

批量創建用戶:

newusers PASSWD.TXT

PASSWD.TXT 的格式必須是/etc/passwd 下面的格式

chpasswd 批量修改用戶口令

cat SHADOW.TXT |  chpasswd  

SHADOW.TXT 的格式:

ACCOUNT:明文密碼

修改用戶屬性:

usermod

-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: 設定非活動期限;

chage [OPTION]… LOGIN

-d LAST_DAY

-E, –expiredate EXPIRE_DATE

-I, –inactive INACTIVE

-m, –mindays MIN_DAYS

-M, –maxdays MAX_DAYS

-W, –warndays WARN_DAYS

–l,顯示密碼策略

? 下一次登錄強制重設密碼

chage -d 0 tom

? chage -m 0 –M 42 –W 14 –I 7 tom

? chage -E 2016-09-10 tom

用戶相關的其它命令

? chfn 指定個人信息

? chsh 指定shell

刪除用戶:

userdel

-r: 刪除用戶家目錄;

設置用戶密碼:

passwd

-l:鎖定指定用戶

-u:解鎖指定用戶

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

-n mindays: 指定最短使用期限

-x maxdays:最大使用期限

-w warndays:提前多少天開始警告

-i inactivedays:非活動期限;

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

echo "PASSWORD" | passwd –stdin USERNAME

用戶組相關信息:

groupadd [OPTION]… group_name

-g GID: 指明GID號; [GID_MIN, GID_MAX]

-r: 創建系統組;

修改和刪除組

? 組屬性修改: groupmod

groupmod [OPTION]… group

-n group_name: 新名字

g GID: 新的GID;

? 組刪除: groupdel

groupdel GROUP

更改組密碼

? 組密碼: gpasswd

? gpasswd [OPTION] GROUP

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

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

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

? newgrp命令:臨時切換基本組;

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

更改和查看組成員

? groupmems [options] [action]

-g, –group groupname 更改為指定組 (只有root)

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

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

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

-l, –list 顯示組成員

groups 顯示用戶組信息

顯示用戶相關信息:

id 

-g, –group   僅僅顯示有效GID

      -G, –groups  顯示所有組的GID

-n, –name 

              print a name instead of a number, for -ugG

       -r, –real

              print the real ID instead of the effective ID, with -ugG

       -u, –user

              print only the effective user ID

        finger

原創文章,作者:fighter,如若轉載,請注明出處:http://www.www58058.com/28892

(0)
fighterfighter
上一篇 2016-08-05
下一篇 2016-08-05

相關推薦

  • Linux安全和openssl、gpg加密

                     Linux安全和openssl、gpg加密 本章內容: 安全機制 對稱加密 不對稱加密 散列算法 PKI和CA openssl 證書管理 gpg   加密需要: 不加密的流量易受攻擊性 密碼/數據嗅探 數據操作 驗證操作 相當…

    系統運維 2016-10-09
  • PHP SOCKET編程

    1. 預備知識        一直以來很少看到有多少人使用php的socket模塊來做一些事情,大概大家都把它定位在腳本語言的范疇內吧,但是其實php的socket模塊可以做很多事情,包括做ftplist,http post提交,smtp提交,組包并進行特殊報文的交互(如smpp協議),whois查詢。這些都是比較常見…

    Linux干貨 2015-04-10
  • 計算機網絡基礎及常用工具

    Linux網絡屬性配置      計算機網絡:      TCP/IP: 協議棧(使用)      ISO, OSI: 協議棧(學習)  MAC:Media Access Control      48bits:   &…

    Linux干貨 2017-01-02
  • 馬哥教育網絡班21期+第14周課程練習

    iptables關鍵點 表:filter(過濾,防火墻);nat(網絡地址轉換);mangle(拆解報文,做出修改,封裝報文);raw(關閉nat表啟用的鏈接追蹤機制);上述是根據功能來區分的,寫規則要明白要實現的功能 鏈:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING 數據流向:流入PREROUTING–…

    Linux干貨 2016-08-26
  • linux磁盤管理及其磁盤分區工具的使用

    一、 幾種分區工具: 1.圖形化工具gnome-disks使用簡單,在此不在贅述。 2.fdisk使用: fdisk支持MBR,也支持GPT分區,對于一塊硬盤最多只能理解15個分區,一般使用fdisk做MBR分區,gdisk做GPT分區。下面為fdisk分區示例: [root@centos7 ~]# fdisk /dev/sde…

    Linux干貨 2016-08-29
  • N26-博客作業-week7

    1、創建一個10G分區,并格式為ext4文件系統;      (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;     ~]# fdisk /dev/sda Welcome to fdisk (util-li…

    Linux干貨 2017-03-19
欧美性久久久久