發新話題

檔案/目錄預設的權限

檔案/目錄預設的權限

檔案/目錄預設的權限

預設的權限與 umask 相關,而系統預設的檔案權限為 666-umask,目錄權限為 777-umask.root(特權使用者) 的umask 為022,非特權使用者為002 使用者的 GID 與 UID 不同時的umask為022.(umask 定義在 /etc/bashrc)

[root@unsvr root]#cat /etc/bashrc
----------------------------------------------------------------------------------------------------------------
...............略...................
if [ "`id -gn`" = "`id -un`" -a `id -u` -gt 99 ];then
umask 002
else
umask 022
fi
----------------------------------------------------------------------------------------------------------------
可以看到上面定義了當 uid=gid 或 uid 大於 99 時(一般使用者從500開始起跳), umask 預設為 002.其他的則為 022

ex:.一般使用者檔案/目錄預設的權限
user1 登入系統
[user1@unsvr user1]# cd /fs1
[user1@unsvr fs1]# touch testfile
[user1@unsvr fs1]# mkdir testdir
[user1@unsvr fs1]# ll
total 4
drwxrwxr-x 2 user1 user1 4096 Oct 28 18:10 testdir
-rw-rw-r-- 1 user1 user1 0 Oct 28 18:10 testfile

testfile預設權限為666-002=664(-rw-rw-r--)
這裡並非真的使用減法,而是用遮罩的方式來求得
File 666 -rw-rw-rw-
umask 033 -----wx-wx
---------------
-rw-r--r-- = 644
並非 666-033 = 633

testdir預設權限為777-002=775(drwxrwxr-x)

ex:.root 檔案/目錄預設的權限
root 登入系統
[root@unsvr user1]# cd /fs1
[root@unsvr fs1]# touch testfile
[root@unsvr fs1]# mkdir testdir
[root@unsvr fs1]# ll
total 4
drwxr-xr-x 2 user1 user1 4096 Oct 28 18:10 testdir
-rw-r--r-- 1 user1 user1 0 Oct 28 18:10 testfile

testfile預設權限為666-022=644(-rw-r--r--)
testdir預設權限為777-022=755(drwxr-xr-x)

ex:使用者的 GID 與 UID 不同時的umask
root 登入系統
[root@unsvr root]#adduser user1
[root@unsvr root]#adduser user2
[root@unsvr root]#passwd user1
[root@unsvr root]#passwd user2
[root@unsvr root]# vi /etc/passwd
user1:x:500:501::/home/user1:/bin/bash
user2:x:501:501::/home/user1:/bin/bash
設定 user1 的 uid 為 500 (user1) 而 gid 為 501(user2)
檢查一下 user1 屬於哪一個 group
#id -gn user1
user2
檢查一下 user1 屬於哪一個 user
#id -un user1
user1

user1 登入系統
[user1@unsvr user1]#touch file1
# ll file1
-rw-w--w-- 1 user1 user2 0 Mar 16 22:53 file1
umask為 022 而非,非特權使用者的 002

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。