0%

Linux用户及文件权限

查看权限

在终端输入

1
ls -l

显示

以第一条数据为例

其中: 最前面那个 - 代表的是类型 -代表非文件夹 d代表是文件夹

中间那三个 rwx 代表的是所有者权限(user)

然后那三个 rwx代表的是组群(group)

最后那三个 rwx 代表的是其他人(other)

1 代表连接的文件个数

root代表用户

root代表用户组

147代表文件大小(字节)

修改时间

文件名

用户及用户组

在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念

  • 所有者
  • 所在组
  • 其它组

所有者

一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者

用ls ‐ahl命令可以看到文件的所有者

也可以使用chown 用户名 文件名来修改文件的所有者

文件所在组

当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组

用ls ‐ahl命令可以看到文件的所有组

也可以使用chgrp 组名 文件名来修改文件所在的组

其它组

除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组

改变权限的命令

chmod 改变文件或目录的权限

chmod 755 abc:赋予abc权限rwxr-xr-x

1
2
3
4
5
6
7
8
9
4代表读权限,2代表写权限,1代表执行权限

7=4 + 2 + 1,表示拥有可读可写可执行权限
5=4 + 1,表示拥有可读可执行权限,但是没有写权限
0 代表没有任何权限
以此类推

思考下为什么是4,2,1分别代表读写执行权限,而不是其它数字?
我们知道计算机最底层编码都是二进制,即0,1。要表示一个文件读写执行权限,底层只需一个字节,即8位即可。

chmod u=rwx,g=rx,o=rx abc:同上u=用户权限,g=组权限,o=不同组其他用户权限

chmod u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限

chmod a+r abc:给所有用户添加读的权限

将目前目录下的所有档案与子目录皆设为任何人可读取

1
chmod 777 * 

改变所有者(chown)和用户组(chgrp)命令

chown xiaoming abc:改变abc的所有者为xiaoming

chgrp root abc:改变abc所属的组为root

chown root ./abc:改变abc这个目录的所有者是root

chown ‐R root ./abc:改变abc这个目录及其下面所有的文件和目录的所有者是root

改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样用root的管理权限可以改变某个用户所在的组

  • usermod ‐g 组名 用户名

参考 & 引用

https://www.cnblogs.com/123-/p/4189072.html
https://www.cnblogs.com/chengJAVA/p/4319420.html
http://blog.csdn.net/menxu_work/article/details/17267433
http://www.linuxidc.com/Linux/2014-10/108114.htm