Linux(1): 用戶及權限詳解

Linux(1): 用戶及權限詳解

=====================

Linux的層次:
        進程(應用程序)
        庫
        內 核
        硬件  
一、前言


在Linux中一切皆文件,文件有3中權限:

(1)文件屬主;
(2)文件屬組;
(3)其它用戶的訪問權限。

文件:
r: 可讀,可以使用類似cat等命令查看文件內容
w: 可寫,可以編輯或者刪除此文件;
x: 可執行,executable,可以命令提示符下當做命令給內核執行。
文件默認沒有執行權限。


目錄:
r: 可以對此目錄執行ls以列出內部的所有文件;
w: 可以在此目錄創建文件;
x: 可以使用cd切換進此目錄,也可以使用ls -l查看內部文件的詳細信息。
目錄默認有執行權限


0 000 ---: 無權限
1 001 --x:  執行
2 010 -w-:  寫
3 011 -wx:  寫和執行
4 100 r--:  只讀
5 101 r-x:  讀和執行
6 110 rw-:  讀寫
7 111 rwx:  讀寫執行


755:rwxr-xr-x


用戶:UID,每一個用戶都一個ID
            在Linux中,用戶的信息存在/etc/passwd; 用戶登錄,就查passwd,獲取用戶的ID號,用戶的所有操作都在這個ID號下完成。
    組:GID, 每一個組都有一個組ID
            組的信息存在/etc/group

爲了便於管理,除了用戶的ID號外,還有其他屬性,用戶一登錄,Linux給用戶起一個shell,在passwd中配置;用戶都有權限查看passwd,所有爲了安全,Linux啓用影子口令,用戶的密碼存在/etc/shadow。組也需要密碼,密碼放在/etc/gshadow。



Linux用戶類別:
1.管理員:    ID號爲0,改不了的
2.普通用戶: ID的範圍1-65535
爲了管理,可分成:
(1)系統用戶:ID的範圍爲1-499,系統用戶指專門拿來運行後臺進程的,不需要登錄的。
(2)一般用戶:ID的範圍爲500-60000,一般用戶可以登錄系統調用服務。


用戶組類別:
1.管理員組
2.普通組
(1)系統組
(2)一般組


用戶組類別:
   基本組:用戶默認組
   私有組:創建用戶時,如果沒有爲其制定所屬組,系統會自動爲其創建一個與用戶同名的組
   附件組,額外組:默認組以外的其它組
   


進程    tom(屬主) tom(屬組)
對象:rwxrw-r-- jerry(屬主) tom(屬組)  a.txt


如果一個進程以tom的權限訪問一個對象(權限信息如上),以什麼
權限訪問?


首先,系統看進程的屬主和文件的屬主是否一樣,如果不一樣看屬組,
看進程的屬主是否屬於文件的屬組,如果是以rw-訪問,不是以其它
權限r--訪問。


tom執行: ls
rwx-xrr-x root root /bin/ls


tom不是root組,以其它權限執行。


tom再訪問a.txt時:權限決定於tom的權限,而不是/bin/ls的權限.


cat /etc/passwd
root:x:0:0:root:/root:/bin/bash


用whatis passwd可以看看passwd用幾個章節的man文檔:
#whatis passwd
passwd   (1) - update user's authentication tokens
passwd   (5) - passwd file
passwd    (rmp) - The passwd utility for setting/changing passwords using PAM
.......


#man 5 passwd      --可以看到詳細信息


account: 登錄名
password:加密的密碼,如果是x是密碼佔位符,真實的密碼在/etc/passwd
uid: 用戶的id號
gid: 用戶基本組id
gecos: 可選的,包括全名,電話等註釋信息
home dir: 家目錄
shell: 用戶的默認shell


如果給用戶指定非法shell,用戶不能登錄,只有出現在/etc/shells中
的shell纔是合法的。


#cat /etc/shadow
--$1:表示MD5加密算法
--$SDFASDFA: 密碼雜質,用來防止密碼相同泄露;2個雜質不同的相同
--密碼密文不一樣的
--當用戶輸入密碼,先加入雜質,然後計算結果,再比較
root:$1$SDFASDFA$SLDFJASDFLJASKDFJKASJDFKASKDFJS:15753:0:99999:7:::
... ...


#whatis shadow
#man shadow
#man 5 shadow


1.login name
2.encrypted passwd
!!爲禁止用戶
3.距離上次修改密碼的天數
4.密碼最短使用期限
5.密碼最長使用期限
6.密碼離過期多少天向用戶警告
7.密碼寬限天數,這段時間必須首先改密碼
8.執行賬號的有效期,從1970年1月1日開始算
9.保留字段,無意義


備註:
加密算法
1.對稱加密:加密和加密都使用同一個密碼
2.公鑰加碼:每一個密碼都成對出現,一個公鑰,一個私鑰
3.單向加密,散列加密:可以由明文取密文,反過來不行,用來提取數據特徵碼
可以用來做數字校驗,防止被串改,實現數據完整性校驗。
有2個特性:
(1)雪崩效應:初始條件的微小改變,引起結果的巨大的變化。
(2)定長輸出:
     MD5: Message Digest 5, 信息摘要, 128位定長輸出
SHA1: Secure Hash Algorithm, 160位定長輸出
SHA1比MD5安全,但效率較慢


公鑰密鑰比對稱加密要快一千倍以上。


查看系統組詳細信息

---------------------------

#cat /etc/group

daemon:x:2:root,bin,daemon 

1.組名
2.密碼佔位符
3.組ID
4.以這個組爲附加組的用戶列表


添加一個組
#groupadd mygroup
#tail -l /etc/group
mygroup:x:504:


添加用戶

------------

1.查看useradd
#which useradd
/user/sbin/useradd
#ls -l $(which useradd)  --命令替換
#ls -l `which useradd`


useradd可以指定默認屬性,源於/etc/default/useradd的配置:
#cat useradd
GROUP=100  
HOME=/home  --在該目錄創建用戶的家目錄
INACTIVE=-1 --不做限制
EXPIRE=     --沒值永不過期
SHELL=/bin/bash 
SKEL=/etc/skel   
CREATE_MAIL_SPOOL=yes


2.useradd linus
#useradd linus
#tail -l /etc/passwd  --顯示最後一行
#tail -l /etc/shadow

--改密碼
#passwd tom 
#tail -l /etc/shadow


用戶管理相關命令

--------------------------

1.useradd : 添加用戶
2.userdel 
3.usermod
4.passwd
5.chsh
6.chfn
7.finger
8.id
9.chage


組管理的命令
1.groupadd
2.groupdel
3.groupmod
4.gpasswd


權限管理
1.chown
2.chgrp
3.chmod
4.umask
發佈了69 篇原創文章 · 獲贊 11 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章