Linux用户管理

Linux是一个多用户的操作系统,引入用户,可以更加方便管理Linux服务器,系统默认需要以一个用户的身份登入,而且在系统上启动进程也需要以一个用户身份去运行,用户可以限制某些进程对特定资源的权限控制。
这块向读者介绍Linux系统如何管理创建、删除、修改用户角色、用户权限配置、组权限配置及特殊权限深入剖析。

1.Linux用户及组

Linux操作系统对多用户的管理,是非常繁琐的,所以用组的概念来管理用户就变得简单,每个用户可以在一个独立的组,每个组也可以有零个用户或者多个用户。
Linux系统用户是根据用户ID来识别的,从默认ID编号从0开始,但是为了和老式系统兼容,用户ID限制在60000以下,Linux用户分总共分为三种,分别如下:

 root用户 (ID 0)
 系统用户 (ID 1-499)
 普通用户 (ID 500以上)

Linux系统中的每个文件或者文件夹,都有一个所属用户及所属组,使用id命令可以显示当前用户的信息,使用passwd命令可以修改当前用户密码。Linux操作系统用户的特点如下:
 每个用户拥有一个UserID,操作系统实际读取的是UID,而非用户名;
 每个用户属于一个主组,属于一个或多个附属组,一个用户最多有31个附属组;
 每个组拥有一个GroupID;
 每个进程以一个用户身份运行,该用户可对进程拥有资源控制权限;
 每个可登陆用户拥有一个指定的Shell环境。

2.Linux用户管理

Linux用户在操作系统可以进行日常管理和维护,涉及到的相关配置文件如下:

 /etc/passwd 保存用户信息
 /etc/shdaow 保存用户密码(以加密形式保存)
 /etc/group 保存组信息
 /etc/login.defs 用户属性限制,密码过期时间,密码最大长度等限制
 /etc/default/useradd 显示或更改默认的useradd配置文件

如需创建新用户,可以使用命令useradd,执行命令useradd jfedu1即可创建jfedu1用户,同时会创建一个同名的组jfedu1,默认该用户属于jfedu1主组。
Useradd jfedu1命令默认创建用户jfedu1,会根据如下步骤进行操作:

	读取/etc/default/useradd,根据配置文件执行创建操作;
	在/etc/passwd文件中添加用户信息;
	如使用passwd命令创建密码,密码会被加密保存在/etc/shdaow中;
	为jfedu1创建家目录:/home/jfedu1;
	将/etc/skel中的.bash开头的文件复制至/home/jfedu1家目录;
	创建与用户名相同的jfedu1组,jfedu1用户默认属于jfeud1同名组;
	Jfedu1组信息保存在/etc/group配置文件中。

在使用useradd命令创建用户时,可以支持如下参数:
用法:useradd [选项] 登录
useradd -D
useradd -D [选项]
选项:

选项描述
-b, --base-dir BASE_DIR指定新账户的家目录
-c, --comment COMMENT新账户的 GECOS 字段
-d, --home-dir HOME_DIR新账户的主目录
-D, --defaults显示或更改默认的 useradd 配置
-e, --expiredate EXPIRE_DATE新账户的过期日期
-f, --inactive INACTIVE新账户的密码不活动期
-g, --gid GROUP新账户主组的名称或ID
-G, --groups GROUPS新账户的附加组列表
-h, --help显示此帮助信息并推出
-k, --skel SKEL_DIR使用此目录作为骨架目录
-K, --key KEY=VALUE不使用 /etc/login.defs 中的默认值
-l, --no-log-init不要将此用户添加到最近登录和登录失败数据库
-m, --create-home创建用户的主目录
-M, --no-create-home不创建用户的主目录
-N, --no-user-group不创建同名的组
-o, --non-unique允许使用重复的 UID 创建用户
-p, --password PASSWORD加密后的新账户密码
-r, --system创建一个系统账户
-R, --root CHROOT_DIRchroot 到的目录
-s, --shell SHELL新账户的登录 shell
-u, --uid UID新账户的用户 ID
-U, --user-group创建与用户同名的组
-Z, --selinux-user SEUSER为SELinux 用户映射使用指定 SEUSER

Useradd案例演示:
(1) 新建jfedu用户,并加入到jfedu1,jfedu2附属组;

useradd -G jfedu1,jfedu2 jfedu

(2) 新建jfedu3用户,并指定新的家目录,同时指定其登陆的SHELL;

useradd jfedu3  -d   /tmp/  -s  /bin/bash

3.Linux组管理

所有的Linux或者Windows系统都有组的概念,通过组可以更加方便的管理用户,组的概念应用于各行行业,例如企业会使用部门、职能或地理区域的分类方式来管理成员,映射在Linux系统,同样可以创建用户,并用组的概念对其管理。
Linux组有如下特点:
 每个组有一个组ID;
 组信息保存在/etc/group中;
 每个用户至少拥有一个主组,同时还可以拥有31个附属组。
通过命令groupadd、groupdel、groupmod来对组进行管理,详细参数使用如下:
groupadd用法

选项描述
-f, --force如果组已经存在则成功退出;并且如果 GID 已经存在则取消 –g
-g, --gid GID为新组使用 GID
-h, --help显示此帮助信息并推出
-K, --key KEY=VALUE不使用 /etc/login.defs 中的默认值
-o, --non-unique允许创建有重复 GID 的组
-p, --password PASSWORD为新组使用此加密过的密码
-r, --system创建一个系统账户

groupmod用法

选项描述
-g, --gid GID将组 ID 改为 GID
-h, --help显示此帮助信息并推出
-n, --new-name NEW_GROUP改名为 NEW_GROUP
-o, --non-unique允许使用重复的 GID
-p, --password PASSWORD将密码更改为(加密过的) PASSWORD

groupdel用法

命令描述
groupdel jfedu删除 jfedu 组

Groupadd案例演示:
(1) groupadd创建jingfeng组

groupadd jingfeng

(2) groupadd创建jingfeng组,并指定GID为1000;

groupadd -g 1000 jingfeng

(3) groupadd创建一个system组,名为jingfeng组

groupadd  -r  jingfeng

Groupmod案例演示:
(4) groupmod修改组名称,将jingfeng组名,改成jingfeng1;

groupmod -n jingfeng1 jingfeng

(5) groupmod修改组GID号,将原jingfeng1组gid改成gid 1000;

groupmod –g 1000 jingfeng1

4.Linux用户及组案例

Useradd主要用于新建用户,而用户新建完毕,可以使用usermod来修改用户及组的属性,如下为usermod详细参数:
用法:usermod [选项] 登录
选项:

选项描述
-c, --comment 注释GECOS 字段的新值
-d, --home HOME_DIR用户的新主目录
-e, --expiredate EXPIRE_DATE设定帐户过期的日期为 EXPIRE_DATE
-f, --inactive INACTIVE过期 INACTIVE 天数后,设定密码为失效状态
-g, --gid GROUP强制使用 GROUP 为新主组
-G, --groups GROUPS新的附加组列表 GROUPS
-a, --append GROUP将用户追加至上边 -G 中提到的附加组中,并不从其它组中删除此用户
-h, --help显示此帮助信息并推出
-l, --login LOGIN新的登录名称
-L, --lock锁定用户帐号
-m, --move-home将家目录内容移至新位置 (仅于 -d 一起使用)
-o, --non-unique允许使用重复的(非唯一的) UID
-p, --password PASSWORD将加密过的密码 (PASSWORD) 设为新密码
-R, --root CHROOT_DIRchroot 到的目录
-s, --shell SHELL该用户帐号的新登录shell环境
-u, --uid UID用户帐号的新UID
-U, --unlock解锁用户帐号
-Z, --selinux-user SEUSER用户账户的新SELinux 用户映射

Usermod案例演示:
(1) 将jfedu用户属组修改为jfedu1,jfedu2附属组;

usermod -G jfedu1,jfedu2 jfedu

(2) 将jfedu用户加入到jfedu3,jfedu4附属组,-a为添加新组,原组保留;

usermod  –a  -G  jfedu3,jfedu4  jfedu

(3) 修改jfedu用户,并指定新的家目录,同时指定其登陆的SHELL;

usermod -d  /tmp/  -s  /bin/sh jfedu  

(4) 将jfedu用户名修改为jfedu1;

usermod -l jfedu1 jfedu

(5) 锁定jfedu1用户及解锁jfedu1用户方法;

usermod –L  jfedu1
usermod   -U  jfedu1  

Userdel案例演示:
使用userdel可以删除指定用户及其用户的邮箱目录或者Selinux映射环境:

	userdel   jfedu1     保留用户的家目录;
	userdel -r jfedu1      删除用户及用户家目录,用户login系统无法删除;
	userdel -rf jfedu1     强制删除用户及该用户家目录,不论是否login系统。
  • 21
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Token_w

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值