一、使用chown命令改變文件屬主
chown USERNAME FILE1...... -R :遞歸改變目標文件夾和子文件夾中的所有文件和目錄的 屬主 --reference=RFILE :使用RFILE文件的屬主和屬組作爲目標文件的屬主和屬組 USERNAME:GROUPNAME :同時改變目標文件的屬主和屬組 --dereference :影響鏈接文件指向的文件而不是鏈接文件本身,這是默認 選項 -h, --no-dereference :影響鏈接文件本身而不是鏈接文件指向的文件(如果操作系 統支持的話)
示例:
chown root /u Change the owner of /u to "root". chown root:staff /u Likewise, but also change its group to "staff". chown -hR root /u Change the owner of /u and subfiles to "root".
二、使用chgrp修改文件屬組
chgrp GROUPNAME FILE...... -R :遞歸改變目標文件夾和子文件夾中的所有文件和目錄的 屬組 --reference=RFILE :使用RFILE文件的屬組作爲目標文件的屬組 --dereference :影響鏈接文件指向的文件而不是鏈接文件本身,這是默認 選項 -h, --no-dereference :影響鏈接文件本身而不是鏈接文件指向的文件(如果操作系 統支持的話)
示例:
chgrp staff /u Change the group of /u to "staff". chgrp -hR staff /u Change the group of /u and subfiles to "staff".
三、使用chmod命令修改文件權限
1.同時修改三類文件權限
chmod MODE FILE,...... -R :遞歸修改權限 --reference=RFILE :將目標文件的權限全部修改成爲RFILE文件的權限。
示例:
chmod -R 777 /tmp/a :/tmp/a文件的權限修改成 rwxrwxrwx chmod --reference=/a /tmp/a :將/tmp/a的權限修改成和/a權限相同
2.只修改某類用戶的權限
chmod u/g/o/a = r/w/x FILE,......
3.增加或者刪除某類用戶的某個權限
chmod u/g/o/a +/- r/w/x FILE,......
四、權限相關問題
1.不同的用戶創建了新文件之後默認的權限不相同,這是爲什麼?
kdyzm@kdyzm:/tmp/temp$ touch b kdyzm@kdyzm:~$ su root Password: root@kdyzm:/tmp/temp# touch a kdyzm@kdyzm:/tmp/temp$ ll total 8 drwxrwxr-x 2 kdyzm kdyzm 4096 1月 31 09:50 ./ drwxrwxrwt 13 root root 4096 1月 31 09:42 ../ -rw-r--r-- 1 root root 0 1月 31 09:50 a -rw-rw-r-- 1 kdyzm kdyzm 0 1月 31 09:50 b
不同類別的用戶umask不同(比如root與普通用戶),umask是“反向掩碼”,使用
umask
命令就能夠顯示出來當前用戶umask的值
kdyzm@kdyzm:~$ umask 0002 kdyzm@kdyzm:~$ su root Password: root@kdyzm:/home/kdyzm# umask 0022 root@kdyzm:/home/kdyzm#
當創建文件或者文件夾的時候,系統會根據umask的值設置其對應的權限位的值:如果創建的是文件,那麼使用666-umask作爲文件的默認權限;如果是文件夾,那麼使用777-umask作爲文件夾的默認權限。
需要特別注意的是,Linux默認不允許文件有執行權限,如果經過計算創建的文件有了執行權限,則在執行權限位上自動+1。
2.如何通過配置文件的方式創建一個賬戶