新操作系统。

子目录加上文件和。

前面的数字是文件夹的个数。
包含隐藏目录。

修改权限。

这里的读写执行究竟指的是什么?是这个文件有这些权限还是别人对这个文件有这些权限。
这里的“读写执行”,是不同身份的用户对这个文件拥有的操作权限,不是文件“自身有这些权限”~
Linux里权限分3类身份+3种操作:
1. 身份维度:
- u :文件的所有者(比如截图里 abc 的所有者是 root )
- g :文件的所属组(比如 abc 的所属组是 root 组)
- o :其他用户(既不是所有者、也不在所属组的用户)
2. 操作维度:
- r (读):能查看文件内容;
- w (写):能修改/删除文件;
- x (执行):能把文件当程序运行(比如脚本、可执行文件)。
以你截图里的 abc 文件为例:
执行 chmod u=rwx,g=rx,o=rx abc 后,权限变成 -rwxr-xr-x ,意思是:
- 所有者( root ):能读、写、执行这个文件;
- 所属组( root 组的用户):能读、执行这个文件;
- 其他用户:能读、执行这个文件。
别人对这个文件。

这个很好理解。
另一种方式。

o是其他人,g是本组人,mod修改

组变化了之后,这个文件权限是跟着创建这个文件的用户走的。
自己创建的文件,自己有修改这个文件权限的权利。


这是因为目录的权限优先级高于文件权限,即使同组用户有文件的权限,若没有目录的权限,也无法访问文件。具体原因如下:
1. 核心问题: swk 的家目录( /home/swk )的组权限未开放
Linux中,要访问某个文件,必须先具备该文件所在目录的权限:
- 进入目录需要目录的执行权限( x );
- 查看目录内文件需要目录的读权限( r )。
swk 的家目录( /home/swk )默认权限通常是 rwx------ (对应数字权限 700 ),即:
- 仅所有者( swk )有“读、写、执行”权限;
- 所属组( yg )和其他用户无任何权限。
2. 验证:文件权限虽开放,但目录权限不足
从截图看, aaa.java 的权限是 -rw-rw-r-- :
- 所有者( swk ):读写( rw );
- 所属组( yg ):读写( rw );
- 其他用户:读( r )。
但 zbj (同组用户)无法访问 /home/swk 目录(提示“权限不够”)——因为目录的组权限是“无权限”,所以即使文件给了组读写权限, zbj 也无法进入目录、无法操作文件。
3. 解决方法:开放 swk 家目录的组权限
若要让同组的 zbj 访问 /home/swk 内的文件,需修改目录的权限:
bash
# 切换到swk用户,修改家目录的组权限(添加读+执行)
[swk@JC1 ~]$ chmod g+rx /home/swk
修改后, /home/swk 的权限会变为 rwxr-x--- ( 750 ):
- 所有者( swk ):rwx;
- 所属组( yg ):r(读目录)+ x(进入目录);
- 其他用户:无权限。
此时 zbj 就能进入 /home/swk 目录,并通过文件的组权限( rw )操作 aaa.java 了。
为什么他们是同组的,猪八戒没有读写的权限。
缺少执行权限。

少了x,自己不能执行


