理解linux文件權限

首先是對於每個賬戶的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.自1970年一月一日(上次修改密碼的日期)到當天的天數:4.多少天后才能修改密碼:5.多少天后必須修改密碼:6.密碼過期前多少天提醒用戶更改密碼:7.密碼過期後多少天禁用用戶帳號:8.用戶賬戶被禁用了多少天(自,1970年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]]


還有兩個東西  改變所屬關係,    共享文件(粘着位)







































發佈了89 篇原創文章 · 獲贊 6 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章