linux学习笔记(3)
---恢复内容开始---
今天主要学习linux下各类文件的意义和简单的权限介绍。
1.任何一个档案都具有『User, Group 及 Others』三个权限。(此处User感觉是笔者笔误或者是既可以写作User,也可以写做Owner。)
Root权限是linux系统中最牛的人!
在我们 Linux 系统当中,预设的情况下,所有的系统上的账号与一般身份使用者,还有那个 root 的相关
信息,都是记录在 /etc/passwd 这个档案内的。至于密码则是记录在 /etc/shadow 这个档案下。 此外,
Linux 所有的群组名称都纪录在 /etc/group 内。
2.认识权限级别。
在terminal(终端)里输入 ls -al,将会显示如下字符串。
drwx------ 3 root root 4096 Jun 25 08:35 .ssh
-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
档案属性:共有十个小横线。
第一个横线表示此文件的类型,当为[ - ]则是档案,例如上表的第 5 行;若是[ l ]则表示为连结档(link file);
若是[ b ]则表示为装置文件里面的可供储存的接口设备;当为[ d ]则是目录,例如上表的第 11 行;
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标。
后九个横线三三分组,分为三组,第一组表示owner的权限,第二组表示group的权限,第三组表示others的权限。
其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(excute)。
关于权限,有一点比较重要。文件夹若想可以被访问,不仅仅要有r权限,还要有x权限。
在 Windows 底下一个档案可执行是藉由『扩展名 』来判断的, 例如:.exe, .bat, .com 等等,但是在 Linux 底下, 我们的档案是否能执行,则是藉由是否具有 x 这个属性来决定的。
连结数留到以后研究。
第七栏为这个档案的档名, 如果档名之前多一个『 . 』,则代表这个档案为『隐藏档』, 例如
上表第 6 行的『.bashrc_history』档名即是隐藏档,由于我们有下一个参数为 ls -al,所以连
隐藏档都列出来,如果你只输入 ls 则档名有加『 . 』的档案就不会被显示出来!
3. 修改权限组:
[root@linux ~]# chgrp [-R] dirname/filename ...
参数:
-R : 进行递归( recursive )的持续变更,亦即连同次目录下的所有档案、目录
都更新成为这个群组之意。常常用在变更某一目录的情况。
范例:
[root@linux ~]# chgrp users install.log
[root@linux ~]# ls -l
-rw-r--r--
1 root users 68495 Jun 25 08:53 install.log
chown类似chgrp。
chmod:此指令用于修改权限级别。
这九个属性是三个三个一组的!其中,我们可以使用数字来代表各个属性,各属性的对照表如下:
r:4
w:2
x:1
同一组 (owner/group/others) 的三个属性 (r/w/x) 是需要累加的,例如当属性为 [-rwxrwx---] 则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0
[root@linux ~]# chmod [-R] xyz 档案或目录
参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归( recursive )的持续变更,亦即连同次目录下的所有档案、目录
都更新成为这个群组之意。常常用在变更某一目录的情况。
举例来说,如果要将 .bashrc 这个档案所有的属性都打开,那么就下达:
[root@linux ~]# ls -al .bashrc
-rw-r--r--
1 root root 395 Jul
4 11:45 .bashrc
[root@linux ~]# chmod 777 .bashrc
[root@linux ~]# ls -al .bashrc
-rwxrwxrwx
1 root root 395 Jul
4 11:45 .bashrc
还有一个改变属性的方法呦!从之前的介绍中我们可以发现,基本上就九个属性分别是(1)user (2)group
(3)others 三群啦!那么我们就可以藉由 u, g, o 来代表三群的属性!此外, a 则代表 all 亦即全部的
三群!那么读写的属性就可以写成了 r, w, x 啰!也就是可以使用底下的方式来看:
u
a +(加入) w
chmod o =(设定) r 档案或目录
g -(除去) x