㈠ linux可讀可寫許可權
1.可讀許可權r
表示具有讀取/閱讀文件內容的許可權。
2.可寫許可權w
表示具有新增、修改文件內容的許可權。
①如果沒有r,用vi編輯器,輸入「:wq!"可以強制覆蓋,但原文件內容會被清除;因此可以使用echo追加內容到文件。
②刪除文件(修改文件名等)的許可權是受父目錄的許可權控制,和文件本身的許可權無關,文件名在父目錄的block里。
3.可執行許可權x
表示具有執行文件的許可權。
①文件本身要能夠執行。
②普通用戶必須還要有r許可權才能夠執行,無r就不能執行。
③root即使沒有r許可權,只要有x許可權就能執行。
④root用戶位沒有執行許可權,但只要其他許可權位還有x許可權,那它就能執行。
㈡ Linux許可權管理之基本許可權
(Linux許可權管理之基本許可權-慕課網 http://www.imooc.com/learn/481 )
一、文件基本許可權
1、基本許可權的修改
-rw-r--r--
- 文件類型(- 文件 d 目錄 l 軟鏈接文件)
rw- u所有者
r-- g所屬組
r-- o其他人
r 讀
w 寫
x 執行
chmod命令
chmod [選項] 模式 文件名
- 選項
-R 遞歸
- 模式
[ugoa] [+-=] [rwx]
[mode=421]
chmod u+x cangls.av
chmod g+w o+w furong.av
chmod a=rwx fengjie.av
#創建新文件
[root@localhost ~]# touch cangls.av
[root@localhost ~]# ll
#所有者添加執行許可權
[root@localhost ~]# chmod u+x cangls.av
[root@localhost ~]# ll
#所屬組和其他人添加寫許可權
[root@localhost ~]# chmod g+w,o+w cangls.av
[root@localhost ~]# ll
#所有者減去執行許可權,所屬組和其他人減去寫許可權
[root@localhost ~]# chmod u-x,g-w,o-w cangls.av
[root@localhost ~]# ll
#所有者添加讀寫執行許可權,所屬組添加讀寫許可權
[root@localhost ~]# chmod u=rwx,g=rw cangls.av
[root@localhost ~]# ll
#所有人賦予讀寫許可權
[root@localhost ~]# chmod a=rw cangls.av
[root@localhost ~]# ll
r ----4
w ----2
x ----1
rwxr-xr-x
7 5 5
#所有者賦予讀寫執行許可權,所屬組和其他人賦予讀執行許可權
[root@localhost ~]# chmod 755 cangls.av
[root@localhost ~]# ll
#改為普通文件許可權
[root@localhost ~]# chmod 644 cangls.av
[root@localhost ~]# ll
777(文件最高許可權)
644(普通文件許可權)
755(所有者賦予讀寫執行許可權,所屬組和其他人賦予讀執行許可權)
r:讀取文件的內容(cat more head tail)
w:編輯、新增、修改文件內容(vi echo),但是不包含刪除文件;
x:可執行
r:可以查詢目錄下文件名(ls)
w:具有修改目錄結構的許可權。如新建文件和目錄,刪除此目錄下文件和目錄,重命名此目錄下文件和目錄,剪切(touch rm mv cp)
x:可以進入目錄(cd)
對文件來講:最高許可權是x(執行)
對目錄來講:最高許可權是w(寫),能賦予的許可權只有0,5,7
#創建普通用戶user1
[root@localhost ~]# useradd user1
#創建普通用戶密碼user1
[root@localhost ~]# passwd user1
更改用戶 user1 的密碼 。
新的 密碼:123
無效的密碼: WAY 過短
無效的密碼: 過於簡單
重新輸入新的 密碼:123
passwd: 所有的身份驗證令牌已經成功更新。
chown 用戶名 文件名
例如:chown ds fengj.av
chgrp 組名 文件名
例如:chgrp group1 fengj.av
要求:
擁有一個av目錄
讓加藤老師擁有所有的許可權
讓本課程學員有查看的許可權
其他所有人不許查看這個目錄
#創建目錄
[root@localhost ~]# mkdir av
#查看
[root@localhost ~]# ll -d av
[root@localhost ~]# useradd jt
[root@localhost ~]# passwd jt
更改用戶 jt 的密碼 。
新的 密碼:
無效的密碼: WAY 過短
無效的密碼: 過於簡單
重新輸入新的 密碼:
passwd: 所有的身份驗證令牌已經成功更新。
#添加組
[root@localhost ~]# groupadd user
#把user1用戶加到user組裡面
[root@localhost ~]# gpasswd -a user1 user
Adding user user1 to group user
[root@localhost ~]# chown jt:user av
[root@localhost ~]# ll -d av
#其他人改為0許可權
[root@localhost ~]# chmod 750 av
[root@localhost ~]# ll -d av
#查看默認許可權
[root@localhost ~]# umask
0022
第一位0:文件特殊許可權
022:文件默認許可權
文件默認不能建立為執行文件,必須手工賦予執行許可權;
所以文件默認許可權最大為666;
默認許可權需要換算成字母再相減;
建立文件之後的默認許可權,為666減去umask值;
例如:
文件默認最大許可權666,umask值022;
-rw-rw-rw-減去-----w--w-等於-rw-r--r--
例如:
文件默認最大許可權666,umask值033
-rw-rw-rw-減去-----wx-wx等於-rw-r--r--
目錄的默認許可權最大為777;
默認許可權需要換算成字母再相減;
建立文件之後的默認許可權,為777減去umask值;
例如:
目錄默認最大許可權為777,umask值022;
-rwxrwxrwx減去-----w--w-等於-rwxr-xr-x
臨時修改
umask 0002
永久修改
vi /etc/profile
㈢ Linux系統下用戶以及許可權管理
一、操作系統中的用戶管理 相關配置文件解讀
Linux用戶在操作系統可以進行日常管理和維護,涉及到的相關配置文件如下:
/etc/passwd 保存操作系統中的所有用戶信息
root : x : 0 : 0 : root : /root : /bin/bash
name:password:UID:GID:GECOS:directory:shell
用戶名 :密碼佔位符 :uid :基本組的gid :用戶信息記錄欄位:用戶的家目錄:用戶登錄系統後使用的命令解析器
————————————————
欄位1:用戶名
欄位2:密碼佔位符
欄位3:用戶的UID 0 表示超級用戶 , 500-60000 普通用戶 , 1-499 程序用戶
欄位4:基本組的GID 先有組才有用戶
欄位5:用戶信息記錄欄位
欄位6:用戶的家目錄
欄位7:用戶登錄系統後使用的命令解釋器
————————————————
UID:0表示超級用戶, 程序用戶 (1-499),普通用戶 (500以上60000以下),根據uid將用戶分為以上三類用戶。
/etc/shw 保存用戶密碼(以加密形式保存)
[root@xing /]# cat /etc/shadow
root : $6$Jw5XsDvvNBH5Xoq. : 19180 : 0 : 99999 : 7 : : :
用戶名:密碼(加密後的字元串):最近一次的修改時間【距離1970年1月1日的距離】:密碼的最短有效期:密碼的最長有效期:密碼過期前7天警告:密碼的不活躍期:用戶的失效時間: 保留欄位
————————————————
欄位1:用戶名
*欄位2:用戶的密碼加密後的字元串(sha)
欄位3:距離1970/1/1密碼最近一次修改的時間
欄位4:密碼的最短有效期
*欄位5:密碼的最長有效期(建議時間 90)
欄位6:密碼過期前7天警告
欄位7:密碼的不活躍期
欄位8:用戶的失效時間
欄位9:保留欄位
這個欄位目前沒有使用,等待新功能的加入。
————————————————
/etc/group 保存組信息
————————————————
root:x:0:
bin:x:1:bin,daemon
組名:組的密碼佔位符:gid:附加組成員
————————————————
/etc/login.defs 用戶屬性限制,密碼過期時間,密碼最大長度等限制
/etc/default/useradd 顯示或更改默認的useradd配置文件
二、文件及目錄許可權
文件與許可權: 即文件或者目錄屬於哪個用戶,屬於哪個組,不同的用戶能對該文件進行何種操作。
————————————————
註:
查看文件許可權: ls -l 文件
查看目錄許可權 : ls -ld 目錄
————————————————
[root@xing Desktop]# ls -l /root/Desktop/
total 70584
lrwxrwxrwx. 1 root root 18 Jul 14 14:32 123.txt -> /root/Desktop/ming
-rw-r--r--. (文件屬性) 1 (鏈接個數: 表示指向它的鏈接文件的個數 ) root (所屬者) root (所屬組) 0(文件大小:單位byte) Jul 14 14:14(最後一次修改時間) 2.txt(文件名)
drwx------.(文件屬性) 7 (目錄中的子目錄數: 此處看到的值要減2才等於該目錄下的子目錄的實際個數。 ) root (所屬者) root (所屬組) 4096 (文件大小:單位byte)Jul 13 16:56(最後一次修改時間) vmware-tools-distrib(目錄名)
[root@xing Desktop]# ls -ld /root/Desktop/
drwxr-xr-x. 3 root root 4096 Jul 14 14:44 /root/Desktop/
————————————————
文件屬性解釋:
- rw- r-- r-- .
d rwx r-x r-x .
欄位1:文件類型 【- 普通文件 d目錄 l符號鏈接 b塊設備】
欄位2:文件所有者對該文件的許可權
欄位3:文件所屬組的許可權
欄位4:其他用戶的許可權(既不是文件所有者也不是文件所屬組的用戶)
欄位5:表示文件受 selinux 的程序管理
8進制賦權法: r 【100】4; w【010】2; x【001】1
————————————————
三、用戶以及許可權管理命令匯總:
————————————————
用戶增刪改命令
useradd
userdel
usermod
————————————————
用戶組增刪改命令
groupadd
groupdel
groupmod
————————————————
passwd
change
————————————————
文件許可權修改: chmod命令
chmod 對象 算數運算符 許可權 文件
[root@xing tmp]# ls -ld ming
drwxr-xr-x. 2 root root 4096 Jul 16 10:27 ming
[root@xing tmp]# chmod o-x ming
[root@xing tmp]# ls -ld ming
drwxr-xr--. 2 root root 4096 Jul 16 10:27 ming
————————————————
文件所屬者修改:
chown 用戶 文件
[root@xing tmp]# chown ming ming
[root@xing tmp]# ls -ld ming
drwxr-xr--. 2 ming root 4096 Jul 16 10:27 ming
————————————————
文件所屬組修改:
chgrp 組 文件
[root@xing tmp]# chgrp ming ming
[root@xing tmp]# ls -ld ming
drwxr-xr--. 2 ming ming 4096 Jul 16 10:27 ming
————————————————
8進制賦權法
[root@xing ~]# chmod 644 /tmp/ming
[root@xing ~]# ls -ld /tmp/ming
drw-r--r--. 2 ming ming 4096 Jul 16 10:27 /tmp/ming
————————————————
linux下命令「ll」是「ls -l"的別名。
————————————————
粘滯位:賦權後的文件 只有建立者可以刪除
chmod o+t 文件
[root@xing ~]# chmod o+t /tmp/ming
[root@xing ~]# ll -d /tmp/ming
drw-r--r-T . 2 ming ming 4096 Jul 16 10:27 /tmp/ming
————————————————
sgid : 賦權後的目錄,新建立的文件或者子目錄的所屬組繼承父目錄的所屬組
chmod g+s 目錄
[root@xing ming]# chmod g+s /tmp/ming
[root@xing tmp]# ll
drw-r-Sr-T. 2 ming ming 4096 Jul 16 11:29 ming
[root@xing ming]# touch 20.txt
[root@xing ming]# ll
-rw-r--r--. 1 root ming 0 Jul 16 11:33 20.txt
[root@xing ming]# mkdir 60
[root@xing ming]# ll
drwxr-sr-x. 2 root ming 4096 Jul 16 11:34 60
————————————————
suid :允許誰運行該文件具有該文件所屬者的許可權
chmod u+s 文件
[root@xing Desktop]# ll /usr/bin/vim
-rwxr-xr-x. 1 root root 2324712 Dec 22 2016 /usr/bin/vim
[root@xing Desktop]# chmod u+s /usr/bin/vim
[root@xing Desktop]# ll /usr/bin/vim
-rwsr-xr-x. 1 root root 2324712 Dec 22 2016 /usr/bin/vim
備註:linux 紅底白字代表警告!
————————————————
[root@xing Desktop]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
suid:4 sgid:2 粘滯位:1
[root@xing Desktop]# find /usr/bin -perm 4 755
/usr/bin/at
/usr/bin/chage
/usr/bin/pkexec
/usr/bin/Xorg
/usr/bin/crontab
/usr/bin/newgrp
/usr/bin/vim
/usr/bin/gpasswd
/usr/bin/passwd
/usr/bin/ksu
————————————————
1、不再允許添加新用戶的請求
chattr命令 :用於改變文件屬性
chattr +i 文件
lsttr命令 :查看文件屬性
lsattr 文件
[root@xing Desktop]# lsattr /etc/passwd /etc/shadow
-------------e- /etc/passwd
-------------e- /etc/shadow
[root@xing Desktop]# chattr +i /etc/passwd /etc/shadow
[root@xing Desktop]# lsattr /etc/passwd /etc/shadow
----i--------e- /etc/passwd
----i--------e- /etc/shadow
[root@xing Desktop]# useradd kk
useradd: cannot open /etc/passwd
2、umask
root用戶的umask默認值是0022,一般用戶默認是0002
目錄的最高許可權 0777-0022=0755
文件的最高許可權 0666-0022=644
一般伺服器配置umask的值配置為027最好;需要去修改兩處文件中的umask值。
/etc/profile
/etc/bashrc
3、修改默認的密碼最長有效期:修改以下配置文件
/etc/login.defs
㈣ linux root用戶修改許可權說是只讀文件系統,怎麼辦
linux root用戶修改許可權說是只讀文件系統是設置錯誤造成的,解決方法為:
1、打開linux系統,建立一個目錄,文件夾創建命令mkdir ceshi。
注意事項:
Linux與其他操作系統相比 ,具有開放源碼、沒有版權、技術社區用戶多等特點 ,開放源碼使得用戶可以自由裁剪,靈活性高,功能強大,成本低。
㈤ linux怎麼獲取root許可權
root是linux的超級管理員,擁有linux系統的最高許可權。
設置許可權對root用戶基本上是無效的。
建議新建用戶,然後對其設置許可權吧。不要改動root。
㈥ 在linux修改文件夾及其子文件夾的許可權。
1:想一次修改某個目錄下所有文件的許可權,包括子目錄中的文件許可權也要修改,要使用參數-R表示啟動遞歸處理。
例如:
[root@localhost ~]# chmod 777 /home/user註:僅把/home/user目錄的許可權設置為rwxrwxrwx
[root@localhost ~]# chmod -R 777 /home/user註:表示將整個/home/user目錄與其中的文件和子目錄的許可權都設置為rwxrwxrwx
2:想一次修改某個目錄下所有文件的許可權,包括子目錄中的文件許可權也要修改,要使用參數-R表示啟動遞歸處理。
例如:
[root@localhost ~]# chmod 777 /home/user註:僅把/home/user目錄的許可權設置為rwxrwxrwx
[root@localhost ~]# chmod -R 777 /home/user註:表示將整個/home/user目錄與其中的文件和子目錄的許可權都設置為rwxrwxrwx
例如:chmod -R +x /usr/apache-tomcat-5.5.23/webapps/NEWTRADECARD 修改此目錄下所有文件及文件夾增加可執行許可權
㈦ linux系統一般用戶訪問root文件夾
Linux下普通用戶訪問root文件夾許可權,可以提升普通用戶許可權實現。
修改用戶的配置文件,讓該普通用戶提升許可權
#修改用戶配置文件/etc/passwd
#把其中的uid改為0,gid改為0許可權就跟root一樣了。
vim/etc/passwd
#例如admin賬戶
admin:x:0:0::/home/admin:/bin/bash
#[用戶名]:[密碼]:[UID]:[GID]:[身份描述]:[主目錄]:[登錄shell]
㈧ Linux的文件夾許可權如何更改
chmod命令用於修改文件或目錄的許可權,格式為:"chmod
[參數]
許可權
文件或目錄名稱"。
chown命令用於修改文件或目錄的所屬主與所屬組,格式為:「chown
[參數]
所屬主:所屬組
文件或目錄名稱」。
chmod與chown的命令參數很簡單記——對於文件不加參數,遇到目錄加大寫-R(遞歸,修改目錄內所有文件的屬性)。
linux下文件還有很多隱藏屬性:http://www.linuxprobe.com/chapter-05.html#54
創建工作目錄並給予GID許可權:
[root@linuxprobe
~]#
cd
/tmp
[root@linuxprobe
tmp]#
mkdir
testdir
[root@linuxprobe
tmp]#
ls
-ald
testdir/
drwxr-xr-x.
2
root
root
6
Feb
11
11:50
testdir/
[root@linuxprobe
tmp]#
chmod
-Rf
777
testdir/
[root@linuxprobe
tmp]#
chmod
-Rf
g+s
testdir/
[root@linuxprobe
tmp]#
ls
-ald
testdir/
drwxrwsrwx.
2
root
root
6
Feb
11
11:50
testdir/
切換至普通用戶linuxprobe,在該目錄創建文件:
[root@linuxprobe
tmp]#
su
-
linuxprobe
Last
login:
Wed
Feb
11
11:49:16
CST
2015
on
pts/0
[linuxprobe@linuxprobe
~]$
cd
/tmp/testdir/
[linuxprobe@linuxprobe
testdir]$
echo
"linuxprobe.com"
>
test
[linuxprobe@linuxprobe
testdir]$
ls
-al
total
8
drwxrwsrwx.
2
root
root
17
Feb
11
11:50
.
drwxrwxrwt.
18
root
root
4096
Feb
11
11:50
..
-rw-rw-r--.
1
linuxprobe
root
15
Feb
11
11:50
test
㈨ linux文件許可權命令
有三種不同類型的用戶可對文件或目錄進行訪問:文件所有者,同組用戶、其他用戶。所有者一般是文件的創建者。所有者可以允許同組用戶有權訪問文件,還可以將文件的訪問許可權賦予系統中的其他用戶。在這種情況下,系統中每一位用戶都能訪問該用戶擁有的文件或目錄。
每一文件或目錄的訪問許可權都有三組,每組用三位表示,分別為文件屬主的讀、寫和執行許可權;與屬主同組的用戶的讀、寫和執行許可權;系統中其他用戶的讀、寫和執行許可權。當用ls -l命令顯示文件或目錄的詳細信息時,最左邊的一列為文件的訪問許可權。例如:
$ ls-l sobsrc.tgz
-rw-r--r--1root root483997Ju1l517:3lsobsrc.tgz
橫線代表空許可。r代表只讀,w代表寫,x代表可執行。注意這里共有10個位置。第一個字元指定了文件類型。在通常意義上,一個目錄也是一個文件。如果第一個字元是橫線,表示是一個非目錄的文件。如果是d,表示是一個目錄。例如:
– rw- r– r–
普通文件 文件主 組用戶 其他用戶
是文件sobsrc.tgz 的訪問許可權,表示sobsrc.tgz是一個普通文件;sobsrc.tgz的屬主有讀寫許可權;與sobsrc.tgz屬主同組的用戶只有讀許可權;其他用戶也只有讀許可權。
確定了一個文件的訪問許可權後,用戶可以利用Linux系統提供的chmod命令來重新設定不同的訪問許可權。也可以利用chown命令來更改某個文件或目錄的所有者。利用chgrp命令來更改某個文件或目錄的用戶組。
下面分別對這些命令加以介紹。
chmod 命令
chmod命令是非常重要的,用於改變文件或目錄的訪問許可權。用戶用它控制文件或目錄的訪問許可權。
以主文件夾下的一個名為「cc」的文件夾為例。下面一步一步介紹如何修改許可權:
1.打開終端。輸入」su」(沒有引號)
2.接下來會要你輸入密碼,輸入你的root密碼。
3.假設我的文件夾在主目錄里,地址為 /var/home/dengchao/cc 。假設我要修改文件許可權為777,則在終端輸入 chmod 777 /var/home/userid/cc 文件夾的許可權就變為了777。
如果是修改文件夾及子文件夾許可權可以用 chmod -R 777 /var/home/userid/cc
具體的許可權(例如777的含意等)在下面解釋下:
1.777有3位,最高位7是設置文件所有者訪問許可權,第二位是設置群組訪問許可權,最低位是設置其他人訪問許可權。
其中每一位的許可權用數字來表示。具體有這些許可權:
r(Read,讀取,許可權值為4):對文件而言,具有讀取文件內容的許可權;對目錄來說,具有瀏覽目 錄的許可權。
w(Write,寫入,許可權值為2):對文件而言,具有新增、修改文件內容的許可權;對目錄來說,具有刪除、移動目錄內文件的許可權。
x(eXecute,執行,許可權值為1):對文件而言,具有執行文件的許可權;對目錄了來說該用戶具有進入目錄的許可權。
2. 首先我們來看如何確定單獨一位上的許可權數值,例如最高位表示文件所有者許可權數值,當數字為7時,7用「rwx」表示 –{4(r)+2(w)+1(x)=7}–又如果數值為6,則用「rw-」表示–{4(r)+2(w)+0(x)=6}–,」-」表示不具備許可權,這里表 示不具備「執行」許可權。
假如我們設定其他用戶的訪問許可權為 「r–」,則數值為4+0+0=4
一開始許多初學者會被搞糊塗,其實很簡單,我們將rwx看成二進制數,如果有則用1表示,沒有則有0表示,那麼rwx則可以表示成為:111
而二進制的111就是7。
3.我們再來看下怎麼確定3個數位上的許可權。假如我們要給一個文件設置許可權,具體許可權如下:
文件所有者有「讀」、「寫」、「執行」許可權,群組用戶有「讀」許可權,其他用戶有「讀」許可權,則對應的字母表示為」rwx r– r–「,對應的數字為744
一般都是最高位表示文件所有者許可權值,第二位表示群組用戶許可權,最低位表示其他用戶許可權。
下面來舉些例子熟悉下。
許可權 數值
rwx rw- r– 764
rw- r– r– 644
rw- rw- r– 664
該命令有兩種用法。一種是包含字母和操作符表達式的文字設定法;另一種是包含數字的數字設定法。
1. 文字設定法
chmod [who] [+ | – | =] [mode] 文件名¼
命令中各選項的含義為:
操作對象who可是下述字母中的任一個或者它們的組合:
u 表示「用戶(user)」,即文件或目錄的所有者。
g 表示「同組(group)用戶」,即與文件屬主有相同組ID的所有用戶。
o 表示「其他(others)用戶」。
a 表示「所有(all)用戶」。它是系統默認值。
操作符號可以是:
+ 添加某個許可權。
– 取消某個許可權。
= 賦予給定許可權並取消其他所有許可權(如果有的話)。
設置mode所表示的許可權可用下述字母的任意組合:
r 可讀。
w 可寫。
x 可執行。
X 只有目標文件對某些用戶是可執行的或該目標文件是目錄時才追加x 屬性。
s 在文件執行時把進程的屬主或組ID置為該文件的文件屬主。方式「u+s」設置文件的用戶ID位,「g+s」設置組ID位。
t 保存程序的文本到交換設備上。
u 與文件屬主擁有一樣的許可權。
g 與和文件屬主同組的用戶擁有一樣的許可權。
o 與其他用戶擁有一樣的許可權。
-c:若該檔案許可權確實已經更改,才顯示其更改動作
-f:若該檔案許可權無法被更改也不要顯示錯誤訊息
-v:顯示許可權變更的詳細資料
-R:對目前目錄下的所有檔案與子目錄進行相同的許可權變更(即以遞回的方式逐個變更)
–help:顯示輔助說明
–version:顯示版本
文件名:以空格分開的要改變許可權的文件列表,支持通配符。在一個命令行中可給出多個許可權方式,其間用逗號隔開。例如:chmod g+r,o+r example使同組和其他用戶對文件example 有讀許可權。
例1:
$ chmod a+x sort
即設定文件sort的屬性為:
文件屬主(u) 增加執行許可權
與文件屬主同組用戶(g) 增加執行許可權
其他用戶(o) 增加執行許可權
例2:
$ chmod ug+w,o-x text
即設定文件text的屬性為:
文件屬主(u) 增加寫許可權
與文件屬主同組用戶(g) 增加寫許可權
其他用戶(o) 刪除執行許可權
例3:
$ chmod u+s a.out
假設執行chmod後a.out的許可權為(可以用ls – l a.out命令來看):
–rws--x--x1inin users7192Nov414:22a.out
並且這個執行文件要用到一個文本文件shiyan1.c,其文件存取許可權為「–rw——-」,即該文件只有其屬主具有讀寫許可權。
當其他用戶執行a.out這個程序時,他的身份因這個程序暫時變成inin(由於chmod命令中使用了s選項),所以他就能夠讀取shiyan1.c這個文件(雖然這個文件被設定為其他人不具備任何許可權),這就是s的功能。
因此,在整個系統中特別是root本身,最好不要過多的設置這種類型的文件(除非必要)這樣可以保障系統的安全,避免因為某些程序的bug而使系統遭到入侵。
例4:
$ chmod a–x mm.txt
$ chmod–x mm.txt
$ chmod ugo–x mm.txt
以上這三個命令都是將文件mm.txt的執行許可權刪除,它設定的對象為所有使用者。
2. 數字設定法
我們必須首先了解用數字表示的屬性的含義:0表示沒有許可權,1表示可執行許可權,2表示可寫許可權,4表示可讀許可權,然後將其相加。所以數字屬性的格式應為3個從0到7的八進制數,其順序是(u)(g)(o)。
例如,如果想讓某個文件的屬主有「讀/寫」二種許可權,需要把4(可讀)+2(可寫)=6(讀/寫)。
數字設定法的一般形式為:chmod [mode] 文件名¼
例1:
$ chmod644mm.txt
$ ls–l
即設定文件mm.txt的屬性為:
-rw-r--r--1inin users1155Nov511:22mm.txt
文件屬主(u)inin 擁有讀、寫許可權
與文件屬主同組人用戶(g) 擁有讀許可權
其他人(o) 擁有讀許可權
例2:
$ chmod750wch.txt
$ ls–l
-rwxr-x---1inin users44137Nov129:22wchtxt
即設定wchtxt這個文件的屬性為:
文件主本人(u)inin 可讀/可寫/可執行權
與文件主同組人(g) 可讀/可執行權
其他人(o) 沒有任何許可權
chgrp命令
功能:改變文件或目錄所屬的組。
語法:chgrp[選項] group filename¼
參數:
-c或–changes 效果類似」-v」參數,但僅回報更改的部分。
-f或–quiet或–silent 不顯示錯誤信息。
-h或–no-dereference 只對符號連接的文件作修改,而不更動其他任何相關文件。
-R或–recursive 遞歸處理,將指定目錄下的所有文件及子目錄一並處理。
-v或–verbose 顯示指令執行過程。
–help 在線幫助。
–reference=<參考文件或目錄> 把指定文件或目錄的所屬群組全部設成和參考文件或目錄的所屬群組相同。
–version 顯示版本信息。
該命令改變指定指定文件所屬的用戶組。其中group可以是用戶組ID,也可以是/etc/group文件中用戶組的組名。文件名是以空格分開的要改變屬組的文件列表,支持通配符。如果用戶不是該文件的屬主或超級用戶,則不能改變該文件的組。
該命令的各選項含義為:
– R 遞歸式地改變指定目錄及其下的所有子目錄和文件的屬組。
例1:
$chgrp-R book/opt/local/book
改變/opt/local /book/及其子目錄下的所有文件的屬組為book。
chown命令
功能:更改某個文件或目錄的屬主和屬組。這個命令也很常用。例如root用戶把自己的一個文件拷貝給用戶yusi,為了讓用戶yusi能夠存取這個文件,root用戶應該把這個文件的屬主設為yusi,否則,用戶yusi無法存取這個文件。
語法:chown[選項] 用戶或組 文件
說明:chown將指定文件的擁有者改為指定的用戶或組。用戶可以是用戶名或用戶ID。組可以是組名或組ID。文件是以空格分開的要改變許可權的文件列表,支持通配符。
參數說明:
user : 新的檔案擁有者的使用者 ID
group : 新的檔案擁有者的使用者群體(group)
-c : 若該檔案擁有者確實已經更改,才顯示其更改動作
-f : 若該檔案擁有者無法被更改也不要顯示錯誤訊息
-h : 只對於連結(link)進行變更,而非該 link 真正指向的檔案
-v : 顯示擁有者變更的詳細資料
-R : 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞回的方式逐個變更)
–help : 顯示輔助說明
–version : 顯示版本
例1:把文件yusi123.com的所有者改為yusi。
$chownyusi yusi123.com
例2:把目錄/demo及其下的所有文件和子目錄的屬主改成yusi,屬組改成users。
$ chown-R yusi.users/demo
例如:chown qq /home/qq (把home目錄下的qq目錄的擁有者改為qq用戶)
例如:chown -R qq /home/qq (把home目錄下的qq目錄下的所有子文件的擁有者改為qq用戶)