chmod:修改文件或目录权限;chown:修改文件所有者;chgrp:可以修改文件所在组;
[root@hadoop1 ~]# ls -ltr
-rw-r--r--. 1 root root 39 5月 10 15:26 Ok.java
[root@hadoop1 ~]# ls -ld /(查看目录权限('/'表示根目录))
dr-xr-xr-x. 24 etrading etrading 4096 May 29 03:33 /
总结:文件类型、所有者权限、所在组权限、其他组权限、文件的硬链接或目录的子目录数、文件所有者、文件所在组、文件大小(目录则统一为4096)、文件最后修改时间、文件名;
详解:
- :表示文件类型:[-]:是普通文件、[d]:是目录、[l]:是软连接、[c]:字符设备(如键盘 鼠标等)、[b]:块文件(如硬盘);
rw- (3中u:user) :表示文件所有者拥有的权限:[r]:读的权限、[w]:写的权限、[-]:表示没有权限;('rw-'表示拥有读和写的权限)
r- -(3中g:group) :表示文件所在组的用户拥有的权限:[r]:读的权限、[w]:写的权限、[-]:表示没有权限;('r–'表示只有读的权限)
r- -(3中o:other) :表示文件其他组的用户拥有的权限:[r]:读的权限、[w]:写的权限、[-]:表示没有权限;
1:表示文件的硬链接或目录的子目录数:1)如果是文件:表示硬链接的数一般都是1; 2)如果是目录:代表此目录下的子目录的个数;
root:表示文件的所有者;
root:表示文件所在组;
39:表示文件的大小(字节),39个字节; 如果是目录,统一都显示4096;
5月 10 15:26:表示文件最后的修改时间;
Ok.java:表示文件名;
1)rwx作用到文件:
[r]代表可读(read):可以读取、查看;
[w]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在目录有写权限,才能删除该文件;
[x]代表可执行(execute):可以被执行;
2)rwx作用到目录:
[r]代表可读(read):可以读取,ls查看目录内容;
[w]代表可写(write):可以修改,目录内创建+删除+重命名目录;
[x]代表可执行(execute):可以进入该目录;
1)第一种方式:+、-、=变更权限:
u:(user)所有者、g:(group)所在组、o:(other)其他组、a:(all)所有人(u、g、o的总和);
1)‘chmod u=rwx,g=rx,o=x 文件目录名’(代表给文件或者目录所有者rwx(可读可写可执行)权限、所在组rx(可读可执行)权限、其他的人x(可执行)权限)
2)‘chmod o+w 文件目录名’(代表给文件或者目录o其他的人+增加一个w写的权限)
3)‘chmod a-x 文件目录名’(代表给文件或者目录a所有的用户-都减去一个x执行的权限)
2)第二种方式:通过数字变更权限:r=4 w=2 x=1 rwx=4+2+1=7:
‘chmod u=rwx,g=rx,o=x 文件目录名’ == ‘chmod 751 文件目录名’
例:chmod 751 ok.txt:对于ok.txt自己可读可写可执行、本组可读可执行、其他组可执行;
chmod 640 ok.txt:对于ok.txt自己可读可写、本组可读、其他组没有任何权限;
chown newowner file :改变文件所有者;
chown newowner:newgroup file :同时改变用户的所有者和所在组;
-R 如果是目录,则使其下所有子文件或目录递归生效;
chgrp newgroup file :改变文件所在组;