一起了解下Linux账号与权限

Linux账号与权限

一、用户账号和组账号简要介绍

1.用户账号

超级用户:root用户是Linux操作系统中默认的超级用户账号,对本主机拥有最高的权限,系统中超级用户是唯一的
普通用户:由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限
程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某个程序的正常运行,如bin、daemon、ftp、mail等
2.组账号

基本组(私有组):基本账号只有一个,一般为创建用户时指定的组
在etc/passwd文件中第4字段记录即为该用户的基本GID号
附加组(公共组):用户除了基本组以外,额外添加指定的组

3.UID与GID以及范围
UID(User IDentity):用户标识号
GID(Group IDentify) :组标识号

root用户账号的UID和GID号为固定值0
程序用户账号的UID和GID号默认为1~499
普通用户的UID和GID号默认为500~60000

二、用户账号信息文件/etc/passwd

1.保存用户名称、宿主目录、登录shell等基本信息,文件存放位置:/etc/passwd
每一行对应一个用户的账号信息记录
2.基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改
3.在早期的UNIX系统中,用户账号的密码信息是保存在passwd文件中的,不法用户可以很容易的获取密码字串并进行暴力破解,因此存在一定的安全隐患,后来改进后,将密码存转入专门的shadow文件中,而passwd文件中仅保留密码占位符“x”。

三、用户账户文件/etc/shadow

1.保存用户的密码、账号有效期等信息

  • 文件位置:/etc/shadow
  • 每一行对应一个用户的密码记录

2.默认只有root用户能够读取shadow文件中的内容,且不允许直接编辑该文件中的内容

四、管理用户账号和组账号

4.1.添加用户账号命令 useradd

命令格式:useradd [选项] 用户名 ###或者可以用adduser

命令执行之后会在/etc/passwd文件和/etc/shadow文件的末尾增加该用户账号的记录
若未明确指定用户的宿主目录,则在/home目录下自动创建与该用户账号同名的宿主目录,并在该目录中建立用户的各种初始配置文件
若未明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息将被保存到/etc/group和/etc/gshadow文件中

常用选项

-u 指定用户的UID号,要求该UID号码未被其他用户使用
-d 指定用户的宿主目录位置(当与-M一起使用时,不生效),只能用绝对路径指定目录
-e 指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式
-g 指定用户的基本组名(或使用GID号) ,对应的组名必须已存在
-G 指定用户的附加组名(或使用UID号),对应的组名必须已存在
-M 不建立宿主目录
-s 指定用户的登录Shell,(比如/bin/bash为可登录系统,/sbin/nologin和/bin/false为禁止用户登录系统)

4.2.设置/更改用户口令 passwd

命令格式:passwd [选项] 用户名
然后输入密码(两次)
root用户可用指定用户名作为参数,对指定账号的密码进行管理;不指定用户名时,修改当前账号的密码
普通用户却只能执行单独的“passwd”命令修改自己的密码

常用选项

-d 清空指定用户的密码,仅使用用户名即可登录系统
-l 锁定用户账户,锁定的用户账号将无法再登录系统
-S 查看用户账户的状态(是否被锁定)
-u解锁用户账户
修改用户密码方法二:echo "密码“ | passwd --stdin 用户名,该方式为免交互创建用户

4.3.修改用户账户的属性命令 usermod

命令格式:usermod [选项] 用户名

常用选项

-l 更改用户账号的登录名称 usermod -l 新名称 就名称(需要退出该用户)
-L 锁定用户账户
-U解锁用户账户
-d 修改用户的宿主目录位置
-e 修改用户的账户失效时间,可使用YYYY-MM-DD的日期格式
-u修改用户的UID号
-g 修改用户的基本组名(或使用GID号)
-G 修改用户的附加组名(或使用UID号)
-s 指定用户的登录Shell,(比如/bin/bash为可登录系统,/sbin/nologin和/bin/false为禁止用户登录系统)

4.4.删除用户账号命令 userdel

命令格式:userdel [-r] 用户名
添加-r选项时,表示连用户的宿主目录一并删除
注意:若不使用-r选项,则不能够完全删除这个用户信息,还会留有宿主目录和用户邮箱目录

4.5.相关组账号文件

/etc/group:保存组账号基本信息
/etc/gshadow:保存组账号的密码信息

4.6.添加组账号命令 groupadd 删除groupdel

命令格式:groupadd [-g GID] 组账号名
例:[ ]# groupadd -g 1000 market

4.7.添加删除组成员:gpasswd

命令格式:gpasswd [选项] 成员 组账号名
2.常用选项
-a向组内添加一个用户
-d从组内删除一个用户成员
-M定义组成员列表,以逗号分隔(重新定义组成员列表之前逐个添加的用户将失效)例:gpasswd -M 成员,成员,组账号名

##4.8.查询账户信息

1.查询用户所属的组 :groups [用户名]
2.查询用户身份标识 :id [用户名]

4.9.文件/目录的权限和归属

image-20220612175907962

权限归属

1.属主:拥有该文件或目录的用户账号

2.属组:拥有该文件或目录的组账号

3.其他用户

举例:

设置文件/目录的权限和归属命令 chmod

1.格式:chmod [ugoa] [+ - =] [rwx] 文件或目录
或 chmod nnn 文件或目录
2.u、g、o、a 表示:属主、属组、其他用户、所有用户

±= :分别表示:增加、去除、设置权限
3.nnn表示3位八进制数 例如:所有用户可读写执行chmod 777 (7=4+2+1)
4.-R:递归修改指定目录下所有子目录及文件的权限

设置文件和目录的归属chown

1.chown 属主 文件/目录
2.chown :属组 文件/目录
或者chown .属组 文件/目录
3.同时加入chown 属主:属组 文件或目录
4.-R:递归修改指定目录下所有文件、子目录的归属

设置目录和文件的默认权限umask

1.umask作用
1.1指定目前用户在新建文件或目录时的权限默认值
1.2新建的文件或目录的权限为默认最大权限减去umask(普通文件的最大默认权限为6,目录的最大默认权限为7)
umask设置:umask 022
umask查看:umask
目录下所有文件、子目录的归属

设置目录和文件的默认权限umask

1.umask作用
1.1指定目前用户在新建文件或目录时的权限默认值
1.2新建的文件或目录的权限为默认最大权限减去umask(普通文件的最大默认权限为6,目录的最大默认权限为7)
umask设置:umask 022
umask查看:umask

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值