Pages

Tuesday, 1 September 2020

Linux 文件权限属性相关总结

 

文件权限与属性修改

  • chgrp: 更改文件属组
  • chown: 更改文件属主
  • chmod: 更改文件权限,SUID、SGID、SBIT 等属性

1. 更改文件属组

更改时组名必须存在,即在必须在 /etc/group 文件内存在,否则报错。

1
2
3
4
5
6
7
8
9
10
命令格式: chgrp [-R] group_name dirname/filename ...
选顷参数:
-R : 递归(recursive)更改,即连同子目彔下的所有文件、目录
[root@centos7 vagrant]# ls -l
total 4
-rw-rw-r--. 1 vagrant vagrant 5 Nov 17 19:04 aa
[root@centos7 vagrant]# chgrp root aa
[root@centos7 vagrant]# ls -l
total 4
-rw-rw-r--. 1 vagrant root 5 Nov 17 19:04 aa

2. 更改文件属主

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
命令格式: 
chown [-R] 账号名称 文件或目彔(只更改属主)
chown [-R] 账号名称:组名 文件或目彔(属主和属组同时更改)
选顷参数:
-R : 递归(recursive)更改,即连同子目彔下的所有文件、目录
[root@centos7 vagrant]# ls -l
total 4
-rw-rw-r--. 1 vagrant root 5 Nov 17 19:04 aa
[root@centos7 vagrant]# chown root aa
[root@centos7 vagrant]# ls -l
total 4
-rw-rw-r--. 1 root root 5 Nov 17 19:04 aa
[root@centos7 vagrant]# chown vagrant:vagrant aa
[root@centos7 vagrant]# ls -l
total 4
-rw-rw-r--. 1 vagrant vagrant 5 Nov 17 19:04 aa

Tips:
chown 也能修改属组:chown .group_name filename

1
2
3
4
5
6
7
[root@centos7 vagrant]# ls -l
total 4
-rw-rw-r--. 1 vagrant vagrant 5 Nov 17 19:04 aa
[root@centos7 vagrant]# chown .root aa
[root@centos7 vagrant]# ls -l
total 4
-rw-rw-r--. 1 vagrant root 5 Nov 17 19:04 aa

3. 更改文件权限

更改文件权限使用 chmod 命令,该命令有两种使用方式:以数字或者符号来进行权限的变更。

  • 数字方式更改

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    命令格式: chmod [-R] xyz 文件或目录
    选项参数:
    -R: 递归(recursive)更改,即连同子目彔下的所有文件、目录
    xyz: 权限数字
    [root@centos7 vagrant]# ls -l
    total 4
    -rw-rw-r--. 1 vagrant root 5 Nov 17 19:04 aa
    [root@centos7 vagrant]# chmod 755 aa
    [root@centos7 vagrant]# ls -l
    total 4
    -rwxr-xr-x. 1 vagrant root 5 Nov 17 19:04 aa
  • 符号方式更改: 


  • 将文件权限设置为: -rwxr-xr-x
    [root@centos7 vagrant]# chmod u=rwx,g=rx,o=rx aa
    给所有人赋予文件可写权限
    [root@centos7 vagrant]# chmod a+w aa
    所在组和其他组人去除可写权限
    [root@centos7 vagrant]# chmod g-x,o-x aa

    文件与目录的权限区别

    Linux 下文件与目录的权限(r、w、x)有很大的不同,具体如下:


  • Linux FHS 标准

    Linux FHS(Filesystem Hierarchy Standard)文一种规范,规范 Linux 各发行版的目录结构,什么目录下该存放什么类型的文件。大概规范如下(其中灰色部分目录不能在系统的不同磁盘设备,因为都是和系统启动有关的,必须在系统盘所在的磁盘):

  • ---------------------------------

  • Linux的文件权限

  • -rwxr–r– 1 root root 3435 Sep 8 15:33 文件名最左边的那个 – 代表是文件;d是目录,l是链接文件,b是可供存储的接口设备,c是串行端口设备;
    1代表连接数;
    rwx这组是代表拥有者的权限;如果没有权限的就会相应的位置用 – 表示
    r–这组是代表用户组的权限;
    接着r–这组代表其他人的权限;
    第一个root代表拥有者是root用户;
    第二个root代表用户组是root组;
    3435是文件的大不;
    Sep 8 15:33最后修改时间;
    最后是文件名了;
    我们的Linux系里的文件和目录都有它们的权限限制的!它们都有1.拥有者、2.用户组、3.和其他人!这三个代表什么意思呢,?
    1)我们就用通俗点的来记它们,可以把目录或文件当做房子,房本上的那个名字就是拥有者,可以对房子有绝对支配权,用户组就是儿女家庭成员对房子都有使用权,其他人就是和他们没关系的其他人!
    第二种,也是房子,
    例如有一间房子,里面有房间和客厅,房间就是你自己的私有地别人想进要经过你的同意,而客厅不在你房间里,和你住在一个房子里的人都可以用,房间就相当于你建的文件,客厅就想当于用户组了,拥有者就是这房子是谁的,其他人就是不住在这房间里的人。。
    2)现在我们来看它们的rwx代表什么权限;
    文件的:
    r:表示可读出文件里面的数据;
    w:表示可以对文件编辑、新增、修改;
    x:表可这个文件可以执行的;
    目录的:
    r:表示可以读出目录结构列表,就是可以显示目录下面的文件名;
    w:表示可以对目录里新建文件或目录、删除已存文件或目录、可以给已存文件或目录改名或更换位置;
    x:目录的x表示用户能否进入该目录成为工作目录用途;
    3)我们有三个命令改变它们
    chown:改变它们的拥有者。
    chgrp:改变它们的所属用户组。
    chmod:改变它们的权限。
    改权限可以用数字代替
    r:4
    w:2
    x:1
    拥有者=rwx=7,所属用户组=rwx=7,其他人=—=0;那么就是770!chmod 770 文件名
    4)如果我们想要自己去试验他们的权限都是怎么样的,就要先用useradd创建一个用户,密码passwd;
    和用groupadd -r创建一个组
    还要用mkdir创建目录和用touch创建一个文件,并把用之前说的那三个命令设置成自己创建的用户名和所属组,,
    然后用su – 切换用户登录吧

  • from  http://bbs.linuxprobe.com/thread-193-1-1.html

No comments:

Post a Comment