1. 查看文件和目录的权限

使用 ls 命令只显示文件名称,通过带参数的 ls –al 命令(或者 ll )可以显示文件或者目录的权限信息。



银河麒麟 sudo su 权限不够_银河麒麟 sudo su 权限不够

ls -l 文件名 显示信息包括:文件类型 (d 目录,- 普通文件,l 链接文件),文件权限,文件的用户,文件的所属组,文件的大小,文件的创建时间,文件的名称,示例如下:

-rw-rw-r-- 2 snzl snzl   23 Aug 21 06:05 1.txt

将上面这个示例,可拆分成如下字段:

-rw-rw-r--

1

snzl

snzl

23

Aug 21 06:05

1.txt

文档类型及权限

连接数

文档所属用户

文档所属组

文档大小

文档最后被修改日期

文档名称

1.1 文档类型及权限

对于 文档类型及权限 字段,将其划分成四组,每组的字符数及含义如下:

  • -:文件类型:是普通文件
  • rw-:用户权限:表示用户 snzl 具有可读(read)可写(write)不可执行(execute)的权限
  • rw-:用户所在组权限:表示用户组 snzl 只有读写权限,没有可执行的权限
  • r--:其他用户权限:其他用户只有读权限,没有写权限和运行的权限

-

rw-

rw-

r--

文档类型

文档所有者权限(user)

文档所属用户组权限(group)

其他用户权限(other)

文档类型主要有:

  • d 表示目录
  • l 表示软连接
  •  表示文件
  • c 表示串行端口字符设备文件
  • b 表示可供存储的块设备文件

余下的字符 3 个字符为一组。r 只读,w 可写,x 可执行,- 表示无此权限

1.2 连接数

指有多少个文件指向同一个索引节点。

1.3 文档所属用户和所属组

就是文档属于哪个用户和用户组。文件所属用户和组是可以更改的

1.4 文档大小

默认是 bytes

2. 更改操作权限

2.1 chmod

改变访问权限

  • chmod [who] [+ | - | =] [mode] 文件名

示例图:



银河麒麟 sudo su 权限不够_ubuntu修改文件权限_02

银河麒麟 sudo su 权限不够_可执行_03

2.2 chown

是 change owner 的意思,主要作用就是改变文件或者目录所有者,所有者包含用户和用户组

  • chown [-R] 用户名称 文件或者目录
  • chown [-R] 用户名称 用户组名称 文件或目录

-R: 进行递归式的权限更改,将目录下的所有文件、子目录更新为指定用户组权限



银河麒麟 sudo su 权限不够_可执行_04

银河麒麟 sudo su 权限不够_银河麒麟 sudo su 权限不够_05

这时,该文件不可修改。

可以通过修改文件的所有者的方式,来使得文件可修改。



银河麒麟 sudo su 权限不够_可执行_06

2.3 who

表示操作对象可以是以下字母的一个或者组合

  • u:用户 user
  • g:用户组 group
  • o:表示其他用户
  • a:表示所有用户是系统默认的
2.4 操作符号
  • +:表示添加某个权限
  • -:表示取消某个权限
  • =:赋予给定的权限,取消文档以前的所有权限
2.5 mode

表示可执行的权限,可以是 r、w、x

2.6 文件名

文件名可以使空格分开的文件列表

2.7 示例
root@Ubuntu:~$ ls -al test.txt 
-rw-rw-r-- 1 snzl snzl 6 Aug 21 21:47 test.txt
root@Ubuntu:~$ chmod u=rwx,g+r,o+r test.txt 
root@Ubuntu:~$ ls -al test.txt 
-rwxrw-r-- 1 snzl snzl 6 Aug 21 21:47 test.txt
root@Ubuntu:~$

3. 数字设定法

数字设定法中数字表示的含义

  • 0 表示没有任何权限
  • 1 表示有可执行权限 = x
  • 2 表示有可写权限 = w
  • 4 表示有可读权限 = r

也可以用数字来表示权限如 chmod 755 file\_name

r w x

r – x

r - x

4 2 1

4 - 1

4 - 1

user

group

others

  • 若要 rwx 属性则 4+2+1=7
  • 若要 rw- 属性则 4+2=6
  • 若要 r-x 属性则 4+1=5
root@Ubuntu:~$ chmod 777 test.txt 
root@Ubuntu:~$ ls -al test.txt 
-rwxrwxrwx 1 snzl snzl 6 Aug 21 21:47 test.txt

root@Ubuntu:~$ chmod 770 test.txt 
root@Ubuntu:~$ ls -al test.txt 
-rwxrwx--- 1 snzl snzl 6 Aug 21 21:47 test.txt

— The End —