鸟哥的Linux私房菜:基础学习篇 —— 第五章笔记

1、Linux一般将文件可存取的身份分为三个类 别,分别是 owner/group/others,且三种身份各有 read/write/execute 等权限。其中 root 的权限最高。

2、在我们Linux系统当中,默认的情况下,所有的系统上的帐号与一般身份使用者,还有那个 root 的相关信息, 都是记录在/etc/passwd这个文件内的。至于个人的密码则是记录 在/etc/shadow这个文件下。 此外,Linux所有的群组名称都纪录在/etc/group内!这三个文件 可以说是Linux系统里面帐号、密码、群组信息的集中地啰!

3、ls是“list”的意思,重点在显示文件的文件名与相关属性。而选项“-al”则表示列出所有的文件详 细的权限与属性 (包含隐藏文件,就是文件名第一个字符为“ . ”的文件)

4、

5、对于更详细的 ls 用法,还记得怎么查询吗?对啦!使用 ls --help 或 man ls 或 info ls 去 看看他的基础用法。

6、改变所属群组, chgrp:  chgrp [-R] dirname/filename ...       [-R]  代表新的群组

7、改变文件拥有者, chown: chown的用途还满多的,他还可以顺便直接修改群组的名称呢

[root@study ~]# chown [-R] 帐号名称 文件或目录
[root@study ~]# chown [-R] 帐号名称:群组名称 文件或目录
选项与参数:
-R : 进行递回(recursive)的持续变更,亦即连同次目录下的所有文件都变更
范例:将 initial-setup-ks.cfg 的拥有者改为bin这个帐号:
[root@study ~]# chown bin initial-setup-ks.cfg
[root@study ~]# ls -l
-rw-r--r--. 1 bin users 1864 May 4 18:01 initial-setup-ks.cfg
范例:将 initial-setup-ks.cfg 的拥有者与群组改回为root:
[root@study ~]# chown root:root initial-setup-ks.cfg
[root@study ~]# ls -l
-rw-r--r--. 1 root root 1864 May 4 18:01 initial-setup-ks.cfg

chown也能单纯的修改所属群组呢! 例如“chown .sshd initial-setup-ks.cfg”就 是修改群组~看到了吗?就是那个小数点的用途!

8、 复制文件:cp 来源文件 目的文件

9、我们可以使用数字来代表各个权 限,各权限的分数对照表如下: > 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

10、改变权限, chmod:

[root@study ~]# chmod [-R] xyz 文件或目录
选项与参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递回(recursive)的持续变更,亦即连同次目录下的所有文件都会变更

11、从之前的介绍中我们可以发现,基本上就九个权限分别是 (1)user (2)group (3)others三种身份啦!那么我们就可以借由u, g, o来代表三种 身份的权限!此外, a 则代表 all 亦即全部的身份!那么读写的权限就可以写成r, w, x。

来实作一下吧!假如我们要“设置”一个文件的权限成为“-rwxr-xr-x”时,基本上就是: user (u):具有可读、可写、可执行的权限; group 与 others (g/o):具有可读与执行的权限。 所以就是:

[root@study ~]# chmod u=rwx,go=rx .bashrc 
# 注意喔!那个 u=rwx,go=rx 是连在一起的,中间并没有任何空白字符!
[root@study ~]# ls -al .bashrc
-rwxr-xr-x. 1 root root 176 Dec 29 2013 .bashrc

12、例题:有个目录的权限如下所示:

 drwxr--r-- 3 root root 4096 Jun 25 08:35 .ssh 

系统有个帐号名称为vbird,这个帐号并没有支持root群组,请问vbird对这个目录有何权限? 是否可切换到此目录中?答:vbird对此目录仅具有r的权限,因此vbird可以查询此目录下的文 件名列表。因为vbird不具有x的权限,亦即 vbird 没有这个抽屉的钥匙啦! 因此vbird并不能切 换到此目录内!(相当重要的概念!) 

13、绝对路径:由根目录(/)开始写起的文件名或目录名称, 例如 /home/dmtsai/.bashrc;

相对路径:相对于目前路径的文件名写法。 例如 ./home/dmtsai 或 ../../home/dmtsai/ 等 等。

反正开头不是 / 就属于相对路径的写法

14、. :代表当前的目录,也可以使用 ./ 来表示;

.. :代表上一层目录,也可以 ../ 来代表。

附 原文总结:

  1.  Linux的每个文件中,可分别给予使用者、群组与其他人三种身份个别的 rwx 权限;

  2. 群组最有用的功能之一,就是当你在团队开发资源的时候,且每个帐号都可以有多个群 组的支持;

  3. 利用ls -l显示的文件属性中,第一个字段是文件的权限,共有十个位,第一个位是文件类 型, 接下来三个为一组共三组,为使用者、群组、其他人的权限,权限有r,w,x三种;

  4. 如果文件名之前多一个“ . ”,则代表这个文件为“隐藏文件”;

  5. 若需要root的权限时,可以使用 su - 这个指令来切换身份。处理完毕则使用 exit 离开 su 的指令环境。

  6. 更改文件的群组支持可用chgrp,修改文件的拥有者可用chown,修改文件的权限可用 chmod

  7. chmod修改权限的方法有两种,分别是符号法与数字法,数字法中r,w,x分数为4,2,1;

  8. 对文件来讲,权限的性能为: r:可读取此一文件的实际内容,如读取文本文件的文字内容等; w:可以编辑、新增或者是修改该文件的内容(但不含删除该文件); x:该文件具有可以被系统执行的权限。

  9. 对目录来说,权限的性能为: r (read contents in directory) w (modify contents of directory) x (access directory)

  10. 要开放目录给任何人浏览时,应该至少也要给予r及x的权限,但w权限不可随便给;

  11. 能否读取到某个文件内容,跟该文件所在的目录权限也有关系 (目录至少需要有 x 的权 限)。

  12. Linux文件名的限制为:单一文件或目录的最大容许文件名为 255 个英文字符或 128 个中 文字符;

  13. 根据FHS的官方文件指出, 他们的主要目的是希望让使用者可以了解到已安装软件通常 放置于那个目录下

  14. FHS订定出来的四种目录特色为:shareable, unshareable, static, variable等四类;

  15. FHS所定义的三层主目录为:/, /var, /usr三层而已;

  16. 绝对路径文件名为从根目录 / 开始写起,否则都是相对路径的文件名。

原文地址:https://www.cnblogs.com/huansky/p/9063902.html