Linux用戶及權限管理
當我們用ls -al查看一個文件的詳細信息的時候會顯示出一個有七個字段的文件詳細信息,現在我們來了解下這七個字段各自代表的意義
drwxr-xr-x 18 root root 4096 12月 16 15:25 .config
我們先來說明這七段分別表示什么每個字段我們用 | 隔開
drwxr-xr-x | 18 | root | root | 4096 | 12月 16 15:25 | .config
第一段:文件的類型和權限 有10個字段
第一個字符表示文件類型-:表示文件d:表示目錄l:表示鏈接文件b:塊設備文件p:命名管道s:套接字文件
文件權限
后面的九位表示文件的權限
左三位:定義文件所有者的權限
中三位:同組用戶的權限
右三位:其他用戶的權限
這里三位權限分別為:
r:read,讀
w:write,寫
x:execute,可執行
這里的權限對應到文件和目錄是不同的
文件的權限含義:
r:可獲取文件的數據
w:可修改文件的數據
x:可將此文件運行為進程
目錄的權限含義:
r:可獲取到目錄下的文件列表
w:可修改此目錄下的文件列表,即可創建或刪除文件
x:可切換到此目錄下,也可使用ls -l 來獲取所有文件的詳細屬性
文件的基本權限就只有九個,分別是owner,group,others三種身份,而他們各自又有屬于自己的r w x 權限那么我們可以用數字來代表各自的權限。他們各自的這三個權限數字又是累加的
對照下面就是
r:4
w:2
x:1
那么例如權限為[-rwxrwx—]的話那他們各自身份的權限表示為
owner=rwx=4+2+1=7
write=rwx=4+2+1=7
others=—=0+0+0=0
那么文件的權限就是770
練習:[rw-rw-r–] [rwxrwxrwx] [r-x-wx–x]
664,777,531
文件的默認權限:umask
我們知道了文件的權限,那么我們在新建一個文件或者目錄的時候他的默認權限是什么呢?默認權限是跟umask相關的
[root@localhost ~]# umask 0022
我們這顯示的數字是四位,但是我們文件或目錄的普通權限只有三位.需要說明的是這前面一位是特殊權限位.后面會加以說明
umask碼的默認值是需要減掉的權限,所以說要減去2的權限就是x執行的權限 所以新建文件或者目錄的默認權限如下“
新建文件時:(-rw-rw-rw-)-(—–w–w-)=-rw-r–r–
666-umask
新建目錄時:(drwxrwxrwx)-(d—-w–w-)=drwxr-xr-x
777-umask
注意:這里文件之所以用666區減表示文件默認不能擁有執行權限,如果減得的結果中有執行權限,則需要將其加1
第二段:文件鏈接數
表示有多少個文件鏈接到此節點
第三段:文件或目錄的所有者
第四段:這個文件所屬的用戶組
第五段:文件的大小
默認單位為B
第六段:文件創建日期或者修改日期
第七段:文件名
.代表的是隱藏文件!ls -a可以查看所有文件包括隱藏文件
Linux文件權限管理命令
chmod:更改文件的權限 chmod [OPTION]... MODE[,MODE]... FILE... chmod [OPTION]... OCTAL-MODE FILE... chmod [OPTION]... --reference=RFILE FILE.. 三類用戶: u:屬主 g:屬組 o:其他 a:所有用戶 (1) chmod [OPTION]... MODE[,MODE]... FILE... MODE表示法: 賦權表示法:直接操作一類用戶的所有權限位 u=7 讀寫執行 g=0 沒有權限 o=1 執行權限 a=701 屬主讀寫執行,屬組沒有權限,其他執行權限 授權表示法:直接操作一類用戶的一個權限位 u+,u- u-x 屬主減去執行權限 g+,g- g+r 屬組增加讀權限 o+,o- o-w 其他減去寫權限 a+,a- a-x 所有用戶都減去執行權限 -R:遞歸修改 chown:改變文件的所有者 chown [OPTION]... [OWNER][:[GROUP]] FILE... chown [OPTION]... --reference=RFILE FILE... -R:遞歸修改 chgrp:改變文件屬組 chown [OPTION]... [OWNER][:[GROUP]] FILE... chown [OPTION]... --reference=RFILE FILE... -R:遞歸修改 umask: umask:查看當前umask碼 umask MASK:設置umask碼 install:復制文件并設置屬性 單源復制: install [OPTION]... [-T] SOURCE DEST 多源復制: install [OPTION]... SOURCE... DIRECTORY install [OPTION]... -t DIRECTORY SOURCE... 創建目錄: install [OPTION]... -d DIRECTORY... -m:設定目標文件的權限,默認為755 -o:設定目標文件屬主 -g:設定目標文件屬組 mktemp:創建臨時文件或目錄 mktemp [OPTION]... [TEMPLATE] -d:創建臨時目錄 注意:mktemp會將創建的臨時文件名直接返回,因此,可直接通過命令引用保存起來;
練習:完成以下任務 1、新建系統組mariadb, 新建系統用戶mariadb, 屬于mariadb組,要求其沒有家目錄,且shell為/sbin/nologin;嘗試root切換至用戶,查看其命令提示符;
useradd -r mariadb -s /sbn/nologin -M
2、新建GID為5000的組mageedu,新建用戶gentoo,要求其家目錄為/users/gentoo,密碼同用戶名;
groupadd -g 5000 mageedu
useradd -d /users/gentoo gentoo
echo “gentoo” | passwd –stdin gentoo
3、新建用戶fedora,其家目錄為/users/fedora,密碼同用戶名;
useradd -d /users/fedora fedora
echo "fedora" | passwd –stdin fedora
4、新建用戶www, 其家目錄為/users/www;刪除www用戶,但保留其家目錄;
useradd -d /users/www
userdel www
5、為用戶gentoo和fedora新增附加組mageedu;
groupadd mageedu
usermod -aG mageedu gentoo
usermod -aG mageedu fedora
6、復制目錄/var/log至/tmp/目錄,修改/tmp/log及其內部的所有文件的屬組為mageedu,并讓屬組對目錄本身擁有寫權限;
cp -r /var/log /tmp/
chown -R /tmp/log mageedu
chmod -R g+w
原創文章,作者:N24-執念,如若轉載,請注明出處:http://www.www58058.com/64231