> 文档中心 > Linux的用户-组-权限详解

Linux的用户-组-权限详解

Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。

一、用户

1.1、新增用户

  • useradd luckyboy
  • 会创建同名的组和家目录

1.2、设置密码

  • passwd luckyboy

1.3、删除用户

  • userdel -r luckyboy
  • 级联删除家目录和组

1.4、修改用户信息

  • usermod -l luckyss luckyls 修改用户名 家目录和组名称是不会被修改的
  • usermod -L luckyss 锁定用户名
  • usermod -U luckyss 解锁用户名

1.5、常用文件

  • cat /etc/shadow 用户名和密码
  • cat /etc/passwd 用户名,编号,组编号,家目录,命令,目录 6.5系统0-499 普通 500+ 7.6系统0-999 普通 1000+

1.6、切换账户

  • su luckyboy

二、组

2.1、创建组

  • groupadd lucky

2.2、删除组

  • groupdel lucky  

2.3、修改组名称

  • groupmod -n school lucky

2.4、查看用户对应的组

  • groups
  • groups schoolboy
  • 当我们创建用户的时候,会默认创建一个同名的主组 

2.5、修改用户的组 

  • usermod -g lucky schoolboy (主组)
  • usermod -G lucky schoolls (附属组)

三、权限 

3.1、查看文件权限

ls -l 中显示的内容如下:

-rwxrw-r-- 1 root police 1213 Feb 2 09:39 abc.txt
  • 0-9位说明
  • 第0位确定文件类型(说明: -:普通文件, d:目录,l : 连接文件, c: 字符设备文件[键盘,鼠标] b:块设备文件[硬盘] )
  • 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。R: 读 , w : 写权限 x: 执行权限
  • 第4-6位确定所属组(同用户组的)拥有该文件的权限
  • 第7-9位确定其他用户拥有该文件的权限
  • 1: 如果是文件,表示硬链接的数目, 如果是目录,则表示有多少个子目录
  • 1213: 表示文件大小,如果是目录,则统一为 4096

3.2rwx权限详解

rwx作用到文件(重要)

  • [ r ]代表可读(read): 可以读取,查看
  • [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
  • [ x ]代表可执行(execute):可以被执行

rwx作用到目录(重要)

  • [ r ]代表可读(read): 可以读取,ls查看目录内容
  • [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
  • [ x ]代表可执行(execute):可以进入该目录

3.3ls -l 文件目录权限解析案例

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

10个字符确定不同用户能对文件干什么

  • 第一个字符代表文件类型: 文件 (-),目录(d),链接(l)
  • 其余字符每3个一组(rwx) 读(r) 写(w) 执行(x)
  • 第一组rwx : 文件拥有者的权限是读、写和执行
  • 第二组rw- : 与文件所在组的用户的权限是读、写但不能执行
  • 第三组r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行

可用数字表示为: r=4,w=2,x=1 因此rwx=4+2+1=7 

1 文件:硬连接数或 目录:子目录数 

注:关于软硬连接创建的可以看这篇文章的第10点: Linux的文件操作命令详解_向上的狼的博客-CSDN博客
root 用户
root 组
1213 文件大小(字节),如果是文件夹,显示 4096字节
Feb 2 09:39 最后修改日期
abc 文件名

在这里插入图片描述

3.4、修改UGO模型 

  • 三组权限
    • 属主的权限:属组的权限:其他的权限 所有说:
  • 将来修改文件的权限 可以从rwx和ugo两个方面进行修改

3.5、修改文件的权限

3.5.1、chmod改变权限 

  • 第一种方式:+ 、- = 变更权限

         注:u:所有者 g:所有组 o:其他人a:所有人(ugo的总和)

chmod   u=rwx,g=rx,o=x   文件、目录 【表示:给所有者rwx, 给所在组的用户 rx, 给其他人 x】chmod   o+w    文件、目录 【表示:给其它用户增加w 的权限】chmod   a-x    文件、目录【表示:给所有用户 去掉 x权限】

示例

abc文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。

chmod  u=rwx, g=rx ,o=rx   abc

abc文件的所有者除去执行的权限,增加组写的权限

chmod  u-x, g+w abc

abc文件的所有用户添加读的权限

chmod  a+r  abc  
  • 第二种方式:通过数字变更权限 

        数字代表的权限:r=4 w=2 x=1 rwx=4+2+1=7 

chmod u=rwx,g=rx,o=x    文件、目录 ## 相当于 chmod   751  文件、目录

示例
将 abc.txt 文件的权限修改成 rwxr-xr-x, 使用给数字的方式实现:

chmod  u=rwx, g=xr, o=xr abc.txtchmod 755 abc.txt

3.5.2、chown 改变所有者

chown [选项] [最终用户] [文件或目录](功能描述:改变文件或者目录的所有者)chown  newowner  file  改变文件的所有者chown  newowner:newgroup  file  改变用户的所有者和所有组

在这里插入图片描述

示例 

修改文件所有者

chown tom houge.txt

递归改变文件所有者和所有组

chown -R tom:leader home/

3.5.3、chgrp 改变所属组

chgrp [最终用户组] [文件或目录](功能描述:改变文件或者目录的所属组)chgrp newgroup file  改变文件的所有组

示例

请将/home/abc .txt文件的所在组修改成 shaolin (少林)

chgrp  shaolin  /home/abc.txt

请将 /home/kkk 目录下所有的文件和目录的所在组都修改成 shaolin(少林)

chgrp  -R  shaolin /home/kkk