Linux 不同于传统中的系统,区别在于它不仅是多任务系统,而且也是多用户系统。它意味着多个用户可以在同一时间使用同一台计算机。然而一个典型的计算机可能只有一个键盘和一个监视器,但是它仍然可以被多个用户使用。例如,如果一台计算机连接到一个网络或者因特网,那么远程用户通过 ssh(安全shell)可以登录并操纵这台电脑。
更改文件或目录的模式(权限),可以利用 chmod 命令。chmod 命令支持两种不同的方法来改变文件模式:八进制数字表示法,或符号表示法。通过八进制表示法,我们使用八进制数字来设置所期望的权限模式。因为每个八进制数字代表了 3 个二进制数字,这种对应关系,正好映射到用来存储文件模式所使用的方案上,即选择rwx,可读、可写、可执行。
jeremy@ubuntu:~$ > a.txt
jeremy@ubuntu:~$ ls -l a.txt
-rw-rw-r-- 1 jeremy jeremy 0 12月 27 17:35 a.txt
jeremy@ubuntu:~$ chmod 600 a.txt
jeremy@ubuntu:~$ ls -l a.txt
-rw------- 1 jeremy jeremy 0 12月 27 17:35 a.txt
jeremy@ubuntu:~$ ls -l a.txt
--w------- 1 jeremy jeremy 0 12月 27 17:35 a.txt
chmod 命令支持一种符号表示法,来指定文件模式。符号表示法分为三部分:更改会影响谁,要执行哪个操作,要设置哪种权限。通过字符“u”,“g”,“o”,和“a”的组合来指定要影响的对象。
u是”user” 的简写,意思是文件或目录的所有者。
g是”group” 的简写,用户组。
o是”others” 的简写,意思是其他所有的人。
a是”all” 的简写,是”u”, ”g” 和“o”三者的联合。
如果没有指定字符,则假定使用 “all”。执行的操作可能是一个“+”字符,表示加上一个权限,一个“-”,表示删掉一个权限,或者是一个“=”,表示只有指定的权限可用,其它所有的权限被删除。权限由“r”,“w”,和“x”来指定。
jeremy@ubuntu:~$ > a.txt
jeremy@ubuntu:~$ ls -l a.txt
-rw-rw-r-- 1 jeremy jeremy 0 12月 27 17:53 a.txt
jeremy@ubuntu:~$ chmod -rw a.txt
jeremy@ubuntu:~$ ls -l a.txt
---------- 1 jeremy jeremy 0 12月 27 17:53 a.txt
//所有人都不能读写文件
jeremy@ubuntu:~$ chmod u+r a.txt
jeremy@ubuntu:~$ ls -l a.txt
-r-------- 1 jeremy jeremy 0 12月 27 17:53 a.txt
//给文件所有者增加读文件权限
jeremy@ubuntu:~$ chmod g=rw a.txt
jeremy@ubuntu:~$ ls -l a.txt
-r--rw---- 1 jeremy jeremy 0 12月 27 17:53 a.txt
//群组的主人只有读写权限,执行的权限被移除