理解linux檔案許可權

2021-08-18 08:26:05 字數 3115 閱讀 9241

首先是對於每個賬戶的uid

gid等相關概念。

/etc/passwd  與其影子檔案  /etc/shadow

/etc/passd 放著使用者有關資訊,明文的形式

通常uid前500預留給系統服務,以防某個服務被攻陷從而取得過大的許可權而破壞系統。

root的uid一般是0

而普通使用者uid從500開始

[oh@localhost manlist]$ cat /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

mysql:x:27:27:mysql server:/var/lib/mysql:/bin/bash

tcpdump:x:72:72::/:/sbin/nologin

oprofile:x:16:16:special user account to be used by oprofile:/home/oprofile:/sbin/nologin

oh:x:500:500:oh:/home/oh:/bin/bash

oh:x:500:500:oh:/home/oh:/bin/bash

上面有7個字段,以:分隔,:有6個

使用者名稱:uid:gid:主機名:家目錄:預設shell

下面是/etc/shadow檔案,放密碼的地方, 需root許可權

oh:$6$ldro0peuoh5cbymkta/:17574:0:99999:7:::

1.有九個字段,使用者名稱:2.密碼(加密過):3.自2023年一月一日(上次修改密碼的日期)到當天的天數:4.多少天後才能修改密碼:5.多少天後必須修改密碼:6.密碼過期前多少天提醒使用者更改密碼:7.密碼過期後多少天禁用使用者帳號:8.使用者賬戶被禁用了多少天(自,2023年1月1日):9.預留字段,給未來使用

可以看到有些欄位為空。

現在你想新增使用者了,使用命令: useradd

當然他是有預設值的:

[oh@localhost bin]$ useradd -d

bash: /usr/sbin/useradd: 許可權不夠

[oh@localhost bin]$ su - root

密碼:[root@localhost ~]# useradd -d

group=100

home=/home

inactive=-1

expire=

shell=/bin/bash

skel=/etc/skel

create_mail_spool=yes

[root@localhost ~]#

可見不是誰都可以使用useradd的

skel=/etc/skel

當有/etc/skel這個檔案時,允許管理員把這個目錄的內容作為模板給新使用者作家目錄。

先看看/etc/skel有什麼東西

[root@localhost ~]# ls /etc/skel

[root@localhost ~]# ls -al /etc/skel

總用量 36

drwxr-xr-x. 4 root root 4096 2月 13 03:51 .

drwxr-xr-x. 119 root root 12288 4月 8 2018 ..

-rw-r--r--. 1 root root 18 5月 11 2016 .bash_logout

-rw-r--r--. 1 root root 176 5月 11 2016 .bash_profile

-rw-r--r--. 1 root root 124 5月 11 2016 .bashrc

drwxr-xr-x. 2 root root 4096 11月 12 2010 .gnome2

drwxr-xr-x. 4 root root 4096 2月 13 03:48 .mozilla

[root@localhost ~]#

由於是隱藏檔案,所以注意-a

然後使用  useradd -m kkk

-m 才能有家目錄home出現在kkk下,也就是說預設是沒有家目錄的。

如何更改預設值呢?

useradd -d -s /bin/tsch  //類似這樣

passwd:修改密碼:

passwd kkk

預設只能修改自己密碼

當要大量修改密碼時:chpasswd

chpasswd < users.txt

刪除使用者:userdel

userdel kkk  //只刪除使用者

userdel -r kkk //還刪除此使用者的home目錄及mail目錄。

還有  usermod:修改/etc/passwd

chsh,chfn,chage修改特定賬戶(*^__^*) 嘻嘻……

主要講個建立檔案或目錄時的預設許可權問題  umask  掩碼

rwxrw-r--

共九個東西的問題 預設三個一組,檔案屬主,屬組,其它人

讀,寫,執行,有的話為1,沒則為0

[root@localhost ~]# umask

0022

[root@localhost ~]#

umask為0022,預設是的。

第乙個0叫(sticky bit)粘著位

然後是掩碼022----》----w--w-

然後,對檔案來說 全許可權是666    rw-rw-rw-

對目錄:777       rwxrwxrwx

建立乙個新檔案時,用全許可權減umask

所以一般來說    666-022=644

777-022=755

umask的值在/etc/profile啟動檔案裡設定。

改變檔案許可權:

chmod

兩種方式:

1.   chmod 750 k.md         這個叫八進位制模式

2.   [ugoa][[+-=][rwxxstugo]]

還有兩個東西  改變所屬關係,    共享檔案(粘著位)

理解Linux檔案許可權

linux系統會為各種各樣的功能建立不同的賬戶,而這些賬戶並不是真的使用者。這些賬戶被稱作系統賬戶,是系統上執行的各種服務程序訪問資源用的特殊賬戶。一般,系統賬戶的uid值都小於500.passwd檔案裡的密碼字段值都被設定成了x,這是考慮到了密碼的安全性。真正的密碼我們會儲存在 etc shado...

重新理解Linux檔案許可權

rwx r 讀,開啟檔案 r 1 ubuntu ubuntu 6 jun1501 50 hello.txt ubuntu ubuntu mytest rwx cat hello.txt hellow 寫,編輯檔案 w 1 ubuntu ubuntu 6 jun1501 50 hello.txt 然而...

LINUX檔案許可權的理解技巧

在linux中,每個檔案都有相應的許可權屬性 許可權屬性分為所有者 owner 所屬群組 group 其他 other 三組,每組都有讀,寫,執行三個許可權。所有者的許可權排在最前面 所屬群組其次 其他排在最後。如果乙個檔案的許可權屬性為 777 轉換成二進位制就是 111 111 111 1 代表...