linux 用户账号,Linux下用户账号和权限管理

本文详细介绍了Linux系统中的用户和组管理,包括用户类型、用户标识(UID)、组标识(GID)及其范围,用户和组的认证机制,以及用户和组的基础管理命令如useradd、userdel、usermod等。还提到了密码加密算法和安全上下文,并阐述了如何修改用户账号的各种期限。此外,还列举了一系列与用户和组管理相关的命令,如passwd、su、chage等。
摘要由CSDN通过智能技术生成

一、介绍

多用户:多人同时使用系统资源;

多任务:同行运行多个进程;

1、用户的类型(及用户标识UID)

管理员:root,以0标识;

普通用户:

系统用户:仅用于运行服务程序;

CentOS 5, 6: 1-499

CentOS 7: 1-999

登陆用户:系统资源的正常使用者;

CentOS 5, 6: 500+

CentOS 7: 1000+

注: 用户是以16bits二进制数字进行标识,标识范围:0-65535;

名称解:usernameUID

解析库:/etc/passwd

2、用户组类型(及组标识GID)

管理员组:0

普通用户组:

系统组:

CentOS 5, 6: 1-499

CentOS 7: 1-999

登陆组:

CentOS 5, 6: 500+

CentOS 7: 1000+

注:用户组标识范围:0-65535

名称解析:groupnamegid

解析库:/etc/group

组类别:以用户为核心

用户的主组:基本组;

用户的附加组:额外组;

组类别:根据组内容纳的用户来划分

私有组:与用户名相同,且只有一个此用户;

共有组:组内包含了多个用户;

3、用户账号的认证机制

认证机制:验证用户的确是他所声称的人;

通过对比事先存储的,与登录时所提供的信息是否一致;

存储于何处:

用户的认证信息库:/etc/shadow

组的认证信息库:/etc/gshadow

密码:加密存放,使用单向加密机制;

单向加密:仅能加密,不能解密;提取数据特征码;

数据相同:加密结果相同;

定长输出;

雪崩效应:

算法:

(1)md5: message digest, 128bits

(2)sha1: secure hash algorithm, 160bits

(3)sha224:

(4)sha225:

(5)sha384:

(6)sha512:

添加salt:取随机数;

随机数:

熵池:

伪随机数:软件模拟产生;

/dev/random: 仅从熵池返回随机数,随机数耗尽时会阻塞进程;

/dev/urandom: 先从熵池返回随机数,熵池耗尽时,则从伪随机数生成器返回随机数;

安全上下文:

进程:以某个用户的身份运行,进程对资源的操作权限取决于它所代表的用户;

文件:权限模型

属主:owner

属组:group

其它:other

权限模型生效的机制:

进程的运行者:

是否与文件的属主相同,如果是,则以文件属主的身份来访问次文件;否则

是否属于文件的属组,如果是,则以文件属组的身份来访问此文件;否则

以文件的其他用户的身份来访问此文件。

二、命令

用户与组的基础管理命令:

用户:useradd、userdel、usermod

组:groupadd、groupdel、groupmod

认证:passwd

用户解析库文件:/etc/passwd

name:password:UID:GID:GECOS:directory:shell

用户名:密码:用户ID:组ID:注释:家目录:登陆shell

组解析库文件:/etc/group

GRPNAME:x:GID:user1,user2,...

组名:密码占位符:组ID:以此组为附加组的用户列表,以逗号分隔

影子口令文件:/etc/shadow

root:$6$Pu50pZV/Ut7lBHGz$lh/r2x6pOEpzou45Jv/uFT6JCMcf1I/aRku08WKqGDcYRDPF8fmNYOfKFBFB8AKU6yYizKCiSmlvhFvJz8dDU.:16860:0:99999:7:::

登陆名:密码:最近一次的修改时间:密码的最短使用期限:密码最常使用期限:提前警告的天数:非活动期限:账号的禁用日期:保留字段

注:

密码:$加密算法$salt$加密的密码字符串

1、useradd命令:添加用户

格式:useradd [options] LOGIN

选项:

-c, --comment COMMENT:注释信息,一般为Full Name;

-d, --home-dir HOME_DIR:家目录路径;目标路径不能事先存在,否则会有警告,不会得利skel相关的文件给用户;

-g, --gid GROUP:用户的基本组组名或GID;

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:用户所属于的附加组的组列表,彼此间用逗号隔开,中间没有空格;

-m, --create-home:强制创建家目录;

-M, --no-create-home:不创建用户家目录,即使系统在/etc/login.defs中的设置(CREATE_HOME)为yes;

-r, --system:创建一个系统账户;

-s, --shell SHELL:用户的登陆shell名,默认为留空,让系统根据/etc/default/useradd中的SHELL变量选择默认的登陆shell;

-u, --uid UID:用户ID的数字值。此值必须为唯一的,除非使用了-o选项。此值必须非负,默认使用大于等于uid_min,且大于其他任何其他用户ID最小值;

注意:创建登陆用户时,为其自定义的shell程序必须为可登陆的shell,且要位于/etc/shells文件中

useradd -D: 显示创建用户时的默认设置;

useradd -D [options]: 设置某默认选项;

-e, --expiredate EXPIRE_DATE: 用户账号的过期期限;过期后会被锁定;日期以YYYY-MM-DD格式指定;

-f, --inative INACTIVE: 密码过期后,账户被彻底禁用之前的天数。0表示立即禁用,-1表示禁用这个功能。

注意:为用户提供默认配置的配置文件:/etc/login.defs, /etc/default/useradd

2、userdel命令:删除用户

格式:userdel [options] LOGIN

选项:

-r, remove:用户主目录中的文件将随用户主目录和用户邮箱一起删除;

3、usermod命令:修改用户信息

格式:usermod [options] LOGIN

选项:

-c, --command COMMENT:

-d, --home HOME_DIR: 修改家目录为新的位置,但一般结合使用-m选项以保证原家目录中的文件会移动至新目录中;

-g, --gid GROUP

-G, --groups GROUP1[,GROUP2, ...[,GROUP3, ...[,GROUPN]]]: 修改时会覆盖原有的附加组;一同使用-a选项,表示为用户添加的新的附加组;

-l, --login NEW_LOGIN:修改当前用户的用户名。

-m,

-s, --shell SHELL

-u, --uid UID

-U : 解锁账号

-L : 锁定账号

4、groupadd命令:添加组

格式:groupadd [options] group

选项:

-g GID: 指明GID;

-r, --system: 系统组;

5、groupdel命令:删除组

格式:groupdel [options] GROUP

6、groupmod命令:修改组信息

格式:groupmod [options] group

选项:

-g GID

-n NEW_NAME : 修改组名

7、passwd命令:

格式:passwd [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warn� days] [-i inactivedays] [--stdin] [username]

(1)passwd:修改自己的密码;

(2)passwd username:修改其他用户的密码,仅root有此权限;

选项:

-l : 锁定密码

-u: 解锁密码

-d: 清空密码

-e: 账号的有效期限

--stdin: 从标准输入接收密码;

echo "PASSWORD" |passwd --stdin USERNAME

注:

密码复杂度要求:

(1)不能少于8个字符;

(2)不能使用与过去的密码太相似的密码;

(3)应该使用四类字符中的至少三类;

附加命令:

id命令:查看用户相关的id信息

格式:id [opthons] [username]

选项:

-u: 仅查看uid

-g: 仅查看gid

-G: 查看所属的所有组的ID(基本组和附加组)

-n: 显示名称,而非ID

su命令:switch user

切换用户时:

(1)不读取目标用户的配置文件(非登陆式切换,半切换)

su USERNAME

(2)读取目标用户的配置文件(登陆式切换,安全切换)

su -l USERNAME

su - USERNAME

-c command, --command=command: 仅以指定的用户的身份运行此处指定的命令,而不执行真正的身份切换操作;

注意:root切换至任何其他用户无须认证密码;普通用户切换至其他用户,都需要密码;

gpasswd命令:为组添加密码

格式:gpasswd [option] group

选项:

-a USERNAME: 把用户添加至组中;

-d USERNAME: 从此组中移除此用户;

newgrp命令:登陆到一个新组

chage命令:change age,修改用户账号的各种期限;

chsh命令:change your login shell

格式:chsh [-s shell] [-l] [-u] [-v] [username]

选项:

-s : 指定账户的登陆shell

-l :  列出所有的登陆shell

-u :  打印使用信息

-v : 打印版本信息详情

chfn命令:change your finger information

格式:chfn [-f full-name] [-o office] ,RB [ -p office-phone] [-h home-phone] [-u] [-v] [username]

选项:

-f : 指定用户的真实姓名

-o: 指定用户office家号

-p: 指定用户office电话号

-h: 指定用户家电话号

-u: 打印用户使用信息

-v: 打印版本信息详情

grpck命令:verify integrity of group files

格式:grpck [options] [group [ shadow ]]

选项:

-h: 帮助信息

-r: 执行grpck命令的只读模式,

E: 密码过期后,账户被彻底禁用之前的天数。0表示立即禁用,-1表示禁用这个功能。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值