作者:点提土八撇又254 | 来源:互联网 | 2024-10-28 16:32
在对文件或目录执行详细信息列表操作时,会看到一串字符。这串字符以每三个一组的形式出现,分别代表了用户、用户组及其他用户的访问权限。通过深入解析这些权限设置,可以更好地理解和管理系统的安全性与访问控制。
当我们对文件或者目录进行信息的长列出时,我们能看到这样一条信息,那么前面那串字符串代表着什么意思呢?这串字符串,每三个为一组,rwx,r-x,r-x.分别代表着文件所有者,文件所属组,以及其他人对这个文件的权限。
用户名
用户类型
- 管理员 root:具有所有权限的用户,UID的值为0。
- 普通用户:我们正常创建的用户,UID为500~60000。
- 系统用户:保障系统运行的用户,一般不提供密码登录系统,UID为1~499。
用户相关文件
与用户相关的文件主要有/etc/passwd和/etc/shadow。
A. /etc/passwd
存放用户的基本属性,从该文件可以查看Linux的所有用户。
例如:利用cat /etc/passwd命令来查询文件
格式为:
【用户名:密码:用户ID:用户主组ID:用户详细信息(如姓名,年龄,电话等):用户根目录:用户编程环境】
第二行显示为x意味着密码是被加密的。
每个用户有1个主组(私有组),1个或者多个附加组。
B. /etc/shadow
例:
存放用户密码的一些策略,格式为:
【用户名:密码:最近更改密码的日期:密码不可更该的天数:密码需要重新更改的天数:密码更改前的警告期限:密码过期的宽限时间:帐号失效日期:保留】
用户命令
1.新增用户:useradd -d 根目录 -g 主组 -G 附加组列表(逗号隔开) 用户名
2.重置密码:passwd 用户名
3.修改用户:usermod -d 根目录 -g 主组 -G 附加组列表(逗号隔开) 用户名---------该命令的-G会把用户从原来的附加组移出来,可以使用-a参数指明是新增模式。
4.删除用户:userdel -r 连根目录一起删除 用户名
5.查看所有用户:cat /etc/passwd
6.查看单个用户详细:id 用户名
7.查看当前所有的登录用户:who
用户组
类型:
用户组是用户的容器,用户能从用户组继承权限。
- 普通用户组:可以加入多个用户。
- 系统用户组:一般加入一些系统用户。
- 私有用户组:创建用户的时候,如果没有指明用户组,都会为该用户创建一个同名的用户组。私有用户组其实也是普通用户组的一种。
用户组相关文件
与用户相关的文件主要有/etc/group和/etc/gshadow。
/etc/group
例子:
存放组的基本信息。格式为:
【组名:组密码:组ID:用户列表】
/etc/gshadow
可以参考用户的/etc/shadow
用户组命令
1.新增组:groupadd -g UID号 组名---------如果不指定UID号则自动生成。
2.修改组:groupmod -n 新组名 组名 ----------可以用来改组名。
3.删除组:groupdel 组名-------------如果组内还有用户,则无法删除。
4.查看所有组+查看某个组内的用户:cat /etc/group。
5.查看用户的组信息:id 用户名
输出:
uid=501(weinianjie) gid=501(weinianjie) groups=501(weinianjie),0(root)
gid是主组,groups是附加组。
6.将用户添加入组里:gpasswd -a 用户名 组名
7.将用户从组里移除:gpasswd -d 用户组 组名
文件权限
一般来说文件有多种权限,rwx这三种,对于文件和目录来说分别对应着不同的意思,通常我们可以看到一下这些权限:
对于文件来说:
- 当仅r权限作用在文件上的时候,用户可以读取该文件的内容:cat less more head tail
- 当仅w权限作用在文件上的时候,用户可以修改文件的内容:>>
- 当仅x权限作用在文件上的时候,无作为.
- 当rw权限作用在文件上的时候,用户即能读与能修改:cat less more head tail vim nano > >>
- 当rx权限作用在文件上的时候,用户可以执行该文件
- 当wx权限作用在文件上的时候,权限等同于仅w权限.
文件的常见权限是r-- rw- rwx
对于目录来说:
- 当仅r权限作用在目录上的时候,用户可以短列出目录下的文件名.
- 当仅w权限作用在目录上的时候,无作为.
- 当仅x权限作用在目录上的时候,用户可以进入该目录,并且在知道具体文件名且具有相关权限的情况下,可以访问 子文件
- 当rw权限作用在目录上的时候,权限等同于仅r权限
- 当rx权限作用在目录上的时候,用户进入,长列出.
- 当wx权限作用在目录上的时候,用户可以进入且可以创建及删除文件.但不能使用文件名通配符
目录的常见权限是:r-x rwx
修改用户所有者,用户组,和用户权限的命令
chown 修改用户所有者,或者所属组。(只有root才能修改文件所有人)
- 用户名 filename
- 用户名.组名 filename 或 用户名:组名 filename 同时更改owner和group 如果.或:前省略,则只改group
chgrp 组名 filename 修改所属组
使用chmod 为文件添加或者修改权限
举例:可以利用ugo/a +/-/= rwx 来赋值权限 ugo分别代表用户名,组名,其他人,a代表所有人,+-=分别代表增加减少权限和赋值权限,
还有一种改变权限的方法,也是常用的,常见的修改权限的方法,就是利用掩码,r代表4,w代表2,x代表1,777就代表-rwxrwxrwx- 而661就意味着-rw-rw--x.也就是说利用类二进制的方法来简化对权限的增减