Linux~修改文件属性与权限(chgrp、chown、chmod)的使用

文章目录

    • 修改所属用户组chgrp
    • 修改文件拥有者chown
    • 修改权限chmod
      • 数字形式
      • 字符类型

修改所属用户组chgrp

  • 修改用户组的时候你的/etc/group这个文件中必须得有这个用户组, 不然就会出错
  • 格式chgrp [- r] filename / dirname -r表示递归进行, 就是如果是一个目录而且下面还有文件的话, 里面所有的文件的用户组都会改变
root@listen-virtual-machine:/home/listen/test# ll
总用量 12
drwxrwxr-x  2 listen listen 4096 910 19:30 ./
drwxr-xr-x 17 listen listen 4096 910 17:14 ../
-rw-r--r--  1 root   root     10 910 19:31 one.exe
root@listen-virtual-machine:/home/listen/test# chgrp users one.exe 
root@listen-virtual-machine:/home/listen/test# ll
总用量 12
drwxrwxr-x  2 listen listen 4096 910 19:30 ./
drwxr-xr-x 17 listen listen 4096 910 17:14 ../
-rw-r--r--  1 root   users    10 910 19:31 one.exe
root@listen-virtual-machine:/home/listen/test# chgrp test one.exe 
chgrp: 无效的组:“test”

修改文件拥有者chown

  • 修改后的用户必须是在系统中已经存在的账号, 也就是在/etc/passwd这个文件中有记录的用户名才可以
  • 格式chown [-r] 账号名称 filename/dirname -r表示递归进行, 就是如果是一个目录而且下面还有文件的话, 里面所有的文件的拥有者都会改变
root@listen-virtual-machine:/home/listen/test# chown users one.exe 
chown: 无效的用户: “users”
root@listen-virtual-machine:/home/listen/test# chown bin one.exe 
root@listen-virtual-machine:/home/listen/test# ll
总用量 12
drwxrwxr-x  2 listen listen 4096 910 19:30 ./
drwxr-xr-x 17 listen listen 4096 910 17:14 ../
-rw-r--r--  1 bin    users    10 910 19:31 one.exe

修改权限chmod

  • 修改权限有俩种形式, 一个是数字形式, 一个是字符形式

数字形式

  • linux文件的基础权限就9个前三个是拥有者, 中间三个是同组用户, 最后三个是其他用, 分别用rwx表示, 那我们也可以用数字去代替这三个字符
    r: 4
    w: 2
    x: 1
    也就是说如果一个权限为可读可写可执行 那么他就是rwx全有说以就是4+2+1=7
    如果一个权限是可读不可写可执行那么就是r-x数字形式就是4+1=5
  • 9个权限字符合并在一起如果拥有者, 同组用户, 其他用户都是可读可写可执行那么数字形式就是777
  • 格式chmod [-r] rwx的相加数字 filename/dirname -r就不用多解释了吧
-rw-r--r--  1 bin    users    10 910 19:31 one.exe
root@listen-virtual-machine:/home/listen/test# chmod 777 one.exe 
root@listen-virtual-machine:/home/listen/test# ll
总用量 12
drwxrwxr-x  2 listen listen 4096 910 19:30 ./
drwxr-xr-x 17 listen listen 4096 910 17:14 ../
-rwxrwxrwx  1 bin    users    10 910 19:31 one.exe*
root@listen-virtual-machine:/home/listen/test# chmod 700 one.exe 
root@listen-virtual-machine:/home/listen/test# ll
总用量 12
drwxrwxr-x  2 listen listen 4096 910 19:30 ./
drwxr-xr-x 17 listen listen 4096 910 17:14 ../
-rwx------  1 bin    users    10 910 19:31 one.exe*

字符类型

  • 字符介绍
    u: 表示拥有者
    g: 表示同组用户
    o: 其他用户
    a: 表示所有用户

+: 表示权限加入
-: 表示移除权限
=: 设置权限

r: 可读
w: 可写
x: 可执行

  • 格式chmod [-r] 按照你需要的权限写中间不能有空格 ffilename/dirname
root@listen-virtual-machine:/home/listen/test# chmod u=rwx,g=rw,o=rw one.exe 
root@listen-virtual-machine:/home/listen/test# ll
总用量 12
drwxrwxr-x  2 listen listen 4096 910 19:30 ./
drwxr-xr-x 17 listen listen 4096 910 17:14 ../
-rwxrw-rw-  1 bin    users    10 910 19:31 one.exe*

  • 去掉所有人的可写权限
root@listen-virtual-machine:/home/listen/test# chmod a-w one.exe 
root@listen-virtual-machine:/home/listen/test# ll
总用量 12
drwxrwxr-x  2 listen listen 4096 910 19:30 ./
drwxr-xr-x 17 listen listen 4096 910 17:14 ../
-r-xr--r--  1 bin    users    10 910 19:31 one.exe*

  • 给所有人增加可执行权限
root@listen-virtual-machine:/home/listen/test# chmod a+x one.exe 
root@listen-virtual-machine:/home/listen/test# ll
总用量 12
drwxrwxr-x  2 listen listen 4096 910 19:30 ./
drwxr-xr-x 17 listen listen 4096 910 17:14 ../
-r-xr-xr-x  1 bin    users    10 910 19:31 one.exe*
root@listen-virtual-machine:/home/listen/test# 

你可能感兴趣的:(Linux,linux,shell)