Linux用户管理

Linux用户管理

用户的定义

Linux是多用户多任务操作系统,在系统中可建立多个用户.所谓多用户多任务是指,多个用户可以在同一时间内登录同一个系统执行各自不同的任务,而互不影响.不同用户具有不同的权限,每个用户在权限允许的范围内完成各自的任务,Linux 正是通过这种权限的划分与管理,实现了多用户多任务的运行机制.

用户属性

  1. 用户名:账号,用来对应UID
  2. 口令:就是登录账号的密码
  3. 用户ID UID:用户UID是账户的标示符.当UID为0时,代表这个账号是系统管理员. 当UID为1~499,为系统保留账号.
  4. 用户主目录HOME:/home/用户名
  5. 用户shell:当名户登录系统后就会取得一个Shell来与系统核心沟通以进行用户的操作任务.

用户与组

用户组是具有相同特征的用户的集合体,通过用户组可以让多个用户具有相同的权限

用户和用户组的对应关系包括如下几种:

一对一,多对一,一对多,多对多.

相关配置文件

  1. /etc/passwd

    是系统能够识别的用户清单,当用户登录时,系统会查询这个文件,确定用户的UID并验证用户口令,列用:分开

    登录名:经过加密的口令:UID:默认的GID:个人信息:主目录:登录Shell

  2. /etc/shadow

    是加密的用户清单,只有超级用户可以访问这个文件,用来保护加密口令的安全.列用:分开.

    登录名:经过加密的口令:上次修改口令的时间:两次修改口令之间最少的天数:两次修改口令之间最多的天数:提前多少警告用户口令即将过期:在口令过期之后多少天禁用账号:账号过期的日期:保留字段空

  3. login defs文件

    该文件记录了生成一个新用户时所使用的参数

  4. pwconv文件

    该文件的作用是使shadow文件的内容和passwd文件的内容保持一致,即补上任何在passwd中新加的用户,同时从shadow删除不在passwd中列出的用户.

  5. /etc/group文件

    该文件包含了UNIX组的名称和每个组中的成员列表,每一行代表一个组.

    组名:加密的口令:GID号

管理命令

创建用户

  1. 添加用户
    adduser <username>

adduser命令的配置文件

/etc/adduser.conf

  1. 设置初始化口令
    passwd [-k][-l][u] [-f][-d][-S] username

  2. 添加新用户的过程

    1)系统

    编辑passwd和shadow文件,定义用户账号:

    设置一个初始口令;

    创建用户目录,用chown和chmod命令改变主目录的属主和属性.

  1. 为用户所进行的步骤
    将默认的启动文件复制到用户目录主目录中;
    设置用户的邮件主目录并建立邮件别名;
  2. 为管理员准备的步骤.
    将用户添加到/etc/group/中;
    配置磁盘限额
    核实账号是否设置正确.

删除用户

deluser <username>
deluser --remove-home user1

修改属性

usermod [-u uid [-o]] [-g group] [-G group ,....] [-d home [-m]] [-s Shell] [-c comment] [-l new_name] [-f inactive] [-e expire] [-p passwd] [-L|-U] name

-c <备注>

-d <登录目录> 修改用户登录时的目录

-e <有效期> 修改账号的有效期限

-f <缓冲天数> 修改在密码过期后多步天即关闭该账号

-g <群组> 修改用户所属的群组.

-G <群组> 修改用户所属的附加群组

-l <账号名称> 修改用户账号名称

-L 销定用户密码

-s 修改用户登录后所使用的shell

-u 修改用户ID

-U 解除密码锁定

组管理

每个用户都 有一个用户组,通过用户组系统对组中的所有用户进行集中管理,不同Linux系统对用户组的规定有所不同,Linux下用户属于和它同名的用户组,这个用户组在创建用户时肉中同时创建.用户组的管理涉及用户的添加\删除\修改.组的增加\删除\修改实除上就是对/etc/group文件的更新.

  1. 增加一个新用户组用groupadd命令
    groupadd [options] groupname
    -g --gid GID:
    -o 表示新用户组的GID可以和系统已存在的用户组GID相同
    groupadd -g 105 groupname
  1. 删除一个用户组使用 groundel
    groupdel groupname

  2. 修改用户组的属性使groupmod命令
    groupmod [options] groupname

    -g GID:为用户组指定新的组标识号

    -o 表示新的用户组的GID可以和系统已存在的GID相同

    -n 新用户组将用户组的名字改为新名字.

  3. 用户在登录后 使用命令 newgrp可以转换到其他用户组.

用户间通信

write 命令可以帮助传递信息给同时登录系统的另一个用户,输入EOF表示信息结束,write指令就会将信息传给对方.按Ctrl+c组合键可以结束会话,如果接收信息的用户不只登录本地主机一次,可能指定接收信息的终端机编号.若对方设定 mesg n,则此时信息将无法传递给对方.
write user [ttyname]

参数: 预备传信息的用户账号.

ttyname:如果使用者同时有两个以上的tty连线,可以自行选择合适的tty传信息.

磁盘配额

磁盘配额的概念

监视个人用户卷的使用情况,困此,每个用户对磁盘配额空间的利用都不会影响同一卷其他用户的磁盘配额.

磁盘配额一般是从一个用户占用磁盘大小和所有文件的数量两个方面来进行的,软限制,硬限制

相关推荐
Agent产品评测局3 分钟前
互联网行业自动化平台选型,运营全流程提效指南:2026企业级智能体架构与实战全解析
运维·人工智能·ai·chatgpt·架构·自动化
亚空间仓鼠17 分钟前
OpenEuler系统常用服务(五)
linux·运维·服务器·网络
AI成长日志1 小时前
【AI原生开发实战】1.2 传统开发 vs AI原生开发:思维转变与架构差异
服务器·架构·ai-native
minji...1 小时前
Linux 线程同步与互斥(二) 线程同步,条件变量,pthread_cond_init/wait/signal/broadcast
linux·运维·开发语言·jvm·数据结构·c++
2301_780789661 小时前
零信任架构在云安全落地过程中的最佳实践
服务器·人工智能·游戏·架构·零信任
虚伪的空想家1 小时前
k8s集群configmap和secrets备份脚本
linux·容器·kubernetes
the sun341 小时前
从 QEMU 直接启动到 U-Boot 引导:嵌入式 Linux 启动流程的本质差异
linux·运维·服务器
三思守心2 小时前
从 0 到 1 搭建自动化内容工厂:深度测评楼兰AI及其在全平台发帖中的表现
运维·服务器·自动化
草莓熊Lotso2 小时前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·linux·运维·服务器·数据库·c++·mysql
ShineWinsu2 小时前
对于Linux:文件操作以及文件IO的解析
linux·c++·面试·笔试·io·shell·文件操作