二、Linux的权限相关命令
通过ls –l的显示结果引出
Linux的文件权限
Linux系统具备很强的安全性能,它可以通过很多方面体现出来,这里提到的文件权限就是其中之一。
用户和群组的概念:Linux是一个多任务、多用户的系统,文件的用户属性可能比较好理解,因为在windows平台中也有类似的东西。用户可以通过设置使得只有自己才能查看自己的文件。别人都无法访问。那么,文件的群组属性是指的什么呢?
Linux的文件权限
文件权限中的rwx分别表示的是可以浏览文件内容、修改文件内容(删除文件,改名等)、赋予文件可执行属性。需要强调的是不是任意文件在赋予x可执行属性之后都能够执行的,但如果文件不具备这个属性那是肯定不能执行的。
对于目录来说,rwx分别表示的是可浏览该目录内容、可删除此目录(或者改名)、可进入此目录。一般来说,r和x权限是联合使用的。
用数字表示权限:
rw-rw-rw-
110110110
每三位一组:
6 6 6
我们就用666来表示权限rw-rw-rw-,这样一来,任何权限都可以用数字来表示。
相关命令:
chmod
eg1:chmod 755 a.txt ;赋予a.txt权限rwxr-xr-x
eg1-1:chmod u=rwx,g=rx,o=rx a.txt
chmod g+rx a.txt
chmod g-rx a.txt
chmod g-rx,o+x a.sh
eg2:chmod -R 755 dir/ ;赋予dir目录中的所有文件和子目录相同的权限rwxr-xr-x
chown 修改文件或者目录的用户和群组属性
典型用法:
groupadd teachers ;增加一个teachers群组
chown linux a.txt ;修改a.txt的用户属性为linux
chown linux.teachers a.txt ;修改a.txt的用户属性为linux,群组属性为teachers
chown -R linux.teachers mydir/ ;修改mydir目录下的所有文件和目录的用户属性为linux,群组属性为teachers
chgrp 修改文件或者目录的群组属性
典型用法:
chgrp teachers a.txt
chgrp -R teachers mydir/
相对来说,这个命令没有chown那么普遍得到使用。
umask:指定用户创建文件或者目录时的默认权限。
重点掌握:
用户建立文件时,默认的最大权限是rw-rw-rw-,表示成数字为666
用户建立目录时,默认的最大权限是rwxrwxrwx,表示成数字为777
umask指定的是“该默认值需要取消的权限”,比如,你想在建立新文件的时候,将文件权限中的同组用户对文件的读权限取消,即由rw-rw-rw-变成rw--w-rw-可以设置umask 040
若取消的是写权限呢,则是umask 020。
SUID、SGID和Sticky bit
通过ls -l /usr/bin/passwd引出
r-s--x--x 1 root root 21200 Aug 22 2005 /usr/bin/passwd
作用是在某个文件执行期间具有文件拥有者的权限。
r-s--x--x=--s------ + r-x--x--x
="4" + "511"=4511
--s------ 100B=4
-----s--- 010B=2
--------t 001B=1
Sticky bit
ls –l /
drwxrwxrwt 8 root root 4096 Nov 19 13:26 tmp