目录

 

一、简介

二、应用

2.1、概述

2.2、linux文件属主和属组

2.3、更改文件属性

2.3.1、chgrp:更改文件属组

2.3.2、chgrp --help

2.3.3、chown:更改文件属主,也可以同时更改属组

2.3.4、chown --help

2.4、chmod:更改文件9个属性

2.1.4、概述

2.4.2、案例

2.4.3、符号类型改变文件权限


一、简介

  • Linux是一种典型的多用户系统,不同的用户拥有不同的权限。
  • 为了保护系统安全性,Linux系统对不同用户访问同一文件的权限做了不同的规定。
  • Linux中通常使用两个命令来修改文件或目录的所属用户与权限:
  1. chown(change ownerp):修改所属用户与组。
  2. chmod(change mode):修改用户的权限。

二、应用

2.1、概述

  • 使用chown授权用户,通过chmod为用户设置权限。
  • 使用ll或ls -l来显示一个文件的属性以及文件所属的用户和组。
[root@localhost /]# ls -l
总用量 32
lrwxrwxrwx.   1 root root    7 11月 24 19:31 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 11月 24 19:41 boot
drwxr-xr-x.   2 root root    6 11月 25 00:20 cangls
drwxr-xr-x.  19 root root 3280 11月 25 17:16 dev
drwxr-xr-x.   2 root root    6 11月 25 01:43 dir
drwxr-xr-x. 144 root root 8192 11月 26 17:41 etc
drwxr-xr-x.   3 root root   17 4月  10 2018 home
lrwxrwxrwx.   1 root root    7 11月 24 19:31 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 11月 24 19:31 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 4月  10 2018 media
drwxr-xr-x.   3 root root   17 11月 24 19:35 mnt
drwxr-xr-x.   2 root root    6 11月 26 17:45 newtest1
drwxr-xr-x.   3 root root   15 4月  10 2018 opt
dr-xr-xr-x. 216 root root    0 11月 25 17:15 proc
drwxr-xr-x.   2 root root    6 11月 24 19:42 rich
dr-xr-x---.   9 root root 4096 11月 26 20:22 root
drwxr-xr-x.  42 root root 1240 11月 26 18:29 run
lrwxrwxrwx.   1 root root    8 11月 24 19:31 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 4月  10 2018 srv
dr-xr-xr-x.  13 root root    0 11月 25 17:15 sys
drwxr-xr-x.   5 root root   41 11月 26 18:26 TEST
drwxr-xr-x.   2 root root    6 11月 26 17:45 test1
drwxrwxrwt.  33 root root 4096 11月 26 20:22 tmp
drwxr-xr-x.  13 root root 4096 11月 24 19:31 usr
drwxr-xr-x.  21 root root 4096 11月 24 19:31 var
[root@localhost /]#
  • bin文件的第一个属性用L表示,L在linux中代表该文件是一个链接文档
  • 在linux中第一个字符代表文件的类别,说明该文件是目录、文件或链接文件等
  1. 当为 d
  2. 当为 -
  3. 当前为 l(L)
  4. 当前为 b 则表示为装置文件里面的可提供储存的接口设备(可随机存取装置)。
  5. 若为  c  则表示为装置文件里面的串行端口设备,例如:键盘、鼠标(一次性读取装置)。

centos修改open_files centos修改文件所属组_centos修改open_files

centos修改open_files centos修改文件所属组_hg_02

centos修改open_files centos修改文件所属组_文件名_03

centos修改open_files centos修改文件所属组_centos修改open_files_04

图片来源:https://www.runoob.com/linux/linux-file-attr-permission.html

  • 从左至右用 0-9 这些数字来表示。
  • 第 0 位确定文件类型,第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。
  • 第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。
  •  1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限。
  •  2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限。
  •  3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。

2.2、linux文件属主和属组

[root@localhost /]# ls -l
总用量 32
lrwxrwxrwx.   1 root root    7 11月 24 19:31 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 11月 24 19:41 boot
drwxr-xr-x.   2 root root    6 11月 25 00:20 cangls
drwxr-xr-x.  19 root root 3280 11月 25 17:16 dev
drwxr-xr-x.   2 root root    6 11月 25 01:43 dir
drwxr-xr-x. 144 root root 8192 11月 26 17:41 etc
drwxr-xr-x.   3 root root   17 4月  10 2018 home
lrwxrwxrwx.   1 root root    7 11月 24 19:31 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 11月 24 19:31 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 4月  10 2018 media
drwxr-xr-x.   3 root root   17 11月 24 19:35 mnt
drwxr-xr-x.   2 root root    6 11月 26 17:45 newtest1
drwxr-xr-x.   3 root root   15 4月  10 2018 opt
dr-xr-xr-x. 217 root root    0 11月 25 17:15 proc
drwxr-xr-x.   2 root root    6 11月 24 19:42 rich
dr-xr-x---.   9 root root 4096 11月 26 20:22 root
drwxr-xr-x.  42 root root 1240 11月 26 18:29 run
lrwxrwxrwx.   1 root root    8 11月 24 19:31 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 4月  10 2018 srv
dr-xr-xr-x.  13 root root    0 11月 25 17:15 sys
drwxr-xr-x.   5 root root   41 11月 26 18:26 TEST
drwxr-xr-x.   2 root root    6 11月 26 17:45 test1
drwxrwxrwt.  35 root root 4096 11月 26 22:57 tmp
drwxr-xr-x.  13 root root 4096 11月 24 19:31 usr
drwxr-xr-x.  21 root root 4096 11月 24 19:31 var
  • 在linux中,每一个文件都有一个特定的所有者。即对该文件有所有权的用户。
  • 系统中的用户是按组划分的,一个用户属于一个或多个组。
  • 文件所有者以外的用户可以分为文件所有者同组用户和其他用户。

centos修改open_files centos修改文件所属组_文件名_05

  • linux为文件分配不同的用户,具体为所有者用户,所有者同组用户与其他用户。它们对该文件有不同的访问权限。
  • 文件所有者用户称为属主,与属主同组的用户称为属组,其他用户。
  • 属主对文件有可读、可写、可执行的权限;属组对文件有可读、可执行的权限;其他用户对文件也有可读、可执行的权限。
  • root用户,一般情况下,文件的权限对其不起作用。

2.3、更改文件属性

2.3.1、chgrp:更改文件属组

  • 语法:chgrp[-R] 属组名  文件名
  • -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
[root@localhost ~]# useradd wang                     创建一个账号  wang
[root@localhost ~]# passwd 1234                      密码:1234
passwd:未知的用户名 1234。
[root@localhost ~]# 1234
bash: 1234: 未找到命令...
[root@localhost ~]# ls -l                             查看/root目录下的文件信息
总用量 4
-rw-------. 1 root root 2745 11月 24 19:19 anaconda-ks.cfg
drwxr-xr-x. 2 bin  bin     6 11月 25 00:28 dir1
drwxr-xr-x. 2 root jack    6 11月 25 00:29 file1
drwxr-xr-x. 3 root root   18 11月 25 00:29 file2
drwxr-xr-x. 2 root root    6 11月 25 00:30 file3
drwxr-xr-x. 2 root root    6 11月 26 23:31 test.log
[root@localhost ~]# chgrp wang file3                  将file3的属组改为wang
[root@localhost ~]# ls -l
总用量 4
-rw-------. 1 root root 2745 11月 24 19:19 anaconda-ks.cfg
drwxr-xr-x. 2 bin  bin     6 11月 25 00:28 dir1
drwxr-xr-x. 2 root jack    6 11月 25 00:29 file1
drwxr-xr-x. 3 root root   18 11月 25 00:29 file2
drwxr-xr-x. 2 root wang    6 11月 25 00:30 file3
drwxr-xr-x. 2 root root    6 11月 26 23:31 test.log
[root@localhost ~]#

2.3.2、chgrp --help

[root@localhost user]# chgrp --help
用法:chgrp [选项]... 用户组 文件...
 或:chgrp [选项]... --reference=参考文件 文件...
Change the group of each FILE to GROUP.
With --reference, change the group of each FILE to that of RFILE.

  -c, --changes          like verbose but report only when a change is made
  -f, --silent, --quiet  suppress most error messages
  -v, --verbose          output a diagnostic for every file processed
      --dereference      affect the referent of each symbolic link (this is
                         the default), rather than the symbolic link itself
  -h, --no-dereference   affect symbolic links instead of any referenced file
                         (useful only on systems that can change the
                         ownership of a symlink)
      --no-preserve-root  do not treat '/' specially (the default)
      --preserve-root    fail to operate recursively on '/'
      --reference=RFILE  use RFILE's group rather than specifying a
                         GROUP value
  -R, --recursive        operate on files and directories recursively

The following options modify how a hierarchy is traversed when the -R
option is also specified.  If more than one is specified, only the final
one takes effect.

  -H                     if a command line argument is a symbolic link
                         to a directory, traverse it
  -L                     traverse every symbolic link to a directory
                         encountered
  -P                     do not traverse any symbolic links (default)

      --help		显示此帮助信息并退出
      --version		显示版本信息并退出

示例:
  chgrp staff /u            将 /u 的属组更改为"staff"。
  chgrp -hR staff /u    将 /u 及其子目录下所有文件的属组更改为"staff"。

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
请向<http://translationproject.org/team/zh_CN.html> 报告chgrp 的翻译错误
要获取完整文档,请运行:info coreutils 'chgrp invocation'

2.3.3、chown:更改文件属主,也可以同时更改属组

语法:

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
chown [-R] 属主名  文件名

user@localhost ~]$ su root
密码:
[root@localhost user]# cd ~
[root@localhost ~]# ll
总用量 4
-rw-------. 1 root root 2745 11月 24 19:19 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 11月 26 23:31 test.log

[root@localhost ~]# chown wang test.log
[root@localhost ~]# ll
总用量 4
-rw-------. 1 root root 2745 11月 24 19:19 anaconda-ks.cfg
drwxr-xr-x. 2 wang root    6 11月 26 23:31 test.log
chown [-R] 属主名:属组名  文件名
[root@localhost ~]# ll    显示/root目录下的文件信息
总用量 4
-rw-------. 1 root root 2745 11月 24 19:19 anaconda-ks.cfg
drwxr-xr-x. 2 bin  bin     6 11月 25 00:28 dir1
drwxr-xr-x. 2 root jack    6 11月 25 00:29 file1
drwxr-xr-x. 3 root root   18 11月 25 00:29 file2
drwxr-xr-x. 2 root wang    6 11月 25 00:30 file3
drwxr-xr-x. 2 wang root    6 11月 26 23:31 test.log

[root@localhost ~]# chown wang:jack file2
[root@localhost ~]# ls-l
总用量 4
-rw-------. 1 root root 2745 11月 24 19:19 anaconda-ks.cfg
drwxr-xr-x. 2 bin  bin     6 11月 25 00:28 dir1
drwxr-xr-x. 2 root jack    6 11月 25 00:29 file1
drwxr-xr-x. 3 wang jack   18 11月 25 00:29 file2
drwxr-xr-x. 2 root wang    6 11月 25 00:30 file3
drwxr-xr-x. 2 wang root    6 11月 26 23:31 test.log

2.3.4、chown --help

用法:chown [选项]... [所有者][:[组]] 文件...
 或:chown [选项]... --reference=参考文件 文件...
Change the owner and/or group of each FILE to OWNER and/or GROUP.
With --reference, change the owner and group of each FILE to those of RFILE.

  -c, --changes          like verbose but report only when a change is made
  -f, --silent, --quiet  suppress most error messages
  -v, --verbose          output a diagnostic for every file processed
      --dereference      affect the referent of each symbolic link (this is
                         the default), rather than the symbolic link itself
  -h, --no-dereference   affect symbolic links instead of any referenced file
                         (useful only on systems that can change the
                         ownership of a symlink)
      --from=当前所有者:当前所属组
                         	只当每个文件的所有者和组符合选项所指定时才更改所
				有者和组。其中一个可以省略,这时已省略的属性就不
				需要符合原有的属性。
      --no-preserve-root  do not treat '/' specially (the default)
      --preserve-root    fail to operate recursively on '/'
      --reference=RFILE  use RFILE's owner and group rather than
                         specifying OWNER:GROUP values
  -R, --recursive        operate on files and directories recursively

The following options modify how a hierarchy is traversed when the -R
option is also specified.  If more than one is specified, only the final
one takes effect.

  -H                     if a command line argument is a symbolic link
                         to a directory, traverse it
  -L                     traverse every symbolic link to a directory
                         encountered
  -P                     do not traverse any symbolic links (default)

      --help		显示此帮助信息并退出
      --version		显示版本信息并退出

Owner is unchanged if missing.  Group is unchanged if missing, but changed
to login group if implied by a ':' following a symbolic OWNER.
OWNER and GROUP may be numeric as well as symbolic.

示例:
  chown root /u		将 /u 的属主更改为"root"。
  chown root:staff /u	和上面类似,但同时也将其属组更改为"staff"。
  chown -hR root /u	将 /u 及其子目录下所有文件的属主更改为"root"。

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
请向<http://translationproject.org/team/zh_CN.html> 报告chown 的翻译错误
要获取完整文档,请运行:info coreutils 'chown invocation'

2.4、chmod:更改文件9个属性

2.1.4、概述

Linux文件属性有两种设置方法:数字、符号。

linux有9种基本权限,分别为owner/group/others(拥有者/组/其他),三种身份各有自己的read/write/execute权限。文件的权限字符-rwxrwxrwx,这9个权限是三个三个一组的,用数字表示各个权限为:

  • r:4
  • w:2
  • x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数需要累加,例如当权限为:-rwxrwx---分数则是
owner=rwx=4+2+1=7

group=rwx=4+2+1=7

others=---=0+0+0=0

该文件的权限数字为770,变更为chmod的语法为:
chmod [-R] xyz  文件或目录
选项与参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更

2.4.2、案例

将dir1文件所有权限都设定为启用

[root@localhost ~]# ls -al dir1
总用量 4
drwxr-xr-x.  2 bin  bin     6 11月 25 00:28 .
dr-xr-x---. 10 root root 4096 11月 27 00:25 ..
[root@localhost ~]# cmdod 550 dir1

[root@localhost ~]# chmod 550 dir1
[root@localhost ~]# ls -al dir1
总用量 4
dr-xr-x---.  2 bin  bin     6 11月 25 00:28 .
dr-xr-x---. 10 root root 4096 11月 27 00:25 ..

2.4.3、符号类型改变文件权限

  • user:用户
  • group:组
  • others:其他

我们用u,g,o代表以上三种身份的权限。

另外a代表all,即全部身份,读写的权限为r,w,x

chmod

u

g

o

a

+(加入)

-(除去)

=(设定)

r

w

x

文件或目录

假设将文件权限设置为 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定:

[root@localhost ~]# touch test0
[root@localhost ~]# ls -al test0
-rw-r--r--. 1 root root 0 11月 27 02:17 test0
[root@localhost ~]# chmod u=rwx,g=rx,0=r test0
chmod: 无效模式:"u=rwx,g=rx,0=r"   --错误 零=r
Try 'chmod --help' for more information.
[root@localhost ~]# chmod u=rwx,g=rx,o=r test0
[root@localhost ~]# ls -al test0
-rwxr-xr--. 1 root root 0 11月 27 02:17 test0
[root@localhost ~]#

去除所有用户的执行权限

[root@localhost ~]# chmod a -x test0  -- 正确的语法为:chmod a-x test0
chmod: 无法访问"a": 没有那个文件或目录
[root@localhost ~]# chmod a-x test0
[root@localhost ~]# ls -al test0
-rw-r--r--. 1 root root 0 11月 27 02:17 test0