文件属性与权限,文件权限设置
参考资料:鸟哥的Linux私房菜
用户与用户组
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个惟一的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
用户组相当于某几个用户组成的大家庭,具有共有数据也有私有数据。(例如两兄弟共享房间,房间里的某个抽屉却是某人私有的)
Linux文件属性
终端某目录输入 ls -al (ls也即list浏览目录,-a参数时全部,-l参数显示详细信息)
xxx@xxx:~/code$ ls -al 总用量 32 drwxr-xr-x 7 xxx xxx 4096 1月 2 17:17 . drwxr-xr-x 30 xxx xxx 4096 1月 2 20:46 .. -rw-r--r-- 1 xxx xxx 23 1月 1 23:03 a.json drwxrwxrwx 75 xxx xxx 4096 1月 2 17:16 code_cpp drwxrwxrwx 22 xxx xxx 4096 1月 2 17:16 code_java drwxrwxrwx 25 xxx xxx 4096 1月 2 17:17 code_leetcode drwxrwxrwx 35 xxx xxx 4096 1月 2 17:18 code_py drwxr-xr-x 2 xxx xxx 4096 12月 31 16:36 .vscode
1 2 3 4 5 6 7
权限 连接|所有者|用户组|文件容量|修改日期 文件名
以上共有7项属性
1.权限
以第一个文件为例 d rwx(读写执行) r-x(读执行) r-x(读执行)
文件类型 文件所有者权限 文件所属用户组权限 其他人权限
文件类型大致有 [d]目录 [-]文件 [l]连接文件 [b]可存储的接口设备 [c]串行端口设备如键盘鼠标
权限有 r读 w写 r执行
2.连接数:有多少文件名连接到此节点
3.所有者
4.用户组:文件所属用户组
5.文件大小:B为单位
6.最终修改日期
7.文件名
修改文件属性与权限
1.改变文件所属用户组 chgrp
chgrp [-R] groupname filename/dirname (参数依次是:-R可选参数 可递归改变文件夹下所有文件,用户组名,文件或文件夹名)
root@xxx:~# ls -l test -rw-r--r-- 1 root root 0 1月 3 01:09 test root@xxx:~# chgrp -R xxx test root@xxx:~# ls -l test -rw-r--r-- 1 root xxx 0 1月 3 01:09 test
2.改变文件所有者 chown
chown [-R] username filename/dirname (参数依次是:-R可选参数 可递归改变文件夹下所有文件,用户名,文件或文件夹名)
或chown [-R] username:groupname filename/dirname (可同时改变文件所属用户组)
-rw-r--r-- 1 root xxx 0 1月 3 01:09 test root@xxx:~# chown -R xxx test root@xxx:~# ls -l test -rw-r--r-- 1 xxx xxx 0 1月 3 01:09 test
3.改变权限 chmod
方法一:
文件权限9个,分别为onwer,group,others的读写执行权限
而读写执行权限的属性值分别为 r:4 w:2 x:1
chmod [-R] xyz filename/dirname (参数依次是:-R可选参数 可递归改变文件夹下所有文件,读/写/执行的数值和,文件或文件夹名)
例如改变test文件权限
xxx@xxx:~/Desktop$ chmod -R 751 test xxx@xxx:~/Desktop$ ls -l test -rwxr-x--x 1 xxx xxx 0 1月 3 00:48 test
方法二:
chmod |
u(所有者) g (用户组) o(其他) a(所有) |
+(增加) -(除去) =(设置) |
r w x |
文件或目录 |
例如:对test文件,所有者设置读写执行权限,用户组增加写权限,其他去除读权限
xxx@xxx:~/Desktop$ ls -l test -rw-r--r-- 1 xxx xxx 0 1月 3 00:48 test xxx@xxx:~/Desktop$ chmod u=rwx,g+w,o-r test xxx@xxx:~/Desktop$ ls -l test -rwxrw---- 1 xxx xxx 0 1月 3 00:48 test
目录与文件权限意义
1.文件
读:读取文件实际内容
写:增加修改删除文件内容(不能删除文件)
执行:可被执行的权限
2.目录
读:读取文件列表及文件信息(不能读取实际内容)
写:新建文件或目录;删除文件或目录;文件重命名,转移文件或目录位置(写权限尤为重要)
执行:进入目录成为工作目录(此时即需要这些文件的读写执行权限来相应操作)
文件拓展名
linux使用拓展名来(让人较为方便的)识别文件类型;与windows不同,windows用拓展名来让机器识别是否为可执行文件如.exe以及.bat等
linux下文件拓展名举例:
*.sh 脚本或批处理文件
*Z *tar *.tar.gz *.zip *.tgz均为压缩文件,由于压缩软件或方式不同而取不同拓展名