溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux賬號(hào)與權(quán)限管理

發(fā)布時(shí)間:2020-07-08 16:29:17 來源:網(wǎng)絡(luò) 閱讀:292 作者:wx5d8a05337d6b9 欄目:云計(jì)算

Linux/Centos7賬號(hào)與權(quán)限管理

  1. 管理用戶賬號(hào)、組賬號(hào)
  2. 查詢賬號(hào)信息
  3. 設(shè)置文件和目錄的權(quán)限
  4. 設(shè)置文件和目錄的歸屬

一、前言概述

作為多用戶、多任務(wù)(Multi-Users,Multi-tasks)的服務(wù)器操作系統(tǒng),Linux提供了嚴(yán)格的權(quán)限管理機(jī)制,主 要從用戶身份、文件權(quán)限兩個(gè)方面對(duì)資源進(jìn)行限制。Linux基于用戶身份對(duì)資源訪問進(jìn)行控制。

  • 用戶賬號(hào)類別:
  1. 超級(jí)用戶——root,權(quán)限最高
  2. 普通用戶——自定義用戶 匿名用戶(nobody)類似于Windows中的Guest
  3. 程序用戶——控制程序和服務(wù)的,無(wú)法登陸
  • 組賬號(hào)——用戶的集合(其實(shí)可以認(rèn)為是用戶權(quán)限的集合)
  1. 基本組(私有組)——伴隨著用戶創(chuàng)建而創(chuàng)建 與用戶同名(也可以自己設(shè)置) 但創(chuàng)建一個(gè)用戶的時(shí)候必有其組
  2. 附加組(公有組)——直接創(chuàng)建空組,可以添加已有的用戶,給組設(shè)置權(quán)限,該組中所有用戶都具備此權(quán)限
  • UID和GID
  1. UID(User IDentity) ——用戶標(biāo)識(shí)號(hào) (默認(rèn)情況下0表示root 1~999 表示(系統(tǒng))程序用戶 1000~60000 表示(登錄)普通用戶)
  2. GID(Group IDentity)——組標(biāo)識(shí)號(hào)

二、用戶賬號(hào)文件

/etc/passwd——保存用戶名稱、宿主目錄、登錄shell等基本信息

[root@lokott ~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

root:x:0:0:root:/root:/bin/bash——以冒號(hào)分隔 下面進(jìn)行逐一解釋

  1. root——用戶賬號(hào)名稱
  2. x——使用加密算法加密的密碼,這里是不會(huì)顯示的
  3. 0——用戶UID號(hào)
  4. 0——所屬基本組賬號(hào)的UID
  5. root——用戶全名,可以填寫用戶詳細(xì)信息
  6. /root——宿主目錄
  7. /bin/bash——指定用戶的登錄Shell

/etc/shadow——保存用戶的密碼、賬號(hào)有效等信息

[root@lokott ~]# head -2 /etc/shadow   //查看頭兩行信息
root:$6$P0mVYDgJo8HZnZWl$oYlITJyv.hP.6wS/OCuAdc61QoWTkYJMcONdy9aAjRW4Cpmc5Mor40xn/RiZ9Hi1PzhVoX5Chur4VfFB8JmKO1::0:99999:7:::
bin:*:17110:0:99999:7:::
[root@lokott ~]# 

root:$6$P0mVYDgJo8HZnZWl$oYlITJyv.hP.6wS/OCuAdc61QoWTkYJMcONdy9aAjRW4Cpmc5Mor40xn/RiZ9Hi1PzhVoX5Chur4VfFB8JmKO1::0:99999:7:::——以冒號(hào)分隔,下面逐一解釋

  1. root——用戶賬號(hào)名稱

  2. 粗體部分——表示加密算法加密的密碼,登錄輸入該密碼是無(wú)效的

  3. ::——之間的內(nèi)容是上次修改時(shí)間

  4. 0——密碼的最短有效天數(shù)(0表示隨時(shí)可以更改)

  5. 99999——密碼的最長(zhǎng)有效天數(shù)

  6. 7——提前7天提醒用戶口令將過期

    :::——表示的是密碼和賬號(hào)過期之后的操作處理(基本可以忽略)

二、管理用戶賬號(hào)

1.添加用戶賬號(hào)——useradd命令

選項(xiàng)

  1. -u ——指定用戶的UID號(hào),且該UID號(hào)沒有被其他用戶使用
  2. -d ——指定用戶的宿主目錄位置(與-M一起使用時(shí)不生效!)
  3. -e——賬號(hào)失效時(shí)間(過期時(shí)間)
  4. -g——基本組
  5. -G——附加組
  6. -M——不創(chuàng)家目錄
  7. -s ——指定用戶的登錄shell

實(shí)例:useradd -d /opt/mike (-g mike) -G caiwu -s /sbin/nologin mike

[root@lokott ~]# useradd -d /opt/mike  -G caiwu -s /sbin/nolgin mike //注意需要先有caiwu組——groupadd caiwu
[root@lokott ~]# tail -2 /etc/passwd    //查看passwd文件最后兩行信息
lokott:x:1000:1000:lokott:/home/lokott:/bin/bash
mike:x:1001:1001::/opt/mike:/sbin/nolgin
[root@lokott ~]# tail -2 /etc/group
caiwu:x:1002:mike
mike:x:1001:
[root@lokott ~]# tail -2 /etc/shadow
lokott:$6$aq3AU9oDZf/ERE2D$Ol.zBTLNqbsPDdsJYE0yU3Wa7EUU1SonR3rUQ616PsgA2u.DtQ99ecTUbdw2y2RhmlaL75WlcqMsfEUNretgb0:18192:0:99999:7:::
mike:!!:18200:0:99999:7:::
[root@lokott ~]# id mike    //查看mike的id信息
uid=1001(mike) gid=1001(mike) 組=1001(mike),1002(caiwu)
[root@lokott ~]# ls /home/  //因?yàn)?d 指定了用戶的宿主目錄,所以家目錄創(chuàng)建在了指定的/opt/mike目錄中
demo  lokott
[root@lokott ~]# ls /opt/
demo01.txt  mike  rh  test
[root@lokott ~]#

2.設(shè)置/更改用戶口令(密碼)passwd

passwd 選項(xiàng) .... 用戶名

  1. -d 清除密碼
  2. -l 鎖定
  3. -S 查看是否鎖還是未鎖 (大寫?。。。?/li>
  4. -u 解鎖
[root@lokott ~]# useradd -d /opt/lisi -s /sbin/nologin lisi
[root@lokott ~]# tail -2 /etc/passwd
lokott:x:1000:1000:lokott:/home/lokott:/bin/bash
lisi:x:1001:1001::/opt/lisi:/sbin/nologin   //這里/sbin/nologin是表示用戶無(wú)法登錄
[root@lokott ~]# passwd lisi
更改用戶 lisi 的密碼 。
新的 密碼:                                           //需要你輸入密碼
無(wú)效的密碼: 密碼少于 8 個(gè)字符           //因?yàn)檩斎肓撕?jiǎn)單密碼,可以繼續(xù)輸入一次也行,當(dāng)然復(fù)雜密碼就沒問題
重新輸入新的 密碼:
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
[root@lokott ~]# su - lisi
最后一次失敗的登錄:四 10月 31 18:49:45 CST 2019從 :1:1 上
最有一次成功登錄后有 1 次失敗的登錄嘗試。
This account is currently not available.  // 無(wú)法登錄,因?yàn)榈卿浀膕hell是/sbin/nologin
[root@lokott ~]# pwd
/root
[root@lokott ~]# vim /etc/passwd              //進(jìn)入passwd文件中將該用戶的/sbin/nologin改為/bin/bash
[root@lokott ~]# su - lisi                          //root切換用戶時(shí)不需要輸入密碼
上一次登錄:四 10月 31 18:52:42 CST 2019pts/2 上
[lisi@lokott ~]$ pwd                               //登錄lisi用戶
/opt/lisi
[lisi@lokott ~]$ su   //相當(dāng)于su - root  下面的結(jié)果表明普通用戶切換root時(shí)需要密碼,輸入的密碼不會(huì)顯示
密碼:
[root@lokott lisi]# pwd
/opt/lisi
[root@lokott lisi]# cd 
[root@lokott ~]# pwd                                    //表明切換到root用戶
/root
[root@lokott ~]#passwd -l lisi              //鎖定lisi的密碼
鎖定用戶 lisi 的密碼 。
passwd: 操作成功
[root@lokott ~]# passwd -S lisi             //查看lisi用戶的密碼狀態(tài)
lisi LK 2019-10-31 0 99999 7 -1 (密碼已被鎖定。)
[root@lokott ~]# su - lisi
上一次登錄:四 10月 31 19:01:10 CST 2019pts/2 上  
[lisi@lokott ~]$ pwd         //可以看出雖然被鎖定了但是root可以切換登錄且無(wú)需密碼
/opt/lisi
[lisi@lokott ~]$ 
[root@lokott ~]# passwd -u lisi
解鎖用戶 lisi 的密碼。
passwd: 操作成功
[root@lokott ~]# passwd -S lisi
lisi PS 2019-10-31 0 99999 7 -1 (密碼已設(shè)置,使用 SHA512 算法。)

該實(shí)例可以作以下總結(jié):

  1. 其中/sbin/nologin 用戶無(wú)法直接登錄和被切換登錄
  2. 執(zhí)行passwd -l lisi 后用戶被鎖定,在圖形用戶界面是無(wú)法登錄的,但是可以從root用戶切換登錄(而且root切換時(shí)不需要密碼)

3.修改用戶賬號(hào)的屬性u(píng)sermod

  1. -u 修改用戶的UID號(hào)
  2. -d 修改用戶的宿主目錄位置
  3. -e 修改用戶賬戶失效時(shí)間
  4. -s 指定用戶的登錄shell
  5. -l 更改用戶登錄賬號(hào)名稱
  6. -L 鎖定 ----- 相當(dāng)于passwd -l
  7. -U 解鎖 ----- 相當(dāng)于passwd -u

其中1-4與useradd類似,演示以下-l的操作

[root@lokott ~]# usermod -l zhangsan lisi
usermod: user lisi is currently used by process 71736
[root@lokott ~]# ps -ef | grep lisi
root      71735  71117  0 19:01 pts/2    00:00:00 su - lisi
lisi      71736  71735  0 19:01 pts/2    00:00:00 -bash
root      72433  71829  0 19:11 pts/2    00:00:00 su - lisi
lisi      72435  72433  0 19:11 pts/2    00:00:00 -bash
root      73325  72935  0 19:24 pts/2    00:00:00 grep --color=auto lisi
[root@lokott ~]# kill 71735   //也可以重啟,自動(dòng)就會(huì)結(jié)束進(jìn)程
[root@lokott ~]# 
Session terminated, killing shell... ...已殺死。
[root@lokott ~]# exit
[root@lokott ~]# usermod -l zhangsan lisi
[root@lokott ~]# tail -2 /etc/passwd
mike:x:1001:1001::/opt/mike:/sbin/nolgin
zhangsan:x:1002:1003::/opt/lisi:/bin/bash  //只是把lisi用戶名字改了但是家目錄的名字還是lisi
[root@lokott ~]#ls /opt
demo01.txt  lisi  mike  rh  test   
[root@lokott ~]# 

4.刪除用戶賬號(hào)userdel

-r 宿主目錄一起刪除,下面的演示接著上面的操作

[root@lokott ~]# tail -2 /etc/passwd         //顯示兩個(gè)用戶
mike:x:1001:1001::/opt/mike:/sbin/nolgin
zhangsan:x:1002:1003::/opt/lisi:/bin/bash
[root@lokott ~]# userdel -r mike             //刪除mike用戶并且“抄家”
[root@lokott ~]# tail -3 /etc/passwd  
tcpdump:x:72:72::/:/sbin/nologin
lokott:x:1000:1000:lokott:/home/lokott:/bin/bash
zhangsan:x:1002:1003::/opt/lisi:/bin/bash
[root@lokott ~]# ls -l /opt/mike             //表明-r的作用將指定的家目錄刪除
ls: 無(wú)法訪問/opt/mike: 沒有那個(gè)文件或目錄
[root@lokott ~]# ls /opt                    //當(dāng)前在/opt下有l(wèi)isi家目錄(名字在上面改成了zhangsan)
demo01.txt  lisi  rh  test
[root@lokott ~]# userdel -r zhangsan        //刪除zhangsan用戶,同時(shí)也會(huì)將lisi目錄刪除
[root@lokott ~]# tail -3 /etc/passwd
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
lokott:x:1000:1000:lokott:/home/lokott:/bin/bash
[root@lokott ~]# ls -l /opt                  //因刪除了zhangsan用戶且-r刪除家目錄,不加-r則不會(huì)刪除
總用量 0
-rw-r--r--. 1 root root  0 10月 31 16:19 demo01.txt
drwxr-xr-x. 2 root root  6 3月  26 2015 rh
drwx-wx-wx. 2 root root 32 10月 31 18:33 test
[root@lokott ~]# useradd wang               //創(chuàng)建一個(gè)新的用戶
[root@lokott ~]# usermod -l sung wang        //改用戶名
[root@lokott ~]# tail -2 /etc/passwd         //查看passwd信息
lokott:x:1000:1000:lokott:/home/lokott:/bin/bash
sung:x:1001:1003::/home/wang:/bin/bash
[root@lokott ~]# userdel sung               //刪除sung用戶但是不會(huì)刪除wang
[root@lokott ~]# ls /home/
demo  lokott  wang

5.用戶賬號(hào)的初始配置文件

文件來源——新建用戶賬號(hào)是從/etc/skel目錄中復(fù)制過來 (cd到家目錄中用ls -a)

  1. ~/.bash_profile 表示進(jìn)入bash后被加載
  2. ~/.bashrc 用戶登錄時(shí)被加載
  3. ~/.bash_logout 注銷的時(shí)候執(zhí)行

三、管理組賬號(hào)

組賬號(hào)文件——與用戶賬號(hào)文件類似

  1. /etc/group:保存組賬號(hào)基本信息
  2. /etc/shadow:保存組賬號(hào)的密碼信息(一般不會(huì)設(shè)置)

1.添加組賬號(hào)groupadd命令

groupadd 選項(xiàng) 組名

-g ——指定GID

[root@lokott ~]# groupadd lisi                   //添加lisi組
[root@lokott ~]# tail /etc/group                 //查看group信息
postdrop:x:90:
postfix:x:89:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
tcpdump:x:72:
lokott:x:1000:
printadmin:x:985:
caiwu:x:1002:
lisi:x:1003:
[root@lokott ~]# groupadd -g 1005 wangwu       //添加wangwu組且給其配置GID為1005
[root@lokott ~]# tail -2 /etc/group
lisi:x:1003:
wangwu:x:1005:
[root@lokott ~]# 

2.添加組成員和刪除組成員

添加——gpasswd
  1. -a 向組中添加一個(gè)用戶 a不會(huì)覆蓋
  2. -d 從組中刪除一個(gè)用戶
  3. -M 逗號(hào)分隔設(shè)置組的成員列表,會(huì)覆蓋組成員,將原有的給踢出
[root@lokott ~]# tail -2 /etc/group                          //查看組信息
lisi:x:1003:
wangwu:x:1005:
[root@lokott ~]# tail -2 /etc/passwd                    //查看用戶信息
tcpdump:x:72:72::/:/sbin/nologin
lokott:x:1000:1000:lokott:/home/lokott:/bin/bash
[root@lokott ~]# useradd lisi                                   //添加lisi用戶會(huì)失敗,因?yàn)樯厦骘@示lisi組已經(jīng)存在
useradd:lisi 組已經(jīng)存在 - 如果您想將此用戶加入到該組,請(qǐng)使用 -g 參數(shù)。
[root@lokott ~]# useradd -g lisi lisi                         //將lisi用戶添加到lisi組中
[root@lokott ~]# useradd zhangsan                        //再添加一個(gè)zhangsan用戶
[root@lokott ~]# tail -2 /etc/passwd                      //查看用戶信息
lisi:x:1001:1003::/home/lisi:/bin/bash
zhangsan:x:1002:1006::/home/zhangsan:/bin/bash
[root@lokott ~]# gpasswd -a lisi wangwu          //添加lisi到wangwu組中(先得有wangwu組)
正在將用戶“l(fā)isi”加入到“wangwu”組中
[root@lokott ~]# id lisi                                        //查看lisi的UID
uid=1001(lisi) gid=1003(lisi) 組=1003(lisi),1005(wangwu)
[root@lokott ~]# gpasswd -d lisi wangwu          //從wangwu組中刪除lisi
正在將用戶“l(fā)isi”從“wangwu”組中刪除
[root@lokott ~]# id lisi                         //查看lisi的UID,已經(jīng)不屬于wnagwu組了
uid=1001(lisi) gid=1003(lisi) 組=1003(lisi)

[root@lokott ~]# tail -5 /etc/passwd              //顯示用戶信息
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
lokott:x:1000:1000:lokott:/home/lokott:/bin/bash
lisi:x:1001:1003::/home/lisi:/bin/bash
zhangsan:x:1002:1006::/home/zhangsan:/bin/bash
[root@lokott ~]# tail -5 /etc/group                 //顯示組信息
printadmin:x:985:
caiwu:x:1002:
lisi:x:1003:
wangwu:x:1005:
zhangsan:x:1006:
[root@lokott ~]# gpasswd -M lisi,zhangsan wangwu   //將兩個(gè)用戶批量添加到wangwu組中
[root@lokott ~]# tail -5 /etc/group
printadmin:x:985:
caiwu:x:1002:
lisi:x:1003:
wangwu:x:1005:lisi,zhangsan                         //查看到信息
zhangsan:x:1006:
[root@lokott ~]# useradd hh                         //添加兩個(gè)新的用戶,為了驗(yàn)證-M的覆蓋功能
[root@lokott ~]# useradd ww
[root@lokott ~]# gpasswd -M hh,ww wangwu
[root@lokott ~]# tail -5 /etc/group
lisi:x:1003:
wangwu:x:1005:hh,ww                                //原本的lisi和zhangsan都被踢出去了
zhangsan:x:1006:
hh:x:1007:
ww:x:1004:
刪除——groupdel 組賬號(hào)

注意?。?!不能使用 groupdel 命令隨意刪除組。此命令僅適用于刪除那些 "不是任何用戶初始組(主組 )" 的組,換句話說,如果有組還是某用戶的初始組(主組),則無(wú)法使用 groupdel 命令成功刪除。例如:

[root@lokott ~]# tail  -10 /etc/group                
stapdev:x:158:
tcpdump:x:72:
lokott:x:1000:
printadmin:x:985:
caiwu:x:1002:
lisi:x:1003:
wangwu:x:1005:hh,ww
zhangsan:x:1006:
hh:x:1007:
ww:x:1004:
[root@lokott ~]# groupdel caiwu 
[root@lokott ~]# groupdel lisi
groupdel:不能移除用戶“l(fā)isi”的主組
[root@lokott ~]# groupdel wangwu 
[root@lokott ~]# groupdel zhangsan 
groupdel:不能移除用戶“zhangsan”的主組
[root@lokott ~]# groupdel hh
groupdel:不能移除用戶“hh”的主組
[root@lokott ~]# groupdel ww
groupdel:不能移除用戶“ww”的主組
[root@lokott ~]# 

如果真的要?jiǎng)h除,可以將創(chuàng)建該組的初始成員刪除后再刪除

[root@lokott note]# tail -1 /etc/passwd
ww:x:10000:10000::/home/ww:/bin/bash
[root@lokott note]# groupdel ww
groupdel:不能移除用戶“ww”的主組
[root@lokott note]# userdel ww
[root@lokott note]# tail -1 /etc/group
zhangsan:x:1006:
[root@lokott note]# 
命令lastb是用來查看最近登錄的信息
[root@lokott ~]# lastb
lisi     :1           :1               Thu Oct 31 18:49 - 18:49  (00:00)    
root     pts/1                         Thu Oct 31 17:07 - 17:07  (00:00)    
root     :0           :0               Thu Oct 24 14:43 - 14:43  (00:00)    
root     :0           :0               Thu Oct 24 14:43 - 14:43  (00:00)    
root     :0           :0               Thu Oct 24 14:43 - 14:43  (00:00)    

btmp begins Thu Oct 24 14:43:01 2019
[root@lokott ~]# 

四、文件/目錄的權(quán)限及歸屬

1.訪問權(quán)限

讀取r:允許查看文件內(nèi)容、顯示目錄列表

寫入w:允許修改文件內(nèi)容,允許在目錄中新建、移動(dòng)、刪除文件或子目錄

可執(zhí)行x: 允許運(yùn)行程序、切換目錄

2.歸屬(所有權(quán))

屬主:用于該文件或目錄的用戶賬號(hào)

屬組:用于該文件或目錄的組賬號(hào)

3.結(jié)合實(shí)例介紹權(quán)限

[root@lokott ~]# ls -l
總用量 8
-rw-------. 1 root root 1785 10月 23 12:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 1833 10月 23 12:24 initial-setup-ks.cfg
drwxr-xr-x. 4 root root   73 10月 30 22:03 note  //以此為例介紹

下面對(duì)drwxr-xr-x. 4 root root 73 10月 30 22:03 note 進(jìn)行解釋

  1. d ——文件類型(d表示目錄、l表示鏈接文件、c表示字符設(shè)備(輸入輸出)文件、b塊設(shè)備(存儲(chǔ))文件 - 普通文件)
  2. rwx 、 r-x、r-x分別代表是屬主權(quán)限(這里表示可讀可寫可執(zhí)行)、屬組權(quán)限(這里表示可讀可執(zhí)行)、other權(quán)限(這里表示可讀可執(zhí)行)
  3. 4 ——子目錄的數(shù)量
  4. 第一個(gè)root—— 屬主
    5.第二個(gè) root ——屬組
  5. 73——大小
  6. 10月 30 22:03 ——?jiǎng)?chuàng)建時(shí)間
  7. note ——目錄名(文件)

4.設(shè)置文件和目錄的權(quán)限chmod 命令(-R 遞歸)

  1. chmod 【ugoa】【+-=】【rwx】
  2. chmod nnn 文件或目錄(優(yōu)先選擇)
//下面是對(duì)文件的權(quán)限操作
[root@lokott note]# touch 2.sh    
[root@lokott note]# ls -l 2.sh                  //2.sh權(quán)限是644
-rw-r--r--. 1 root root 0 10月 31 21:41 2.sh 
[root@lokott note]# chmod u+x 2.sh 
[root@lokott note]# ls -l 2.sh 
-rwxr--r--. 1 root root 0 10月 31 21:41 2.sh
[root@lokott note]# chmod ugo+w 2.sh 
[root@lokott note]# ls -l 2.sh 
-rwxrw-rw-. 1 root root 0 10月 31 21:41 2.sh
[root@lokott note]# chmod 655 2.sh 
[root@lokott note]# ls -l 2.sh 
-rw-r-xr-x. 1 root root 0 10月 31 21:41 2.sh

//下面是對(duì)目錄的權(quán)限操作
[root@lokott note]# ll                        //ll是ls -l --color 的別名
總用量 8
-rwxrwxrwx. 1 root root   0 10月 31 21:40 1.txt
-rw-r-xr-x. 1 root root   0 10月 31 21:41 2.sh
-rwxrwxrwx. 1 root root 286 10月 30 22:03 ifcfg-ens33
drwxrwxrwx. 2 root root  26 10月 23 13:20 linux-cmd
-rwxr-xr-x. 1 root root  30 10月 30 22:02 readme.txt
drwxrwxrwx. 2 root root 173 10月 30 21:56 shell
drwxr-xr-x. 2 root root   6 10月 31 21:38 test
[root@lokott note]# which ll         
alias ll='ls -l --color=auto'
    /usr/bin/ls
[root@lokott note]# chmod  777 test/      更改權(quán)限為777
[root@lokott note]# ll
總用量 8
-rwxrwxrwx. 1 root root   0 10月 31 21:40 1.txt
-rw-r-xr-x. 1 root root   0 10月 31 21:41 2.sh
-rwxrwxrwx. 1 root root 286 10月 30 22:03 ifcfg-ens33
drwxrwxrwx. 2 root root  26 10月 23 13:20 linux-cmd
-rwxr-xr-x. 1 root root  30 10月 30 22:02 readme.txt
drwxrwxrwx. 2 root root 173 10月 30 21:56 shell
drwxrwxrwx. 2 root root   6 10月 31 21:38 test
[root@lokott note]# touch test/1.sh
[root@lokott note]# ls -l test/1.sh 
-rw-r--r--. 1 root root 0 10月 31 21:50 test/1.sh   //目錄的權(quán)限與其子目錄與文件權(quán)限無(wú)關(guān)除非遞歸—R
[root@lokott note]# chmod 777 -R test/     //遞歸更改權(quán)限 即test和其子目錄的所有文件權(quán)限都是777
[root@lokott note]# ls -l test/1.sh 
-rwxrwxrwx. 1 root root 0 10月 31 21:50 test/1.sh

如果給予屬組和其他用戶只有寫權(quán)限(622),可以強(qiáng)制寫入,但會(huì)覆蓋原本的內(nèi)容!

[root@lokott test]# pwd                             //當(dāng)前所在目錄的絕對(duì)路徑
/opt/test
[root@lokott test]# ll                              //顯示詳細(xì)信息
總用量 8
-rw-r--r--. 1 root root 13 10月 31 16:33 1.txt        //除了root的其余用戶權(quán)限為只讀
-rw--w--w-. 1 root root 18 10月 31 18:33 2.txt         //除了root的其余用戶權(quán)限為只寫
[root@lokott test]# cat 1.txt 
tehsda
hello
[root@lokott test]# cat 2.txt                          //這邊原本的2.txt的內(nèi)容如下
231354
2222244878
[root@lokott lisi]# su - lisi                          //切換到lisi用戶
上一次登錄:四 10月 31 22:36:45 CST 2019pts/1 上
[lisi@lokott ~]$ cd /opt/test/
[lisi@lokott test]$ ll                                  //沒有l(wèi)s的權(quán)限
ls: 無(wú)法打開目錄.: 權(quán)限不夠
[lisi@lokott test]$ cat 1.txt                           //表示可以查看1.txt內(nèi)容
tehsda
hello
[lisi@lokott test]$ vim 1.txt                          //嘗試寫入數(shù)據(jù)
[lisi@lokott test]$ cat 1.txt                           //可以wq!強(qiáng)制保存退出,結(jié)果是可以寫入數(shù)據(jù)的
tehsda
hello
dada
asdaadas
[lisi@lokott test]$ cat 2.txt
cat: 2.txt: 權(quán)限不夠
[lisi@lokott test]$ vim 2.txt
[lisi@lokott test]$ cat 2.txt                             //似乎強(qiáng)制寫入數(shù)據(jù)之后就可以查看,因?yàn)閷僦魇莑isi,但如果                                                                           //屬主是root用戶在lisi用戶登錄時(shí)就無(wú)法查看
ssdad                                                           
dsawdad
[lisi@lokott test]$ ls -l 2.txt
-rw--w--w-. 1 lisi lisi 14 10月 31 22:45 2.txt
//使用echo命令重定向和追加形式寫入數(shù)據(jù)到文本中
[lisi@lokott test]$ echo "123123" > 2.txt    
[lisi@lokott test]$ cat 2.txt
123123
[lisi@lokott test]$ echo "123456" >> 2.txt
[lisi@lokott test]$ cat 2.txt
123123
123456  
[lisi@lokott test]$ su 
密碼:
[root@lokott test]# ls -l
總用量 8
-rw-r--r--. 1 lisi lisi 27 10月 31 22:43 1.txt
-rw--w--w-. 1 lisi lisi 14 10月 31 22:47 2.txt
[root@lokott test]# cat 2.txt 
123123
123456
[root@lokott test]# 

5.設(shè)置文件和目錄的歸屬chown

  1. chown 屬主
  2. chown :屬組
  3. chown 屬主:屬組
[root@lokott opt]# ls -l 
總用量 0
-rw-r--r--. 1 root root  0 10月 31 16:19 demo01.txt
drwxr-xr-x. 2 root root  6 3月  26 2015 rh
drwx-wx-wx. 2 root root 32 10月 31 22:45 test
[root@lokott opt]# chown lisi test    
[root@lokott opt]# ls -l                           
總用量 0
-rw-r--r--. 1 root root  0 10月 31 16:19 demo01.txt
drwxr-xr-x. 2 root root  6 3月  26 2015 rh
drwx-wx-wx. 2 lisi root 32 10月 31 22:45 test        //test目錄自身屬主變成lisi而屬組未發(fā)生改變

[root@lokott opt]# chown root:lisi test
[root@lokott opt]# ls -l 
總用量 0
-rw-r--r--. 1 root root  0 10月 31 16:19 demo01.txt
drwxr-xr-x. 2 root root  6 3月  26 2015 rh
drwx-wx-wx. 2 root lisi 32 10月 31 22:45 test        //test目錄自身屬主變成root而屬組變?yōu)閘isi

[root@lokott opt]# chown :root test
[root@lokott opt]# ls -l 
總用量 0
-rw-r--r--. 1 root root  0 10月 31 16:19 demo01.txt
drwxr-xr-x. 2 root root  6 3月  26 2015 rh
drwx-wx-wx. 2 root root 32 10月 31 22:45 test        //test目錄自身屬組變?yōu)閞oot

6.權(quán)限掩碼umask

作用:控制新建的文件或者目錄的權(quán)限——注意只是對(duì)新建的有效

默認(rèn)權(quán)限去除umask的權(quán)限為

[root@lokott opt]# mkdir umasktest
[root@lokott opt]# umask 000 umasktest/
[root@lokott opt]# ll
總用量 0
-rw-r--r--. 1 root root  0 10月 31 16:19 demo01.txt
drwxr-xr-x. 2 root root  6 3月  26 2015 rh
drwx-wx-wx. 2 root lisi 32 10月 31 22:45 test
drwxrwxrwx. 2 root root  6 10月 31 23:26 umasktest
[root@lokott opt]# cd umasktest/
[root@lokott umasktest]# mkdir 2019
[root@lokott umasktest]# touch 1.txt
[root@lokott umasktest]# ll
總用量 0
-rw-rw-rw-. 1 root root 0 10月 31 23:26 1.txt             //文件權(quán)限為666
drwxrwxrwx. 2 root root 6 10月 31 23:26 2019              //目錄權(quán)限為777

[root@lokott umasktest]# cd ..
[root@lokott opt]# umask  111 umasktest/                     //原本的1.txt和2019權(quán)限沒有發(fā)生變化!
[root@lokott opt]# cd umasktest/
[root@lokott umasktest]# mkdir 2018
[root@lokott umasktest]# touch 2.txt
[root@lokott umasktest]# ll
總用量 0
-rw-rw-rw-. 1 root root 0 10月 31 23:26 1.txt
drw-rw-rw-. 2 root root 6 10月 31 23:28 2018            //目錄權(quán)限為666
drwxrwxrwx. 2 root root 6 10月 31 23:26 2019
-rw-rw-rw-. 1 root root 0 10月 31 23:28 2.txt           // 2.txt權(quán)限為666

[root@lokott umasktest]# cd ..
[root@lokott opt]# umask  666 umasktest/
[root@lokott opt]# cd umasktest/
[root@lokott umasktest]# mkdir 2017
[root@lokott umasktest]# touch 3.txt
[root@lokott umasktest]# ll
總用量 0
-rw-rw-rw-. 1 root root 0 10月 31 23:26 1.txt
d--x--x--x. 2 root root 6 10月 31 23:29 2017              //目錄權(quán)限為111
drw-rw-rw-. 2 root root 6 10月 31 23:28 2018
drwxrwxrwx. 2 root root 6 10月 31 23:26 2019
-rw-rw-rw-. 1 root root 0 10月 31 23:28 2.txt
----------. 1 root root 0 10月 31 23:29 3.txt            //文件3.txt權(quán)限全為0  
[root@lokott umasktest]# umask                          //查看umask值
0666
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI