首页 > 系统服务 > 详细

Linux学习二 文件权限与目录配置

时间:2019-09-17 09:52:58      阅读:101      评论:0      收藏:0      [点我收藏+]

1  文件权限

1.1 Linux文件属性

   文件属性示意图:

   技术分享图片

 

  技术分享图片

 

  1、第一栏代表这个文件的类型和权限

   1)第一个字符代表这个文件的类型:目录、文件或链接文件

    a、d  表示目录

    b、-   表示文件

    c、l    表示链接文件

    d、b   表示装置文件中的可供存储的接口设备

    e、c   表示装置文件中的串行端口设备,如:键盘、鼠标

    2)接下来三个字符为一组,其中 r 代表可读,w 代表可写,x 代表可执行,这三个权限位置固定不变,若没有权限则会出现 - ;

    a、第一组为文件拥有者权限

    b、第二组为所属群组的权限

    c、第三组为其他权限

  2、第二栏表示有多少档名连接到此节点(i-node)

  3、第三栏表示此文件或目录的拥有者账号

  4、第四栏表示这个文件的所属群组

  5、第五栏为这个文件的容量大小,默认单位为bytes

  6、第六栏为这个文件的建档日期或最近修改日期

     ls  -l  --full-time        查看完整时间

  7、第七栏为文件名或目录名

1.2  Linux文件权限重要性

  1、系统保护功能

  2、团队开发软件或数据共享功能

  3、未将权限设定妥当的危害

1.3  修改文件属性与权限

  1、chgrp      改变所属群组

     chgrp  [-R]  user  dirname/filename    -R  表示此目录下所有文件、目录都归属于这个群组

     备注:所修改的群组必须是  etc/group  中存在的

  2、chown       改变文件拥有者

     chown  [-R]  账号名称  dirname/filename      修改拥有者

     chown  [-R]  账号名称:组名  dirname/filename      修改拥有者及群组

     备注:所修改的拥有者必须是  etc/passwd  中存在的用户

  3、chmod       修改文件权限

   1)数字类型修改文件权限

      r : 4      w : 2      x : 1

      每种身份(owner/group/others)各自的三种权限是(r/w/x)需要累加。

      chmod  [-R]  xyz  dirname/filename    xyz代表三种身份的权限之和

      如:chmod  777  test.txt,表示三种身份(owner/group/others)都有读、写、执行权限

   2)符号类型修改文件权限

      三种身份:(1)user   (2)group   (3)others,我们可以用 u,g,o 代表,a  代表  all

         

技术分享图片

 

      如:chmod  u=rwx,go=rx  test.txt      

        chmod  a-x  test.txt

        chmod  g+x  test.txt

1.4  目录与文件之权限意义

  1、权限对文件的重要性

    r :k可读取此文件的实际内容

    w :k可编辑、新增或修改文件内容

    x :被系统可执行的权限。文件是否能被执行,由 xq权限决定,与文件的 扩展名m没有绝对关系!

   2、权限对目录的重要性

    r : 具有读取目录结构列表的权限,ls

    w : 具有异动该目录结构列表的权限

      建立新的文件与目录

      删除已存在的文件与目录(不论该文件的权限为何!)

      将已存在的文件或目录进行更名

      搬移该目录内的文件、目录位置

     x : 用户能否进入该目录成为工作目录,cd  dirname

 

2  Linux 目录配置

  1、Linux目录配置的依据--FHS(Filesystem Hierarchy Standard)

     FHS主要目的:让使用者可以了解到已安装软件通常放置于那个目录下

技术分享图片

 

 

     /(root,根目录):与开机系统有关

     /usr(unix software resource):与软件安装/执行有关

     /var(variable):与系统运行过程有关

目录 应放置文件内容
第一部分:FHS要求必须存在的目录
/bin 系统有很多放置执行文件的目录,但/bin 比较特殊。因为/bin 放置的是在单人维护模式下还能够别操作的指令。在/bin 底下的指令可以被root与一般账号所使用,主要有:cat,chmod,chown,date,mv,mkdir,cp,bash等常用指令。
/boot 这个目录主要放置开机会使用到的文件,包括Linux 核心文件以及开机选单与开机所需配置文件等。Linux  kernel  常用的档名为:wmlinuz,如果使用的是  grub2  这个开机管理程序,则还会存在/boot/grub2/ 这个目录!
/dev 在Linux 系统上,任何装置与接口设备都是以文件的型态存在于这个目录当中的。你只要透过存取这个目录底下的某个文件,就等于存取某个装置,比较重要的文件有/dev/null,/dev/zero,/dev/tty,/dev/loop*,/dev/sd*等。
/etc

系统主要的配置文件几乎都放置在这个目录,例如人员的账号密码文件、各种服务的启动档等。一般来说,这个目录下的各文件属性是可以让一般使用者查阅的,但是只有 root 有权限修改。FHS 建议不要放置可执行文件(binary)在这个目录。比较重要的文件有:/etc/modprobe.d/,/etc/passwd,/etc/fstab,/etc/issue 等。另外 FHS 还规范几个重要目录最好要存在 /etc/ 目录下:

    /etc/opt(必要):这个目录放置第三方协力软件 /optx相关配置文件

    /etc/X11(建议):与 X Windowy有关的各种配置文件都在这里,尤其是 xorg.conf 这个 X Server 的配置文件

    /etc/sgml(建议):与 SGMLg格式有关的各项配置文件

    /etc/xml(建议):与 XMLg格式有关的各项配置文件

 /lib

/lib 放置的是在开机时会用到的函式库,以及在 /bin 或 /sbin 底下的指令会呼叫的函式库而已。函式库可以理解为外挂,某些指令必须有这些外挂才能顺利完成执行。FSH 要求必须存在的目录:

    /lib/modules/:这个目录主要放置可抽换式的核心相关模块(驱动程序)

 /media

/media 底下放置的是可移除的装置,包括软盘、光盘、DVD 等。常见档名有:

    /media/floppy

    /media/cdrom

 /mnt 挂载某些额外的装置
 /opt 这是给第三方协力软件放置的目录。
 /run 放置系统开机后产生的各项信息
 /sbin 放在 /sbin 底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令。常见指令包括:fdisk,fsck,ifconfig,mkfs等
 /srv service 的缩写,是一些网络服务启动之后,这些服务所需要取用的数据目录,常见的服务:WWW,FTP等
 /tmp 一般用户或正在执行的程序暂时放置文件的地方
 /usr  依据 FHS 的基本定义,/usr 里面放置的数据属于可分享的与不可变动的。usr 是 Unix Software Resource (Unix 操作系统软件资源)的缩写,相当于Windows系统的 C:\Windows\(当中的一部分)+C:\Program files\的综合体。
 /home    
 
第二部分:FHS 建议可以存在的目录
/home

这是系统默认的用户家目录(home directory)。家目录有两种代号:                                                                                 

    ~:代表目前用户的家目录

    ~dmtsai:代表 dmtsai 的家目录

/lib<qual> 存放与 /lib 不同格式的二进制函式库,例如支持64位的 /lib64 函式库
/root 系统管理员(root)的家目录

底下几个在Linux中也是非常重要的目录:

目录 应放置文件内容
/lost+found 这个目录是使用标准的ext2/et3/ext4 文件系统格式才会产生的一个目录,目前在于当文件系统发生错误时,将一些遗失的片段放置到这个目录下。不过如果使用的是 xfs 文件系统,就不会存在这个目录了。
/proc

这个目录本身是一个 虚拟文件系统(virtual filesystem),他放置的数据都是在内存当中,例如系统核心、行程信息(process)、周边装置的状态及网络状态等。重要文件包括:

    /proc/cpuinfo

    /proc/dma

    /proc/onterrupts

    /proc/ioports

    /proc/net/*

/sys 虚拟文件系统,主要记录核心与系统硬件信息相关的信息,包括目前已加载的核心模块与核心侦测到的硬件装置信息等。

 

/usr 目录结构:

目录 应放置文件内容
第一部分:FHS 要求必须存在的目录
/usr/bin/ 所有一般用户能够使用的指令都放在这里!CentOs 7已经将全部用户指令放置于此,使用连结档方式将 /bin 连结于此,即 /usr/bin 与 /bin 一致。FHS 要求此目录下不应有子目录!
/usr/lib/ /lib 连结到此目录,与 /lib 一样
/usr/local/ 系统管理员在本机自行安装自己下载的软件,建议安装到此目录。
/usr/sbin/ 非系统正常运行所需要的系统指令,/sbin 连结到此目录
/usr/share/     

主要放置只读架构的数据文件,当然也包括共享文件。在这个目录下放置的数据几乎是不分硬件架构均可读取的数据,常见的次目录有:

    /usr/share/man:联机帮助文件

    /usr/share/doc:软件杂项的文件说明

    /usr/share/zoneinfo:与市区有关的时区文件

第二部分:FHS 建议可以存在的目录
/usr/games/ 与游戏相关的数据放置处
usr/include/ c/c++ 等程序语言的档头(header)与包含档(include)放置处
/usr/libexec/ 某些不被一般使用者惯用的执行档或脚本(script)等等,都放置在此目录中。                                                                 
/usr/lib<qual>/ 与 /lib<qual>/ 功能相同,目前 /lib<qual> 就是连结到此目录中
/usr/src/ 一般原始码建议放置处,src 有 sourse 的意思,核心原始码则建议放置在 /usr/src/linux/ 目录下

 

/var 是在系统运行后才会渐渐占用硬盘容量的目录,主要针对常态性变动的文件,包括快去(cache)、登录档(log file)以及某些软件运行所产生的文件,包括程序文件(lock file,run file),或者如 MySQL 数据库的文件等。

/var 目录结构:

目录 应放置文件内容
第一部分:FHS 要求必须存在的目录
/var/cache/  应用程序本身运作过程中会产生一些暂存档
/var/lib/  程序本身执行过程中,需要使用到的数据文件放置的目录。在此目录下各自的软件应该要有各自的目录。例如:MySQL的数据库放置到 /var/lib/mysql 而 rpm 的数据库则放到 /var/lib/rpm !
/var/lock/  某些装置或文件资源一次只能被一个应用程序所使用,如果同时有两个程序使用该装置时,就可能产生一些错误的状况,因此就得要将该装置上锁(lock),以确保该装置只会给单一软件所使用。
/var/log/  登录文件放置的目录!里面比较重要的文件,如:/var/log/messages,/var/log/wtmp(记录登入者的信息)等。
/var/mail/  放置个人电子邮件邮箱的目录,这个目录也被放置到 /var/spool/mail/ 目录中。
/var/run/  某些程序或者服务启动后,会将他们的 PID 放置在这个目录下!
/var/spool/  这个目录通常放置一些队列数据,所谓的 队列 就是排队等待其他程序使用的数据!

技术分享图片

 

Linux学习二 文件权限与目录配置

原文:https://www.cnblogs.com/zhouweijie/p/11470543.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!