Linux基础(2) - 用户与用户组

这一篇比较重要的是理解linux中用户/用户组

以及学会修改文件权限

不得不说linux的东西有点多呀

1、用户与用户组

Linux是一个多用户、多任务的系统,这样设置主要是可以考虑到每一个人的隐私和每个人喜好的工作环境,通过设置用户和用户组,大大方便了团队开发。

用户概念(User): 由于王家三人各自拥有自己的房间,所以王二毛虽然可以进入王三毛的房间,但是王二毛不可以翻王三毛的抽屉,因为抽屉里面可能有三毛自己私人的东西,例如情书、日记等。

用户组概念(Group):由于共同拥有客厅,三兄弟可以 在客厅打开电视机、看报纸、喝茶等,只要是客厅里的东西,都可以使用,因为大家都是一家人嘛

其它人(Others):有一个人叫张小猪,他是张家的人和王家是没有一点关系的。这时除非王家有人认识张小猪,开门让其进入王家,否则张小猪永远没有办法进入王家,更不用说进入到王三毛的房间了

万能的天神(root):天神具有无限的神力,可以到达任何他想去的地方。

以上摘自《鸟哥Linux的私房菜》,我觉得比喻得很恰当。

那个“王家”就是所谓的用户组,三兄弟可以看做3个用户。这3个用户当然在同一个组里面,但是各自的用户可以通过设置权限,保留一部分“私人空间”,而共享的部分大家都可以使用。张小猪不属于张家这个用户组,所以只能是“Others”。至于“天神”,即为Linux中root,具有系统最高使用权限。


2、文件权限定义

如下图所示

  • 第一列代表文件类型与权限
    第一个字符表示为“目录/文件/链接文件”等

    • [d]表示此为目录
    • [-]表示是文件
    • [l]表示是连接文件(linkfile)
    • [b]表示设备文件里的可供存储的接口设备
    • [c]表示设备文件里的串行接口设备(键盘/鼠标等)
      接着每三个为一组,均为“rwx”的组合,[r]代表可读,[w]代表可写,[x]代表可执行
    • 第一组是 文件所有者的权限
    • 第二组是 所在的同一个用户组的权限
    • 第三组是 其它非本用户组的权限
  • 第二列表示有多少文件名连接到此节点(i-node)

  • 第三列代表文件所属的用户组
  • 第四列代表文件(或目录)的所有账户者
  • 第五列是文件大小
  • 第六列为文件创建时间
  • 第七列代表文件名

3、修改文件权限

主要用到三个命令:chgrp/chown/chmod

chgrp 改变文件所属用户组

格式:chgrp [-R] 【用户组】 dirname/filename

其中-R,表示recursive,进行递归的持续更新,即连同子目录下的所有文件、目录。同时要注意,仅仅当所改的用户组组名已经在/etc/group文件内存在才行。

如下图所示,不过在本机中,只有root权限下才有更改用户组的权限,所以要先切换到root权限


chown 改变文件所有者

同理,仅仅当所改的用户已经在系统中存在才行


chmod 改变文件权限

权限的设置有两种:一种是符号,一种是数字

  • 数字:r(4),w(2),x(1),由此可将三组各自累加.比如[-rwxrwx—],owner=rwx=4+2+1=7,group=rwx=4+2+1=7,others=—=0+0+0=0.文件的数字权限就是770
  • 符号:u,g,o,a分别代表owner/group/others/all;+,-,=分别代表加入/减去/设置为;可以与r,w,x进行组合,进而修改权限。比如 chmod u=rwx,go+x filename

如图所示


4、Linux目录配置(FHS)

总的来说,linux的目录配置是按照FHS标准来的。不过这里搞得有点晕了,内容太多,

本着抓大放小的原则,暂且先略过。有关目录树,网上找到一张图如下。


-------------本文结束感谢您的阅读-------------