使用ll命令列出当前路径下所有文件的信息

drwxr-xr-x    5 mengxiangdong  staff   160B  8 26 09:10 Applications
drwxrwxr-x@   3 mengxiangdong  staff    96B  8 13 13:02 Creative Cloud Files
drwxr-xr-x+  16 mengxiangdong  staff   512B  8 27 17:34 Desktop
drwxr-xr-x+  21 mengxiangdong  staff   672B  8 26 09:23 Documents
drwxr-xr-x+  66 mengxiangdong  staff   2.1K  8 27 14:11 Downloads
drwxr-xr-x   15 mengxiangdong  staff   480B  8 25 19:57 IdeaProjects
drwx------@  81 mengxiangdong  staff   2.5K  8 19 21:14 Library
drwxr-xr-x+  16 mengxiangdong  staff   512B  8 26 09:20 Movies
drwxr-xr-x+   7 mengxiangdong  staff   224B  8 23 18:26 Music
drwxr-xr-x+  12 mengxiangdong  staff   384B  8 23 18:26 Pictures

结果详解如下:

对于四种文件权限,我们可以用数字来表示:

  • r:4
  • w:2
  • x:1
  • -:0

我们常见的

  • 777权限的组合是:rwxrwxrwx
  • 755权限的组合是:rwxr-xr-x

修改文件/目录

记得首先切换到root用户下面,要不然没有权限操作

  • chgrp:修改文件所属用户组
  • chown:修改文件拥有者
  • chmod:修改文件权限

修改所属用户组

命令格式如下:

chgrp [-R] 用户组名 filename/dirname

需要注意的是,被修改的用户组必须在/etc/group里面才行

假如有一个文件,它的信息如下

-rw-r--r--    1 mengxiangdong  mengxiangdong     0B  8 27 20:58 1.txt

现将其所在用户组改为root

chgrp root 1.txt

修改完之后的信息如下:

-rw-r--r--    1 mengxiangdong  root     0B  8 27 20:58 1.txt

修改所属用户

命令格式如下:

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

注意两点:

  • 该用户必须在/etc/passwd中存在才行
  • 可以顺便将文件所在用户组也改了

还是刚才的文件,将所属用户及用户组都修改

chown root:root 1.txt

显示如下:

-rw-r--r--    1 root  root     0B  8 27 20:58 1.txt

修改文件权限

命令格式如下:

chmod [-R] 777等 文件名/目录名                             # 数字修改法
chmod [-R] u/g/o/a     +/-/=     r/w/x  文件名/目录名     #  符号修改法

在第二种方法中:

  • u:所有用户
  • g:所有用户组
  • o:其他用户
  • a:用户、用户组、其他用户
  • +:添加某一个权限
  • -:去掉某个权限
  • =:设置为某个权限

还是刚才的那个文件,将其设置为777的权限为:

chmod 777 1.txt
chomd a=rwx 1.txt

结果为:

-rwxrwxrwx    1 root  root     0B  8 27 20:58 1.txt

权限对文件和目录的意义

对文件的意以

  • r:对文件有读取内容的权力
  • w:对文件有新增,编辑的能力,但是不具有删除文件的能力
  • x:在Linux下面,具有x权限的文件,都是可执行文件

对目录的意以

  • r:对该目录有读取文件列表结构的权限
  • w:可建立新文件/目录、删除该文件或目录、更名、移动位置
  • x:代表用户是否可以进入该目录称为工作目录,比如是否能使用cd切换到此目录下