06月192020
linux下修改文件/文件目录权限、拥有者及用户组
随笔技术知识阅读2579 标签: 运维
> 在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有`所有者`、`所在组`、`其它组`的概念。 - 所有者 1. 一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者 2. 用ls ‐ahl命令可以看到文件的所有者 3. 也可以使用chown 用户名 文件名来修改文件的所有者 - 文件所在组 1. 当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组 2. 用ls ‐ahl命令可以看到文件的所有组 3. 也可以使用chgrp 组名 文件名来修改文件所在的组 - 其它组 1. 除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组 # 文件属性 - 执行` ls -l` 或 `ls -al `显示如下内容: ```sh [root@localhost ~]# ls -al 总用量 44 dr-xr-x---. 5 root root 4096 8月 6 14:44 . dr-xr-xr-x. 17 root root 4096 7月 25 05:33 .. -rw-------. 1 root root 1426 7月 25 05:35 anaconda-ks.cfg -rw-------. 1 root root 431 8月 6 11:13 .bash_history -rw-r--r--. 1 root root 18 12月 29 2013 .bash_logout -rw-r--r--. 1 root root 176 12月 29 2013 .bash_profile -rw-r--r--. 1 root root 176 12月 29 2013 .bashrc drwx------. 4 root root 29 8月 6 10:23 .cache drwxr-xr-x. 3 root root 17 8月 6 10:23 .config -rw-r--r--. 1 root root 100 12月 29 2013 .cshrc drwx------. 3 root root 24 7月 24 21:39 .dbus -rw-r--r--. 1 root root 1474 7月 24 21:53 initial-setup-ks.cfg -rw-r--r--. 1 root root 129 12月 29 2013 .tcshrc -rw-------. 1 root root 66 8月 6 14:44 .xauthqxoZZ4 ``` > 从上述可以看出,共有七列数据,下面将一一讲述: - 第一列代表文件的类型与权限 > 第一列共有10个字符,第一个字符代表这个文件是`目录`、`文件`或 `链接文件` 等。 1.若是[d]则表示目录 2.若是[-]则表示文件 3.若是[l]则表示链接文件 4.若是[ b ]则表示为装置文件里面的可供储存的接口设备 5.若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置) > 接下来的字符中,以三个为一组,且均为[rwx]的三个参数的组合, [ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute) 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]。 1.第一组:文件拥有者的权限 2.第二组:同群组的权限 3.第三组:其他非本用户组的权限 - 第二列表示有多少个文件名链接到此节点 > 记录有多少不同的档名连结到相同的一个i-node,一般来说,若是文件则为1,若是文件夹(目录)则表示其下文件和目录的个数。 - 第三列表示文件(或目录)的拥有者 - 第四列表示文件的所属群组 - 第五列表示文件的容量大小(默认单位为bytes) - 第六列表示文件的建档日期或者是最近的修改日期 - 第七列表示文件的全路径及其文件名 # 文件属性和权限更改 > Linux文件属性和权限的更改主要通过以下几个命令来实现: 1.chgrp:更改文件所属用户组 2.chown:更改文件拥有者 3. chmod:改变文件的权限 - 改变所属用户组:chgrp ```sh [root@localhost tmp]# ls -al dir 总用量 4 drwxrwxr-x. 3 www1234 www1234 32 8月 6 15:14 . drwxrwxrwt. 25 root root 4096 8月 6 15:14 .. drwxrwxr-x. 3 www1234 www1234 17 8月 6 15:13 dir2 -rwxrw-rw-. 1 www1234 www1234 0 8月 6 15:13 file.txt ``` > 从上可以看出,dir2和file.txt文件是属于www1234用户组。 ```sh [root@localhost tmp]# chgrp user -R dir [root@localhost tmp]# ls -al dir 总用量 4 drwxrwxr-x. 3 www1234 user 32 8月 6 15:14 . drwxrwxrwt. 25 root root 4096 8月 6 15:15 .. drwxrwxr-x. 3 www1234 user 17 8月 6 15:13 dir2 -rwxrw-rw-. 1 www1234 user 0 8月 6 15:13 file.txt ``` - 改变文件所有者:chown ```sh [root@localhost tmp]# chown user1 -R dir [root@localhost tmp]# ls -al dir 总用量 4 drwxrwxr-x. 3 user1 user 32 8月 6 15:14 . drwxrwxrwt. 25 root root 4096 8月 6 15:22 .. drwxrwxr-x. 3 user1 user 17 8月 6 15:13 dir2 -rwxrw-rw-. 1 user1 user 0 8月 6 15:13 file.txt ``` > 关于文件的复制cp > 复制行为会复制执行者的属性与权限,通过以下例子可以理解: ```sh [root@localhost tmp]# ls -al /home/www1234/file.txt -rwxrw-r--. 1 www1234 www1234 0 8月 6 15:13 /home/www1234/file.txt [root@localhost tmp]# cp /home/www1234/file.txt /home/user1/file.txt [root@localhost tmp]# su user1 [user1@localhost tmp]$ ls -al /home/user1/file.txt -rwxr--r--. 1 root root 0 8月 6 15:36 /home/user1/file.txt ``` > 从上表看出,用户www1234文件file.txt的用户所有者,所属用户组均为www1234,而执行复制的操作的执行者是root用户,所以复制的文件属于root用户所有,文件的读写属性也发生了变化。 - 改变权限:chmod > 数字类型改变权限:r:4,w:2,x:1 > 每种身份(owner、group、others)各自的三个权限(r、w、x)分数是需要累加的。 > 例如:[-rwxr-x---] > owner:rwx=4+2+1=7 > group:r-x=4+1=5 > others: ---=0+0+0=0 > 改变main.c的权限: > chmod 777 main.c 权限变为[-rwxrwxrwx] - 权限对文件的意义: 1. r (read):可读取此一文件的实际内容,如读取文本文件的文字内容等; 2. w (write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件); 3. x (execute):该文件具有可以被系统执行的权限. > 在Windows底下一个文件是否具有执行的能力是藉由扩展名来判断的, 例如:.exe, .bat, .com 等等 > 在Linux底下,我们的文件是否能被执行,则是藉由是否具由x这个权限来决定的!跟档名是没有绝对的关系的。 - 权限对目录的意义: 1. r (read contents in directory):表示具有读取目录结构列表的权限,所以当你具有读取(r)一个目录的权限时,表示你可以查询该目录下的文件名数据. 所以你就可以利用 ls 这个指令将该目录的内容列表显示出来! 2. w (modify contents of directory):建立新的文件与目录;删除已经存在的文件与目录(不论该文件的权限为何);将已存在的文件或目录进行更名;搬移该目录内的文件、目录位置. 3. x (access directory):用户具备进入该目录成为工作目录的权限

您可能感兴趣的

06月18
随笔技术知识阅读2885 标签: 运维
linux下更新node到最新版本方法
05月31
随笔技术知识阅读1944 标签: 运维
一、安装 Git,二、服务器端创建 git 用户,用来管理 Git 服务,并为 git 用户设置密码,三、服务器端创建 Git 仓库,四、客户端 clone 远程仓库,五、客户端创建 SSH 公钥和私钥,六、服务器端 Git 打开 RSA 认证,七、将客户端公钥导入服务器端 /home/git/.ssh/authorized_keys 文件
06月18
随笔技术知识阅读3069 标签: 前端运维
1、在命令前加上 sudo 2、sudo npm install --unsafe-perm=true 3、sudo npm install --unsafe-perm=true --allow-root
06月18
随笔技术知识阅读4719 标签: 运维前端
1、输入`which npm`可以得到 自己安装的npm位置 2、建立链接3、sudo ln [option]
06月10
随笔技术知识阅读3870 标签: 运维
linux中OpenOffice 安装与配置教程
幻灯片
朦胧
热情
清幽
青翠
花红
清新
黑夜