linux系统的文件和目录属性都有访问许可权限。 文件或目录的访问权限分为只读、只写和可执行三种。其中这三种权限还对用户进行区分,分别是文件或目录拥有者、同用户组用户及其他用户。如:
![chmod,chgrp,chown命令 修改文件权限 chmod,chgrp,chown命令 修改文件权限](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9abWxzWlRvdkx5OURPaTlWYzJWeWN5OUlWVUZPUjFwK01TOUJjSEJFWVhSaEwweHZZMkZzTDFSbGJYQXZaVzVvZEcxc1kyeHBjQzlKYldGblpTNXdibWM9.jpg?w=700&webp=1)
chmod命令功能:用于修改文件或目录的访问权限。方式有两种1、文字设定法chmod [who] [+|-|=] [mode] 文件名who的可选项或组合:u——表示“用户(user)”,即文件或目录的拥有者g——表示“同组(group)”,即与文件或目录的拥有者同组的用户o——表示“其他(other)”,即其他用户a——表示“所有(all)用户”,即所有用户操作符可选项:+ 添加某个权限- 取消某个权限= 赋予给定权限并取消其他所有权限mode的可选项及组合:r 可读w 可写x 可执行X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性s 在文件执行时把进程的拥有者的或组ID置为该文件的文件拥有者。方式"u+s"设置文件的用户ID位,“g+s"设置组ID位u 与文件拥有者一样的权限g 与文件拥有者同组用户一样的权限o 与其他用户一样的权限
在一个命令行中可给出多个权限方式,其间用逗号隔开, 如chmod g+r,o+r test对test文件添加同组可读权限,对其他用户可读权限例:chmod a+x test对test文件添加所有用户的可执行权限。chmod g-w test对test同组用户删去可写权限chmod u+s a.out假设执行chmod后a.out的权限为(可以用ls – l a.out命令来看):–rws--x--x 1 inin users 7192 Nov 4 14:22 a.out并且这个执行文件要用到一个文本文件shiyan1.c,其文件存取权限为“–rw-------”,即该文件只有其属主具有读写权限。当其他用户执行a.out这个程序时,他的身份因这个程序暂时变成inin(由于chmod命令中使用了s选项),所以他就能够读取shiyan1.c这个文件(虽然这个文件被设定为其他人不具备任何权限),这就是s的功能。
2、数字设定法
0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,组合的将其对应的值进行相加即可。例:chmod 644 test对test文件添加拥有者可读可写权限,同 组可读权限,其他用户可读权限。
chgrp命令功能:该表文件或目录所属的组语法:chgrp [选项] group 文件名选项可选:-R 递归式地该表制定目录及其下的所有子目录和文件的拥有者例chgrp -R test /test改变/test及其目录下的所有文件的属组为test
chown命令功能:更改某个文件或目录的属主和属组。语法:chown [选项] 用户或组 文件说明:将制定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID选项可选:-R 递归式地改变指定目录及旗下的所有子目录和文件的拥有者例:chown hzg test把test文件的所有者改为hzbchown -R hzb.users /test把/test及其下的所有文件和子目录的属主改为hzb,数组改为users