Linux用戶管理和文件權(quán)限

Linux操作系統(tǒng)是一個(gè)多用戶操作系統(tǒng),它允許多用戶同時(shí)登陸到系統(tǒng)上并使用資源。系統(tǒng)會(huì)根據(jù)賬戶來區(qū)分每個(gè)用戶的文件,進(jìn)程,任務(wù)和工作環(huán)境,使得每個(gè)用戶工作都不受干擾。

Linux如何保證多個(gè)不同的用戶對(duì)同個(gè)文件進(jìn)行操作時(shí)有不同的權(quán)限控制呢?

  1. Linux使用User和Group來控制使用者對(duì)文件的訪問權(quán)限;
  2. 不同用戶是使用不同的賬號(hào)/密碼進(jìn)行登錄到Linux;
  3. 每個(gè)文件都有owner,并且每個(gè)owner都?xì)w屬于某個(gè)Group;
  4. 每個(gè)程序/文件都有自己的owner和group;

===> 使得Linux的安全性才有嚴(yán)格的保障

用戶:

  1. 每個(gè)用戶都有一個(gè)唯一的User ID,唯一性標(biāo)識(shí)符;
  2. User的信息存儲(chǔ)在 /etc/passwd中
    root:x:0:0:root:/root:/bin/bash
    每個(gè)屬性之間采用:分隔
    root: 登錄Linux的用戶名
    x: 該用戶需要使用密碼才能登錄, 如果為空表示不需要密碼就能登錄
    0:數(shù)字,表示的是uid, 0到499是系統(tǒng)預(yù)留的, 如果是我們新增的User,那么500開始計(jì)數(shù)的
    0:數(shù)字,表示的是gid
    root:是賬戶的描述信息
    /root: 該用戶的home路徑, 如果是我們自己添加的用戶呢?它的home是哪里呢?
    /bin/bash:登錄后執(zhí)行的程序
  3. /etc/shadow: 存儲(chǔ)的是用戶對(duì)應(yīng)的密碼信息
    root:$1$puUB8Y.1$5nURxhc.1a9JhdfZwgvKB0:15970:0:99999:7:::
    root: 賬號(hào)的名稱,和/etc/passwd中的用戶名是一一對(duì)應(yīng)的
    $1$puUB8Y.1$5nURxhc.1a9JhdfZwgvKB0: 密碼,不是明文的,經(jīng)過MD5加密的
    15970:最后一次修改密碼的時(shí)間
    0:數(shù)字,密碼不能被修改的天數(shù)
    99999:數(shù)字,密碼多少天后需要強(qiáng)制修改
    7: 數(shù)字,密碼需要被修改之前要提醒的天數(shù)
  4. 每個(gè)User都有一個(gè)對(duì)應(yīng)的home目錄
    root: /root
    xxxx: 對(duì)應(yīng)的home位于 /home/xxxx
  5. root用戶:超級(jí)管理員賬號(hào),具有非常高的權(quán)限

用戶組:

  1. 每個(gè)用戶都屬于一個(gè)Group,具有一個(gè)唯一的標(biāo)識(shí)符

  2. Group信息存儲(chǔ)在/etc/group下
    root:x:0:
    root:組的名稱
    x:該組需要使用密碼才能登錄
    0:數(shù)字,就是該組的id,gid

  3. 系統(tǒng)會(huì)為每個(gè)用戶關(guān)聯(lián)一個(gè)和User同名的Group、User也可以被加入到其他組,一個(gè)User可以對(duì)應(yīng)多個(gè)組;
    user:root group:root

  4. 保存用戶組密碼的文件:/etc/gshadow
    用戶配置文件:/etc/default/useradd

對(duì)用戶和用戶組的操作

添加用戶: useradd abc

查看一下:cat /etc/passwd
abc:x:500:500::/home/abc:/bin/bash
新增的abc用戶對(duì)應(yīng)的根目錄是/home/abc
[root@abc ~]# su - abc //用戶切換,從root切換到abc用戶,是不需要密碼的
[abc@abc ~]$ pwd
/home/abc

但是abc用戶切換到abc用戶自己,卻提示我們需要輸入密碼,但是我們卻不知道密碼。
[abc@abc ~]$ su - abc
Password:??????

這時(shí)用root用戶來管理新增的用戶
修改abc用戶的密碼:passwd abc

修改用戶名:usermod -l new_name old_name

修改:usermod -l abc_linux abc

查看一下:cat /etc/passwd
abc_linux:x:500:500::/home/abc:/bin/bash
對(duì)用戶進(jìn)行名稱修改時(shí),用戶名是發(fā)生了變化,但是home目錄的文件夾名稱并沒有發(fā)生改名/home/abc

刪除用戶: userdel -r abc_linux

-r:在刪除該用戶時(shí)一并刪除該用戶對(duì)應(yīng)的home文件夾

用戶組添加: groupadd g1
用戶組修改: groupmod -n newg1 g1
用戶組刪除: groupdel newg1

Linux文件權(quán)限

r: 讀權(quán)限(read)可以讀取文件/目錄的內(nèi)容
w: 寫權(quán)限(write)可以寫、刪除文件/目錄
x: 執(zhí)行權(quán)限(execute)可以執(zhí)行可執(zhí)行文件
-:沒有權(quán)限

使用ls命令查看:
drwxr-xr-x 2 root root 4096 Oct 29 02:12 Desktop

drwxr-xr-x就是文件的權(quán)限
第一位:文件類型 d是目錄 -是文件 l是鏈接
第2-4位:所屬用戶的權(quán)限, 用u(user)表示
第5-7位:所屬組的權(quán)限,用g(group)表示
第8-10位:其他用戶的權(quán)限,用o(other)表示
第2-10位:表示所有的權(quán)限,用a(all)表示

d rwx -w- ---
目錄、owner權(quán)限為可讀寫執(zhí)行、group權(quán)限為可寫、others沒有任何權(quán)限

- rwx rwx r-x
文件、owner權(quán)限為可讀寫執(zhí)行、group權(quán)限為可讀寫執(zhí)行、others可讀可執(zhí)行

字符表示法:chmod [-R] mode file

mode有哪些:

who operator permission
u(owner) + r
g(group) - w
o(others) = x
a(ugo)

去掉owner的寫權(quán)限: chmod u-w hello
為group添加寫權(quán)限: chmod g+w hello
為owner和group添加寫權(quán)限:chmod ug+w hello
ugo去掉執(zhí)行權(quán)限:chmod ugo-x hello
為文件夾添加執(zhí)行權(quán)限:chmod a+x hello
others改成寫權(quán)限:chmod o=w hello
將hello文件夾的所有權(quán)限去掉: chmod a= hello
雖然hello目錄的權(quán)限都被我們刪除了,但是并不影響該目錄下的子目錄或者文件的權(quán)限
給hello文件夾下的所有文件都添加rwx權(quán)限:chmod -R a+rwx hello(-R是遞歸操作)

數(shù)字表示法: chmod 777 hello

r用4表示、w用2表示、x用1表示、沒有權(quán)限用0表示
owner: rwx: 4 + 2 + 1 = 7
group: r-x: 4 + 0 + 1 = 5
others: r--: 4 + 0 + 0 = 4
rwxr-xr-- = 754

owner設(shè)置r-x: r=4 w=0 x=1 chmod 577 hello
ugo設(shè)置r-x:chmod 555 hello 遞歸設(shè)置:chmod -R 555 hello

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容