计算机网络/计算机科学与应用/系统/运维/开发

Linux熟练五、Linux 文件权限与目录配置

5.1、使用者与群组

   文件拥有者的概念

   群组的概念

   其他人概念     

     /etc/passwd  

     /etc/shadow  密码相关信息

     /etc/group 组文件信息


5.2、Linux文件权限概念

1、 Linux文件属性 


 ls -al 命令 查看文件属性

[root@localhost ~]# ls -al
-rw-r--r--.  1 root root      1569 11月  4 15:57 initial-setup-ks.cfg

  说明:    

            -rw-r--r--  文件类型权限

   1   连接数

   root 文件拥有者

   root 所属群组

   1569  大小容量

   11月  4 15:57  最后被修改的时间

   initial-setup-ks.cfg 文件名 


     (1)第一栏代表文件的类型与权限

             -rw-r--r--  文件类型权限:

            - 文件类型     (d目录 -文件 l 链接档 b 可存储接口设备 c 串行端口设备)

     剩下的9个 3个为一组:             rwx 读 写 执行

              如果没有权限,使用 - 符号

              第一组 文件拥有者权限

              第二组 文件所属组权限

              第三组 其他人权限


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

              每个文件都会将他的权限与属性记录到文件系统的 i-node 中

        (3)第三栏表示这个文件(或目录)的 拥有者账号

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

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

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


      如果这个文件被修改的时间距离现在太久了,那么时间部分会仅显示年份而已

      如果想显示完整日期,加上 ls -l --full-time ,如

[root@localhost ~]# ls -l --full-time /etc/services -rw-r--r--. 1 root root 670293 2013-06-07 22:31:32.000000000 +0800 /etc/services


  (7)第七栏为这个文件的文件名

         如果文件名前有个 . 表示这是隐藏文件

 

2、改变文件属性与权限

  chgrp 改变文件所属群组

  chown 改变文件拥有者

  chmod 改变文件的权限 (SUID SGID SBIT)


(1)改变所属群组 chgrp 

        chgrp [-R] dirname/filename ...

        选项:

        -R 进行递归持续变更,连同次目录下的所有文件、目录 都更新成为这个群组


# 修改 文件 所属组为 users
[root@localhost ~]# chgrp users initial-setup-ks.cfg 
[root@localhost ~]# ls -l
总用量 541868
-rw-r--r--. 1 root users      1569 11月  4 15:57 initial-setup-ks.cfg

# 修改所属组之前,组必须存在
[root@localhost ~]# chgrp testing initial-setup-ks.cfg 
chgrp: 无效的组:"testing"


(2)改变文件拥有者 chown 

      chown [-R] 账号名称 文件或目录

      chown [-R] 账号名称:组名 文件或目录 

      选项:

      -R  进行递归变更,连同目录下的所有文件都变更


# 将文件拥有者改为bin这个账号
[root@localhost ~]# chown bin initial-setup-ks.cfg 
[root@localhost ~]# ls -l
总用量 541868
-rw-r--r--. 1 bin  users      1569 11月  4 15:57 initial-setup-ks.cfg

# 将文件拥有者与群组改回root
[root@localhost ~]# chown root:root initial-setup-ks.cfg 
[root@localhost ~]# ls -l
总用量 541868
-rw-r--r--. 1 root root      1569 11月  4 15:57 initial-setup-ks.cfg

        一般在复制文件的情况下使用修改拥有者和所属组权限,复制行为(cp)会复制执行者的属性与权限


(3)改变权限 chmod 

        权限的设定方法有两种,数字形式或者符号形式 

        A、数字类型改变文件权限 

              r :4

             w :2

             x :1

           例如文件权限: -rwxrwx--- 表示含义如下:

            rwx = 4+2+1 = 7

            rwx = 4+2+1 =7

            --- = 0+0+0 = 0

            最终为 770权限 


    chmod [-R] xyz 文件或目录 

    选项:

     xyz: 就是数字类型权限属性 数值相加

    -R 递归变更,连同目录下的所有文件都会变更


实例: 将.bashrc文件所有者的权限都设定启用 
[root@localhost ~]# ls -al .bashrc 
-rw-r--r--. 1 root root 176 12月 29 2013 .bashrc

[root@localhost ~]# chmod 777 .bashrc 
[root@localhost ~]# ls -al .bashrc 
-rwxrwxrwx. 1 root root 176 12月 29 2013 .bashrc


    符号类型改变文件权限:

    user用户 group组 others其他人  ugo 三种身份权限 

    a 表示全部  

    语法:

    chmod  (u/g/o/a) (+加入 -除去 =设定)  (rwx) 文件或目录


    例如:文件权限为 -rwxr-xr-x 

    u 具有可读可写可执行权限

    g/o 具有可读与执行权限

   chmod u=rwx,go=rx  .bashrc 或者  
chmod u=rwx,g=rx,o=rx .bashrc


[root@localhost ~]# chmod u=rwx,g=rx,o=rx .bashrc 
[root@localhost ~]# ls -al .bashrc
-rwxr-xr-x. 1 root root 176 12月 29 2013 .bashrc

如果只想要.bashrc 文件每个人都有写入权限:
[root@localhost ~]# chmod a+w .bashrc
[root@localhost ~]# ls -al .bashrc
-rwxrwxrwx. 1 root root 176 12月 29 2013 .bashrc

如果将权限去掉,不更改其他权限:
[root@localhost ~]# chmod a-x .bashrc 
[root@localhost ~]# ls -al .bashrc 
-rw-rw-rw-. 1 root root 176 12月 29 2013 .bashrc


3、目录与文件权限 

     权限对文件的重要性:


4、Linux文件种类与扩展名


5.3、Linux目录配置 

1、Linux目录配置的依据 FHS 

/bin 
/boot 
/dev 
/etc 
/lib 
/media 
/mnt 
/opt 
/run 
/sbin 
/srv 
/tmp 
/usr 
/var 
/home 
/root 
/var/cache 
/var/lib 
/var/lock


2、目录树 

3、绝对路径与相对路径

    绝对路径 从 /开始写 

    相对路径  从当前目录开始 ./

    . 代表当前的目录  ./

    .. 代表上一层目录  ../


再长的路,一步步也能走完,再短的路,不迈开双脚也无法到达

评论

^