linux文件权限查看及修改(实用)

  • 查看Linux文件的权限:ls -l 文件名称
  • 查看linux文件夹的权限:ls -ld 文件夹名称(所在目录)
  • 修改文件及文件夹权限: sudo chmod -(代表类型)×××(所有者)×××(组用户)×××(其他用户)
  • 常用修改权限的命令:
    • sudo chmod 600 ××× (只有所有者有读和写的权限)
    • sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
    • sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
    • sudo chmod 666 ××× (每个人都有读和写的权限)
    • sudo chmod 777 ××× (每个人都有读和写以及执行的权限)
  • linux查看及修改文件属性及权限2009-12-24 17:27刚才在ubuntu的根目录下使用ls -l 命令,出现如下:
     drwxr-xr-x   2 root root  4096 2009-01-14 17:34 bin
    drwxr-xr-x 3 root root 4096 2009-01-14 14:36 boot
    drwxr-xr-x 12 root root 14080 2009-07-20 14:13 dev
    lrwxrwxrwx 1 root root 11 2009-01-14 10:05 cdrom -> media/cdrom

    让我们来看看 这些文件属性是什么意思吧:

    • 第一行: 
      drwxr-xr-x   2 root root  4096 2009-01-14 17:34 bin 
      0123456789
      文件类型代码:[ d ]–目录、[ - ]–文件、[ l ]–链接、[ b ]–可储存周边设备、[ c ]–序列设备。
      文件权限属性:[ r ]–可读、[ w ]–可写、[ x ]–可执行。
      0:代表是文件还是目录,还是其他的类型(这里d:表示是目录) 
      123 :表示拥有人的权限 (这里rwx:代表拥有人有可读,可写,可执行的权限) 
      456:表示同组群使用者权限(这里r-x代表同组群使用者有可读,可执行权限) 
      789:表示其他使用者权限(这里r-x代表其他使用者有可读,可执行权限)

    • 第四行
      lrwxrwxrwx   1 root root    11 2009-01-14 10:05 cdrom -> media/cdrom
      第一个字母:l代表此问链接文件,估计相当与windows的快捷方式吧!
      所有者权限:读+写+执行=4+2+1=7
      组许可权限 : 读+写= 4+2=6
      其他用户许可权限:读=4
  • 下面来看看修改文件属性的几个命令:
    • chmod 更改文件的权限
      • 数字类型改变
         sudo chmod 600 ××× (只有所有者有读和写的权限) 
        sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限) 
        sudo chmod 700 ××× (只有所有者有读和写以及执行的权限) 
        sudo chmod 666 ××× (每个人都有读和写的权限) 
        sudo chmod 777 ××× (每个人都有读和写以及执行的权限)——xxx 是文件名

        三个基本属性:r、w、x的数字类型代表:r:4、w:2 、x:1
        语法:chmod [-R] xyz 文件或目录
        xyz 为三組 rwx 属性数值的相加同一组的数字是相加!如属性为 [ -rwxrwx--- ] ,则:
        owner = rwx = 4+2+1 = 7
        group = rwx = 4+2+1 = 7
        others = — = 0+0+0 = 0

        [root@test root]# ls –al .bashrc
        -rw-r–r– 1 root root 226 Feb 16 2002 .bashrc
        [root@test root]# chmod 777 .bashrc
        [root@test root]# ls –al .bashrc
        -rwxrwxrwx 1 root root 226 Feb 16 2002 .bashrc
      • 符号类型改变
        九个属性分別代表是(1)user (2)group (3)others 三个群组的权限,可以由 u, g, o 來代表三个群组!而 a 则代表 all 亦即全部。
        +(加入)
        -(除去)
        =(设定)
        [root@test root]# chmod u=rwx,og=rx .bashrc
        [root@test root]# ls –al .bashrc
        -rwxr-xr-x 1 root root 226 Feb 16 2002 .bashrc
        [root@test root]# ls –al .bashrc
        -rwxr-xr-x 1 root root 226 Feb 16 2002 .bashrc
        [root@test root]# chmod a+w .bashrc
        [root@test root]# ls –al .bashrc
        -rwxrwxrwx 1 root root 226 Feb 16 2002 .bashrc
        [root@test root]# chmod a-x .bashrc
        [root@test root]# ls –al .bashrc
        -rw-rw-rw- 1 root root 226 Feb 16 2002 .bashrc

        注意:对于目录,必需具有执行权限才可进入!文件的执行属性将决定文件是否可执行,而与文件扩展名无关!

    • chgrp 修改文件或目录所属的组
      语法:chgrp 群组名 文件或目录  如chgrp [options] newgroup files/directorys
      [root@test root]# chgrp users tmp
      [root@test root]# ls –l
      drwx—— 2 root root 4096 Oct 19 11:43 drakx/
      drwx—— 2 root users 4096 Oct 19 21:24 tmp/
      [root@test root]# chgrp testing tmp
      chgrp: invalid group name `testing’ <==出错信息!

      注意:要改变的群組名必须在 /etc/group 中存在

    • chown 修改文件或目录所属的主与组
      语法:chown [ -R ] 用户名 文件或目录
      chown [ -R ] 用户名:群组名 文件或目录
      [root@test root]# chown test tmp
      [root@test root]# ls -l
      total 28
      drwx—— 2 root root 4096 Oct 19 11:43 drakx/
      drwx—— 2 test users 4096 Oct 19 21:24 tmp/
      [root@test root]# chown –R root:root tmp
      [root@test root]# ls –l
      drwx—— 2 root root 4096 Oct 19 11:43 drakx/
      drwx—— 2 root root 4096 Oct 19 21:24 tmp/
上一篇:python常用模块及面向对象(一)


下一篇:Python常用模块小结