1.用戶組說明
在使用useradd命令創建用戶的時侯可以用-g 和-G 指定用戶所屬組和附屬組。
基本組:如果沒有指定用戶組,創建用戶的時候系統會默認同時創建一個和這個用戶名同名的組,這個組就是基本組,不可以把用戶從基本組中刪除。在創建文件時,文件的所屬組就是用戶的基本組。
附加組:除了基本組之外,用戶所在的其他組,都是附加組。用戶是可以從附加組中被刪除的。
用戶不論為與基本組中還是附加組中,就會擁有該組的權限。一個用戶可以屬於多個附加組。但是一個用戶只能有一個基本組。
##將user的加到隸屬組group1
usermod
-G group1 user
##將user的主要組改為group2
usermod
-g group2 user
2.賦予用戶sudo權限
linux下直接運行sudo命令,會提示類似:
xxxis not in the sudoers file. This incident will be reported.
這里,xxx是用戶名稱,然后導致無法執行sudo命令,這時候,如下解決:
進入超級用戶模式。也就是輸入"su -",系統會讓你輸入超級用戶密碼,輸入密碼后就進入了超級用戶模式。(當然,你也可以直接用root用)
編輯/etc/sudoers文件。也就是輸入命令"vim /etc/sudoers",進入編輯模式,找到這一 行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(這里的xxx是你的用戶名),然后保存退出。
然后就行了。
3.777,644,755等用戶權限說明
讀取寫入執行權限
444 r–r–r–600 rw——-644 rw-r–r–666 rw-rw-rw-700 rwx——744 rwxr–r–755 rwxr-xr-x777 rwxrwxrwx
三位數字代表9位的權限,分成3部分,第一部分3位表示所有者的權限,第二部分3位表示同組用戶權限,第三部分3位表示其他用戶權限,r代表讀取權限等於4,w代表寫入權限等於2,x代表執行權限等於1。
比如777,第一位7等於4+2+1,所以就是rwx,所有者有讀取、寫入、執行的權限,第二位7也是4+2+1,rwx,同組用戶具有讀取、寫入、執行權限,第三位7,代表其他用戶有讀取、寫入、執行的權限。
比如744,第一位7等於4+2+1,rwx,所有者具有讀取、寫入、執行權限,第二位4等於4+0+0,r–,同組用戶只有讀取權限、第三位4,也是r–,其他用戶只有讀取權限。
Linux系統下經常遇到文件或者文件夾的權限問題,或者是因為文件夾所屬的用戶問題而沒有訪問的權限。根據我自己遇到的情況,對這類問題做一個小結。
在命令行使用命令“ll”或者“ls -a”,可以查看文件或者文件的權限:
-rw-r--r--. 1 root root 6 Nov 9 16:42 a.txt
其中“-rw-r--r--”表示權限,一共有十個字符。
第一個字符,如果是“-”則表示是文件,如果是“d”則表示是目錄(directory)。
后面9個字符每3個字符又作為一個組,則有3組信息(“rw-”、“r--”、“r--”),分別表示所屬用戶本身具有的權限、所屬用戶的用戶組其他成員的權限、其他用戶的權限。
每一組信息如“rw-”,每一個字符都有它自己的特定含義且先后位置是固定的,其中r是讀權限、w是寫權限、x是可執行權限、-沒有對應字符的權限。Linux里面對這些字符設置對應的數值,r是4,w是2,x是1,-是0。上面的“rw-”則是6(=4+2+0),所以最開始a.txt的權限是644,屬於root用戶組的root用戶。
4.修改權限chmod
4.1文件的權限
我想修改文件a.txt的權限為755,則為:
[root@master my]# ll -rw-r--r--. 1 root root 6 Nov 9 16:42 a.txt #改之前權限是644 [root@master my]# chmod 755 a.txt [root@master my]# ll -rwxr-xr-x. 1 root root 6 Nov 9 16:42 a.txt #改后權限是755
4.2改文件夾的權限
改之前:
[root@master test1]# ll drw-r--r--. 2 root root 4096 Nov 9 16:42 my #改之前文件夾my的權限是644 [root@master test1]# ll my/ -rwxr-xr-x. 1 root root 6 Nov 9 16:42 a.txt #改之前文件夾my的里面的文件權限是755
4.2.1只改變文件夾本身權限,不改動子文件(夾)
執行命令修改my文件夾權限為600:
[root@master test1]# chmod 600 my/ #修改命令 [root@master test1]# ll drw-------. 2 root root 4096 Nov 9 16:42 my #改my文件夾之后權限是600 [root@master test1]# ll my/ -rwxr-xr-x. 1 root root 6 Nov 9 16:42 a.txt #改my文件夾之后里面的文件權限還是755,沒有變化
4.2.2改變文件夾及子目錄下所有文件(夾)權限
執行1.2.1步驟之后,my文件夾和里面的文件權限都是不同的。現在遞歸修改,都改為統一的權限777:
[root@master test1]# chmod -R 777 my/ #修改命令,注意中間是大寫的R,不是小寫 [root@master test1]# ll drwxrwxrwx. 2 root root 4096 Nov 9 16:42 my #修改后my文件夾權限是777 [root@master test1]# ll my/ -rwxrwxrwx. 1 root root 6 Nov 9 16:42 a.txt #修改后里面的文件變為了777
5.修改所屬用戶和用戶組chown
這個和修改文件夾的權限是基本相同的,只不過是把chmod命令換成了chown。
5.1修改文件所屬用戶和用戶組
修改a.txt文件所屬用戶(jay)和用戶組(fefjay):
chown jay:fefjay a.txt #修改文件所屬用戶為jay,所屬用戶組為fefjay
5.2修改文件夾所屬用戶和用戶組
5.2.1只改文件夾本身所屬用戶和用戶組,不改子文件(夾)
僅修改文件夾my本身所屬用戶(jay)和用戶組(fefjay):
chown jay:fefjay my #修改文件所屬用戶為jay,所屬用戶組為fefjay
5.2.2改變文件夾及所有子文件(夾)所屬用戶和用戶組
遞歸修改文件夾my及包含的所有子文件(夾)的所屬用戶(jay)和用戶組(fefjay):
chown -R jay:fefjay my #修改文件所屬用戶為jay,所屬用戶組為fefjay