上一章讲的主要是Linux的历史与硬件相关的点,看起来就像看小说,看得有点快。
快过年了,目前就先咕一段时间吧,咕咕咕~ ~ ·

1.0 Linux用户与用户组

1.1 用户与用户组

  1. 文件拥有者(owner)
  2. 用户组的概念
    • 对各个用户分成各个组别
    • 每个账号都可以由多个用户组的支持
  3. 其他人的概念(Others)
    • 在群组之外的
  4. 万能的天神–root

1.2 Linux文件属性

  1. 在Linux里,任何一个文件都具有用户(User)、所属群组(Group)、以及其他人(Others)三种身份的个别权限
  2. 默认情况下
    • 所有账号包括root的相关信息都记录在 /etc/passwd 这个文件内
    • 密码信息记录在 /etc/shadow 这个文件中
    • Linux所有组别都记录在 /etc/group

2.0 Linux 文件属性

以Linux中一个重要的命令为例 ls -al ,输入后会出现以下内容

1
2
3
4
root@Ubuntu# ls -al
-rw-r--r--. 1 root root 1864 May 4 18:01 initial-setup-ks.cfg
drwxr-xr-x. 3 root root 17 May 6 00:14 .config
[文件类型权限] [链接数] [文件拥有者] [所属用户组] [大小] [文件最后被修改的时间] [文件名]
  • 第一栏代表文件的类型及权限
    • 第一个字符代表这个文件是目录、文件或链接文件等
      • 当为[d]则是目录
      • 当为[-]则是文件
      • 若是[b]则表示为设备文件里面的可供存储的周边设备
      • 若是[c]则表示为设备文件里面的串行端口设备
    • 接下来的字符中,以三个为一组,且均为[rwx]的三个参数的组合
      • 其中[r]代表可读(read)、[w]表示科协(write)、[x]表示可执行(execute)
      • 这三个权限的位置不会变、如果没用权限,就会出现[-]
    • 第一组为文件拥有者可具备的权限
    • 第二组为加入此用户组的账号的权限
    • 第三组为非本人且没用加入本用户组的其他账号的权限;
  • 第二栏表示这个文件又多少文件名链接到此节点
  • 第三栏表示这个文件的所属用户组
  • 第五栏表示文件的容量大小,默认单位Bytes
  • 第六栏为这个文件的创建日期或最近修改日期
  • 第七栏位文件名

2.1 修改文件属性与权限

常用于用户组、拥有者、各种身份的权限修改的命令

  • chgrp: 修改文件所属用户组;
  • chown:修改文件拥有者;
  • chmod:修改文件的权限,SUID、SGID、SBIT等特性
  1. 修改所属用户组,chgrp

    • chgrp-> change group 缩写
    • chgrp [-R] dirname/filename ...
      • -R:进行递归修改,即连同子目录下的所有文件,目录都更新成为这个用户组之意
    • 修改的用户组需要在/etc/group 内。
  2. 修改文件拥有者,chown

    • chown-> change owner
    • 用户必须是存在系统中的账号,也就是/etc/passwd 这个文件中有记录的用户名才能修改
    • chown [-R] 账号名称 文件或目录
    • chown [-R] 账号名称:用户组名称 文件或目录
      • -R 进行递归修改
    • 实例 chown bin test.c
    • 实例 chown root:root test.c
  3. 修改文件权限 chmod
    修改权限的方法有两种,分别可以使用数字或是符号来进行权限修改

    • 数字类型修改文件权限
      Linux文件的基本权限就有9个,分别是拥有者(owner)、所属群组(group)、其他人(others)三种身份对应的读(read)、写(write)、执行(execute)权限
      • 各权限的数字对照表如下:

        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

      • 所以我们设置该文件的权限数字就是770,修改命令chmod的语法:
        chmod [-R] xyz 文件或目录
        • xyz:就是数字类型的权限属性,为rwx属性数字相加
        • -R:递归修改
      • 实例 chmod 777 test.c