[关闭]
@wyjgd 2019-08-18T06:48:38.000000Z 字数 5202 阅读 1185

linux文件系统及用户组权限


linux文件系统

  1. 文件和目录被组织成一个单根倒置树结构
  2. 文件系统从根目录下开始,用“/”表示
  3. 根文件系统:root filesystem rootfs
  4. 文件名称区分大小写
  5. 以.开头的文件为隐藏文件
  6. 路径分隔为/
  7. 文件系统分层结构:LSB Linux Standard Base
  8. FHSFilesystem Hierarchy Standard
  9. 文件有两类数据:
  10. 元数据(metadata):存放文件名,大小属性等
  11. 数据(data):存放文件的内容
  12. 文件名规则:
  13. 文件名最长255个字节,包括路径在内文件名称最长4095个字节
  14. 有些字符不推荐使用,如空格符、制表符、退格符和字符@#¥()-等。避免使用.作为普通文件名的第一个字符

linux目录结构

image.png-11.3kB image.png-11.8kB

  1. /bin:存放系统命令
  2. /boot:存放着系统的启动文件和内核
  3. /dev:设备文件主目录(设备不在这里,具体设备信息/proc目录中)
  4. /etc:系统主配置文件主目录
  5. /home:普通用户的家目录
  6. /lib&lib64:系统库文件存放的目录 .dll
  7. /media:可移动介质挂载点
  8. /mnt:用户挂载目录
  9. /opt:第三方应用程序文件存放目录
  10. /proc:系统进程和系统硬件信息
  11. /root:超级用户root家目录
  12. /run:存放当前运行程序库的目录(当前运行的目录)
  13. /sbin:超级用户使用的命令存放的目录
  14. /srv:该目录存放一些服务启动之后需要提取的数据
  15. /syssysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;
  16. 其主要作用在于为管理Linux设备提供一种统一模型的的接口;
  17. /tmp 临时文件存放目录 系统启动过程中会产生一些临时文件,这些临时文件存放在tmp目录下,如果tmp目录没有存储空间,系统启动不了
  18. /usr:系统帮助文档以及源码包安装位置,usr目录是最庞大的目录,要用的应用程序和文件几乎都在这个目录
  19. /var 系统配置文件主目录
绝对路径:以“/”开始,完整的文件位置路径。例如:/etc/nginx/nginx.conf
相对路径:不以“/”开始,以一个简短的形式指定文件文件。例如cd ./../   

ls命令

 列出目录内容
 用法:ls [OPTION]... [FILE]...

选项

  1. -a:列出目录的隐藏文件
  2. -l:显示额外的信息
  3. -R:递归显示目录内容
  4. -d:显示当前文件夹,与-l一起用,显示当前文件夹详细信息
  5. -1(数字):分行显示
  6. -S:按文件大到小排序
  7. -t: mtime(修改时间)排序,atime:访问时间,ctime:状态改变时间
  8. -u: 配合-t,显示并按atime从新到旧排序
  9. -U:按目录存放顺序显示

文件通配符

  1. *:匹配0个或多个字符
  2. ?:匹配任何单个字符
  3. ~:当前用户家目录
  4. ~wyj:用户wyj家目录
  5. ~+:当前工作目录
  6. ~-:前一个工作目录
  7. [0-9]:匹配数字范围
  8. [a-z]:匹配小写字母范围
  9. [A-Z]:匹配大写字母范围
  10. [wyj]:匹配列表中任意一个字符
  11. [^wyj]:取反,匹配列表中字符以外的字符
  12. 预定义的字符类:可以通过man 7 glob查看
  13. [:digit:] 任意数字,及0-9
  14. [:lower:] 任意小写字母
  15. [:upper:] 任意大写字母
  16. [:alpha:] 任意大小写字母
  17. [:alnum:] 任意数字或字母
  18. [:blank:] 水平空白字符
  19. [:space:] 水平或垂直空白字符
  20. [:punct:] 标点符号
  21. [:print:] 可打印字符
  22. [:cntrl:] 控制(非打印)字符
  23. [:graph:] 图形字符
  24. [:xdigit:] 十六字进制字符

目录操作

  1. tree:显示目录树,
  2. -d:只显示目录
  3. -L:指定显示的层级数目
  4. mkdir:创建目录,
  5. -p: 确保目录名称存在,不存在的就建一个
  6. -v: 显示详细信息
  7. rmdir:删除空目录
  8. -p:递归删除父空目录
  9. -v:显示详细信息
  10. rm -r:递归删除目录树

cp命令

  用于复制文件或目录
  用法: cp [OPTION]... [-T] SOURCE DEST
        cp [OPTION]... SOURCE... DIRECTORY
        cp [OPTION]... -t DIRECTORY SOURCE...

选项

  1. -i:覆盖前提示
  2. -r:递归复制目录及内部的所有内容
  3. -d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接
  4. -i:询问,如果目标文件已经存在,则会询问是否覆盖
  5. -l:把目标文件建立为源文件的硬链接文件,而不是复制源文件
  6. -s:把目标文件建立为源文件的软链接文件,而不是复制源文件
  7. -p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间);
  8. -u:若目标文件比源文件有差异,则使用该选项可以
  9. -a:相当于-d,-p,-r的集合。

用户和组

用户user

    linux用户:Username/UID  UID相当于用户编号
    其中管理员root UID为0
    普通用户1-60000自动分配,Centos7为例,1-999为系统用户(对守护进程获取资源进行权限分配),1000+为登录用户(交互式)。

用户管理命令

组group

    linux组:Groupname/GID  
    其中管理员组:root GID为0
    Centos7为例,1-999为系统组,1000+为普通组
    用户和用户组的对应关系有以下 4 种:
    一对一:一个用户可以存在一个组中,是组中的唯一成员;
    一对多:一个用户可以存在多个用户组中,此用户具有这多个组的共同权           限;
    多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限;
    多对多:多个用户可以存在多个组中,也就是以上 3 种关系的扩展。

组管理命令

用户和组的配置文件

文件权限属性

image_1dihhos7016o211po155k127o6f73u.png-18kB

linux文件系统的特殊权限

    SUID:对一个可执行文件,不是以发起者身份来获取资源,而是以可执行文件的属主身份来执行。
    SGID:对一个可执行文件,不是以发起者身份来获取资源,而是以可执行文件的属组身份来执行。
    Sticky:粘滞位,通常对目录而言。对于全局可写目录来说,让该目录具有sticky后,删除只对属于自己的文件有效(但是仍能编辑                           
            修改别人的文件,除了root)。不能根据安全上下文获取对别人的文件的写权限。
    权限设定: 
            chmod u+s
            chmod g+s
            chmod o+t
            同上,去除特殊位有:chmou u-s等
            SUID:置于 u 的 x 位,原位置有执行权限,就置为 s,没有了为 S .
            SGID:置于 g 的 x 位,原位置有执行权限,就置为 s,没有了为 S .
            STICKY:粘滞位,置于 o 的 x 位,原位置有执行权限,就置为 t ,否则为T .
            表示方法: 
            将三个特殊位的用八进制数值表示suid:4 sgid:2 sticky:1,放于 u/g/o 位之前
            SUID  SGID  STICKY  
             0     0      0     0 无特殊权限
             0     0      1     1 有t的权限
             0     1      0     2 有SGID权限
                ........
             1     1      1     7 有SUID SGID t的权限
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注