你一定要会的【用户和用户组管理】(下)

简介: 1 用户和用户组概述1.1 用户介绍


示例:

1)-u 指定用户的UID

[root@localhost ~]# useradd -u 2000 helen   //添加helen用户,并指定UID为2000
[root@localhost ~]# tail -1 /etc/passwd     //查看passwd中helen的信息
helen:x:2000:2000::/home/helen:/bin/bash
复制代码


2)-d 指定用户的宿主目录

[root@localhost ~]# useradd -d /home/test/ user04   //创建用户,并指定家目录
[root@localhost ~]# tail -1 /etc/passwd   
user04:x:2003:2003::/home/test/:/bin/bash
复制代码


3)-e 指定用户的账户失效时间

[root@localhost ~]# useradd -e 2022-6-30 user05  //创建用户并指定账户失效时间为2022年6月30日
[root@localhost ~]# tail -1 /etc/shadow   //查看shadow文件,19173表示距离1970年1月1日的19173天
user05:!!:19044:0:99999:7::19173:
复制代码


4)-g 指定用户基本组

[root@localhost ~]# useradd -g hr user06    //创建用户并指定用户基本组为hr组
[root@localhost ~]# id user06        //查看用户信息,基本组为hr组
uid=2005(user06) gid=1002(hr) 组=1002(hr)
复制代码


5)-G 指定用户附加组

[root@localhost ~]# useradd -G hr user07   //创建用户并指定用户附加组为hr组
[root@localhost ~]# id user07              //查看用户信息,附加组为hr组
uid=2006(user07) gid=2006(user07) 组=2006(user07),1002(hr)
复制代码


6)-M 不建立家目录

[root@localhost ~]# useradd -M user08     //创建用户且不建立家目录
[root@localhost ~]# ls /home              //查看/home下没有user08的目录
alice  jack    nancy    user05   user07     
Amy    helen   user01   user06   zhangsan
复制代码


7)-s 指定用户的登录shell(一般用于程序用户)

[root@localhost ~]# useradd -s /sbin/nologin apache   //创建用户并指定登录shell为/sbin/nologin,该用户无法登录系统
[root@localhost ~]# tail -1 /etc/passwd
apache:x:2008:2008::/home/apache:/sbin/nologin
复制代码


2.3 设置/更改用户口令 passwd

root用户可以指定用户名作为参数,对指定账号的密码进行管理。不指定用户名时,修改当前账号的密码。

普通用户只能执行单独的passwd命令修改自己的密码。

命令格式:

passwd [用户名]
复制代码


常用选项:

选项 作用
-d 清空指定用户的密码,仅使用用户名即可登录系统
-l 锁定用户密码,锁定的用户账号将无法再登录系统。(一定要事先设好密码)
-u 解锁用户密码
-S 查看用户账户的状态(是否被锁定)


示例:

1)设置或修改用户密码

[root@localhost ~]# passwd nancy   //设置或修改nancy用户的密码
更改用户 nancy 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# echo "linux666" | passwd --stdin nancy  //简便设置用户密码
更改用户 nancy 的密码 。
passwd:所有的身份验证令牌已经成功更新。
复制代码


2)-d 清除用户密码,使用用户名可直接登录

[root@localhost ~]# passwd -d nancy   //清除nancy用户的密码
清除用户的密码 nancy。
passwd: 操作成功
复制代码


3)锁定和解锁用户

[root@localhost ~]# passwd -l nancy    //锁定用户密码,锁定后用户无法登陆
锁定用户 nancy 的密码 。
passwd: 操作成功
[root@localhost ~]# passwd -u nancy   //解锁用户,因nancy无密码,系统提示不安全,必须使用-f才能解锁
解锁用户 nancy 的密码。
passwd: 警告:未锁定的密码将是空的。
passwd: 不安全的操作(使用 -f 参数强制进行该操作)
[root@localhost ~]# passwd -S nancy      //查看nancy用户状态,仍为锁定状态
nancy LK 2022-02-21 0 99999 7 -1 (密码已被锁定。)
复制代码


2.4 修改用户账号的属性 usermod

命令格式:

usermod  [选项]... 用户名
复制代码


常用选项:

选项 作用
-l 更改用户账号的登录名称。格式:usermod -l 新名称 旧名称
-L 锁定用户账户
-U 解锁用户账户
以下选项与useradd命令中的含义相同
-u 修改用户的UID号
-d 修改用户的宿主目录位置
-e 修改用户的账户失效时间,可使用YYYY–MM-DD的日期格式
-g 修改用户的基本组名(或使用GID号)
-G 修改用户的附加组名(或使用GID号)
-s 指定用户的登录Shell


示例:

[root@localhost ~]# usermod -l sasha helen    //将helen的用户名改成sasha
[root@localhost ~]# usermod -L sasha          //锁定用户sasha
[root@localhost ~]# passwd -S sasha           //查看sasha状态,已被锁定
sasha LK 2022-02-21 0 99999 7 -1 (密码已被锁定。)
[root@localhost ~]# usermod -U sasha          //解锁用户sasha
[root@localhost ~]# passwd -S sasha           //查看sasha状态,正常状态
sasha PS 2022-02-21 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
复制代码


2.5 删除用户 userdel

命令格式:

userdel [-r] 用户名  //结合-r可以删除宿主目录
复制代码


示例:

[root@localhost ~]# userdel user05    //删除用户user05,不加-r会保留家目录
[root@localhost ~]# ls /home          //查看/home下user05的家目录仍存在
alice  jack    nancy    user05   user07   yuji
Amy    helen   user01   user06   zhangsan
[root@localhost ~]# userdel -r user06    //删除用户user06及其家目录
[root@localhost ~]# ls /home          //查看/home下user06的家目录不存在
alice   jack    nancy    user05   user07   
yuji    Amy     helen    user01   zhangsan
复制代码


2.6 用户账号的初始配置文件

文件来源:

新建用户账号时,从 /etc/skel 目录中复制而来, 比如默认bin/bash,默认家目录。

用户宿主目录下的初始配置文件只对当前用户有效。

主要的用户初始配置文件:

  • ~/.bash_profile : 这个文件是为系统全局变量配置文件,可以通过重启系统或者执行 ”source /etc/profile“ 命令使profile文件被读取。
  • ~/.bashrc: 这个文件实际上是/etc/profile的子目录,存放的是一些应用程序所需的启动脚本。
  • ~/.bash_logout: 每一个允许bash shell 的用户都会执行此文件。可通过执行bash命令打开一个新的bash,使bashrc文件被读取。

备注:

  • 修改/etc/profile文件中相关配置,切换bash或者用户后都需要source /etc/profile才生效;
  • 修改/etc/bashrc文件中相关配置,切换bash或者用户后直接生效。


3 组管理


3.1 组账号文件

(1)文件位置:

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

(2)/etc/group文件内容:

[root@localhost ~]# head -3 /etc/group   //查看group文件前三行
root:x:0:
bin:x:1:
daemon:x:2:
复制代码


group文件每行分成了4段,每个字段含义如下:

  • 字段1:组账号名称。
  • 字段2:密码占位符x;通常不需要设置组密码。由于安全原因,该密码被记录在/etc/gshadow中,因此显示为'x'。类似/etc/shadow文件。
  • 字段3:组编号GID。
  • 字段4:本组的成员用户列表 (一般不包括基本组对应的用户帐号),多个成员之间以逗号“,"分隔 。
相关文章
|
6月前
|
存储 安全 机器人
Harbor2.2 用户角色权限速查
Harbor2.2 用户角色权限速查
125 0
|
10月前
|
存储 Linux 数据安全/隐私保护
【Linux取经路】权限管理——还在因为没有权限而头疼?手把手教你修改权限(一)
【Linux取经路】权限管理——还在因为没有权限而头疼?手把手教你修改权限(一)
131 0
|
10月前
|
Linux 数据安全/隐私保护
【Linux取经路】权限管理——还在因为没有权限而头疼?手把手教你修改权限(二)
【Linux取经路】权限管理——还在因为没有权限而头疼?手把手教你修改权限(二)
115 0
|
SQL 消息中间件 JavaScript
权限系统中的数据权限就该这么设计,yyds!
权限系统中的数据权限就该这么设计,yyds!
|
存储 运维 安全
你一定要会的【用户和用户组管理】(上)
1 用户和用户组概述 1.1 用户介绍
213 1
|
安全 Java 数据库
权限管理准备工作|学习笔记
快速学习权限管理准备工作
61 0
权限管理准备工作|学习笔记
|
小程序 容器
小程序中的权限设计
小程序中的权限设计
小程序中的权限设计
|
运维 Shell Linux
linux运维用户身份与能力命令
用户身份与能力Linux命令学习
97 0
|
存储 Linux Shell
用户和用户组管理|Linux常用命令(一)
用户和用户组管理|Linux常用命令(一)
200 0
用户和用户组管理|Linux常用命令(一)
|
存储 Java 数据库连接
纳税服务系统四(角色模块)【角色与权限、角色与用户】(三)
之前在Servlet+JSP+JavaBean的时候其实我们已经做过了用户-角色-权限之间的操作【权限管理系统】http://blog.csdn.net/hon_3y/article/details/61926175
301 0
纳税服务系统四(角色模块)【角色与权限、角色与用户】(三)