用户权限

文件或目录的权限包括只读,可写和可执行3种,只读表示只能读取文件的内容,可写表示文件内容可以被修改,可执行表示文件内容是可以执行的。一般来说,文件创建时创建者自动拥有这三种权限。

linux系统中有3中用户类型: 文件所有者,同用户组用户,其他用户

现使用ls -l查看文件的用户权限

root@iZuf6ic9ggky8ivrx52hxvZ:~# ls -l
total 28
drwxr-xr-x 23 root root  4096 Nov  6 16:39 anaconda3
-rw-r--r--  1 root root     0 Nov 22 15:30 docker
drwxr-xr-x  2 root root  4096 Nov  6 16:09 Downloads
-rw-r--r--  1 root root 14001 Nov 22 15:04 get-docker.sh
drwxr-xr-x  4 root root  4096 Nov 25 19:01 Mymac

以drwxr-xr-x 23 root root  4096 Nov  6 16:39 anaconda3数据为例,第一列表示文件的权限,共有10个字符。

第1个字符表示文件类型,此处d表示这是一个目录;

后面的9个字符表示用户的权限,以3个字符为1组,分别表示文件所有者,同用户组用户,其他用户对该文件的权限,比如此处文件所有者对该文件可读可写可执行,同用户组用户可读可执行,其他用户可读可执行;

修改用户权限: chmod

chmod在linux系统中用于修改文件的权限,命令格式为chmod [-cfvR] [--help] [--version] mode file

mode代表修改权限的代码,一般有以下三种形式:

<权限范围> + <权限设置> 使权限范围内的目录或者文件增加指定的权限
<权限范围> - <权限设置> 删除权限范围的目录或者文件的指定权限
<权限范围> = <权限设置> 设置权限范围内的目录或者文件的权限为指定的值

权限范围:

  • u: 目录或文件的当前用户
  • g: 目录或文件的当前用户组
  • o: 不属于上述两类的用户
  • a: 所有的用户以及群组

权限设置:

  • r :读权限,用数字4表示
  • w :写权限,用数字2表示
  • x :执行权限,用数字1表示
  • - :删除权限,用数字0表示
  • s :特殊权限

实例1:对mnist_cnn.py的所有用户增加写权限

root@iZuf6ic9ggky8ivrx52hxvZ:~/Mymac/keras_example# ls -l
total 36
-rwxr-xr-x 1 root root  5280 Nov 15 15:43 cifar10_cnn.py
-rwxr-xr-x 1 root root 15649 Nov  7 21:42 cifar10_resnet.py
-rwxr-xr-x 1 root root  2257 Nov  7 16:46 mnist_cnn_english.py
-rwxr-xr-x 1 root root  2979 Nov  7 08:37 mnist_cnn.py
-rwxr-xr-x 1 root root  2297 Nov  7 08:37 mnist_mlp.py
root@iZuf6ic9ggky8ivrx52hxvZ:~/Mymac/keras_example# chmod a+w mnist_cnn.py
root@iZuf6ic9ggky8ivrx52hxvZ:~/Mymac/keras_example# ls -l
total 36
-rwxr-xr-x 1 root root  5280 Nov 15 15:43 cifar10_cnn.py
-rwxr-xr-x 1 root root 15649 Nov  7 21:42 cifar10_resnet.py
-rwxr-xr-x 1 root root  2257 Nov  7 16:46 mnist_cnn_english.py
-rwxrwxrwx 1 root root  2979 Nov  7 08:37 mnist_cnn.py
-rwxr-xr-x 1 root root  2297 Nov  7 08:37 mnist_mlp.py

实例2: 指定mnist_cnn.py的当前用户权限为可执行(会撤销原先的权限)

root@iZuf6ic9ggky8ivrx52hxvZ:~/Mymac/keras_example# ls -l
total 36
-rwxr-xr-x 1 root root  5280 Nov 15 15:43 cifar10_cnn.py
-rwxr-xr-x 1 root root 15649 Nov  7 21:42 cifar10_resnet.py
-rwxr-xr-x 1 root root  2257 Nov  7 16:46 mnist_cnn_english.py
-rwxrwxrwx 1 root root  2979 Nov  7 08:37 mnist_cnn.py
-rwxr-xr-x 1 root root  2297 Nov  7 08:37 mnist_mlp.py
root@iZuf6ic9ggky8ivrx52hxvZ:~/Mymac/keras_example# chmod u=x  mnist_cnn.py
root@iZuf6ic9ggky8ivrx52hxvZ:~/Mymac/keras_example# ls -l
total 36
-rwxr-xr-x 1 root root  5280 Nov 15 15:43 cifar10_cnn.py
-rwxr-xr-x 1 root root 15649 Nov  7 21:42 cifar10_resnet.py
-rwxr-xr-x 1 root root  2257 Nov  7 16:46 mnist_cnn_english.py
---xrwxrwx 1 root root  2979 Nov  7 08:37 mnist_cnn.py
-rwxr-xr-x 1 root root  2297 Nov  7 08:37 mnist_mlp.py

参考: https://www.cnblogs.com/peida/archive/2012/11/29/2794010.html

收藏 打印