0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux中的用户与创建

马哥Linux运维 来源:马哥Linux运维 2024-12-20 14:24 次阅读

Linux中的用户与创建

用户的类型

超级管理用户:

权限最高的用户(uid:0) #uid:是用户的身份证号,Linux系统只认uid

普通用户:

权限受限的用户(uid:1000-60000)

程序用户:

不是给人登陆使用:是给程序使用(uid:1-999)

一个用户必须有一个基本组,附加组可有可无,也可以有多个

基本组:必须要有,有且只有一个

附加组:可有可无。也可以有多个

用户账号管理

文件位置

/etc/passwd

存放保存用户名称、宿主目录、登录 Shell 等基本信息

[root@localhost ~]# ls /etc/passwd
/etc/passwd
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
libstoragemgmt:x:998:995:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
colord:x:997:994:User for colord:/var/lib/colord:/sbin/nologin
saslauth:x:996:76:Saslauthd user:/run/saslauthd:/sbin/nologin
setroubleshoot:x:995:993::/var/lib/setroubleshoot:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
chrony:x:994:990::/var/lib/chrony:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
geoclue:x:993:988:User for geoclue:/var/lib/geoclue:/sbin/nologin
sssd:x:992:987:User for sssd:/:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
gnome-initial-setup:x:991:986::/run/gnome-initial-setup/:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
asdjkl:x:1000:1000:asdjkl:/home/asdjkl:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin

root0root:/root:/bin/bash
root:用户的名字
x:密码占位符
0:uid
0:gid
root:备注信息
/root:家目录位置
/bin/bash:登陆时默认加载的shell类型
可通过 man 5 passwd 指令查询该文件的信息

用户密码文件

/etc/shadow 存放保存密码(密码被加密)

[root@localhost ~]# head /etc/shadow
root:$6$1ErSmgzZVaTclNcr$TMSjtWrgcZXeE1lo2.SQyrRK4M.GKe/rZsnhTOr4zS5QtwPFvKibxys9aiA4cmjj6COZ2SwNrTTQqrva6hZzT/:99999::
第一xiu:用户名
第二$6$F9xdHRnn$Y7h6DXNH.MbjWN/ws1mK4UKAI4ylimRVwc6zOyE2Zvd7z83e9FF9z02YXlMzeD9Ui/M.rO04gDbdnpkIPEvDr0密码
第三最后一次修改密码时间
第四:0:修改密码最小天数 0 不限制
第五:99999:密码有效期
第六:7:提前7天提醒
第7:宽限天数
第8:失效时间   -1:永久不会失效   
第9:保留

bin1711099999::
daemon1711099999::
adm1711099999::
lp1711099999::
sync1711099999::
shutdown1711099999::
halt1711099999::
mail1711099999::
operator1711099999::

添加用户

useradd命令

新建用户,并且修改用户的属性

useradd    -u  1234 -s  /sbin/nologin -M  aa  #1234 是udi号
# /sbin/noiogin 是选择的shell类型

-u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。

[root@test1 ~]#useradd    -u  1234a
[root@test1 ~]#cat /etc/passwd |grep a
a:x:1234:1234::/home/a:/bin/bash

-d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)。

[root@test1 ~]#useradd-d  /etc/data aa
[root@test1 ~]# cat /etc/passwd |grep aa
aa:x:1001:1001::/etc/data:/bin/bash

-e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。

-g:指定用户的基本组名(或使用 GID 号)。

[root@localhost ~]# useradd -g asdjkl kk
[root@localhost ~]# cat /etc/passwd |grep kk
kk:x:1236:1000::/home/kk:/bin/bash
[root@localhost ~]# id kk
uid=1236(kk) gid=1000(asdjkl) 组=1000(asdjkl)

-G:指定用户的附加组名(或使用 GID 号)。

-M:不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录。

-s:指定用户的登录 Shell /sbin/nologin

[root@localhost ~]# useradd -s /sbin/nologin lll
[root@localhost ~]# cat /etc/passwd |grep lll
lll:x:1237:1237::/home/lll:/sbin/nologin

密码管理

passwd命令

为用户账号设置密码

passwd [选项]... 用户名

[root@localhost ~]# passwd asdjkl
更改用户 asdjkl 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

-d:清空指定用户的密码,仅使用用户名即可登录系统。

cdaeb5b2-bdf3-11ef-8732-92fbcf53809c.png

[root@localhost ~]# passwd -d qq
清除用户的密码 qq。
passwd: 操作成功

-l:锁定用户账户。

cdd0a53c-bdf3-11ef-8732-92fbcf53809c.png

cdf074c0-bdf3-11ef-8732-92fbcf53809c.png

[root@localhost ~]# passwd -l qq
锁定用户 qq 的密码 。
passwd: 操作成功

-S:查看用户账户的状态(是否被锁定)。

-u:解锁用户账户。

[root@localhost ~]# passwd -S qq
qq LK 2024-04-08 0 99999 7 -1 (密码已被锁定。)
[root@localhost ~]# passwd -u qq
解锁用户 qq 的密码。
passwd: 操作成功
[root@localhost ~]# passwd -S qq
qq PS 2024-04-08 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

#### 修改用户账号的属性

##### usermod命令

usermod  [选项]...  用户名

-l  更改用户账号的登录名称(Login Name)

-L 锁定用户账户

-u 修改用户的 UID 号

-U  解锁锁用户账户

-d:修改用户的宿主目录位置。

-e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。

-g:修改用户的基本组名(或使用 GID 号)

-G:修改用户的附加组名(或使用 GID 号)

-s:指定用户的登录 Shell

#### 删除用户

##### userdel

 userdel [选项] 用户

[root@localhost ~]# userdel qq #可以删除用户,但不能删除用户文件
[root@localhost ~]# id qq
id: qq: no such user
[root@localhost ~]# useradd qq
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
正在创建信箱文件: 文件已存在

-r  将宿主目录一起删除

[root@localhost ~]# userdel -r qq
[root@localhost ~]# id qq
id: qq: no such user
[root@localhost ~]# useradd qq
[root@localhost ~]# id qq
uid=1001(qq) gid=1001(qq) 组=1001(qq)

链接:https://www.cnblogs.com/zhj0708/p/18121337

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11292

    浏览量

    209338

原文标题:Linux中的用户与创建

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux驱动创建procfs接口的方法

    上篇介绍了Linux驱动sysfs接口的创建,今天介绍procfs接口的创建
    发表于 05-31 16:48 738次阅读
    <b class='flag-5'>Linux</b>驱动<b class='flag-5'>中</b><b class='flag-5'>创建</b>procfs接口的方法

    Linux环境下oracle创建和删除表空间及用户

    maxsize 2048m extent management local; --//创建用户并指定表空间 用户名和密码均为"test" create user test
    发表于 07-05 07:12

    浅析Linux创建与删除用户的步骤

    系统:Ubuntuuseradd:创建用户或更新默认新用户信息创建用户 xxx,/home 目录没有同名文件夹,并且此
    发表于 04-18 11:27

    Linux目录的创建与删除命令

    Linux目录的创建与删除命令 Linux目录的创建与删除命令  mkdir命令  功能:创建一个目录(类似DOS下的md命令)。  语法
    发表于 01-18 12:46 1319次阅读

    浅谈Linux用户管理

    文中对在Linux环境下如何创建、修改、删除用户用户组,限制用户使用磁盘空间和为普通用户设置特
    发表于 02-27 11:37 24次下载

    Linux内核创建者回应用户,不会推荐使用ZFS On Linux

    Linux内核创建者Linus Torvalds最近回应 Linux内核调度器存在问题的文章引发了大家的关注,在同一个帖子里,他还回复了一名用户抱怨
    的头像 发表于 01-10 10:32 2608次阅读

    Linux操作系统:不同用户创建与删除

    我们在Linux创建用户主要有两种方式:adduser和useradd,它们的区别以及主要用法如下:
    的头像 发表于 10-08 12:08 1817次阅读

    linux系统如何创建文本菜单

    当使用Linux系统时,最常见的Shell脚本交互类型是应用菜单(文本菜单),文本菜单的核心是case命令。 H. L.使用case命令完成菜单交互。 让我们在下面创建一个简单的脚本。 在Linux系统
    发表于 09-25 15:45 1155次阅读

    如何创建AXI CDMA Linux用户空间示例应用

    本篇博文将为您演示如何创建 AXI CDMA Linux 用户空间示例应用。 示例设计将在 Zynq UltraScale+ RFSoC ZCU111 评估板上实现通过 AXI CDMA 把数据从
    的头像 发表于 09-28 15:31 2522次阅读
    如何<b class='flag-5'>创建</b>AXI CDMA <b class='flag-5'>Linux</b><b class='flag-5'>用户</b>空间示例应用

    如何在 Vitis 中使用 UIO 驱动框架创建简单的 Linux 用户应用

    Linux嵌入式设计中最基本的任务之一是创建用户应用程序。 在本篇博文中,我们将探讨如何在 Vitis 中使用 UIO 驱动框架创建简单的 Linu
    的头像 发表于 11-20 14:05 4299次阅读

    你们知道Linux的进程是怎样创建的吗

    一颗树的结构。就像下面这样:     在Linux,为了创建一个子进程,父进程用系统调用fork来创建子进程。fork()其实就是把父进程复制了一份(子进程有自己的特性,比如标识、状
    的头像 发表于 11-09 10:46 3305次阅读
    你们知道<b class='flag-5'>Linux</b>的进程是怎样<b class='flag-5'>创建</b>的吗

    Linux的符号链接如何创建

    什么是 Linux 的符号链接,为什么要使用它? 符号链接 Symbolic Links,也称为 Symlinks 或 soft link,是一种特殊类型的文件,它就像 Windows
    的头像 发表于 02-11 10:12 1188次阅读

    Linux如何如何为现有用户创建主目录?

    Linux系统,每个用户都有一个主目录,通常称为home目录,用于存储用户的个人文件和配置信息。然而,有时候我们会创建一个新的
    的头像 发表于 05-12 16:24 2308次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>中</b>如何如何为现有<b class='flag-5'>用户</b><b class='flag-5'>创建</b>主目录?

    如何在Linux创建节点

    手把手教你在 Linux 创建节点,使其可以进行 cat 和 echo 。 我们测试驱动加载是否正常工作,一般都会写应用程序去测试,这样驱动程序需要实现 open、read 函数和
    的头像 发表于 10-07 15:25 950次阅读
    如何在<b class='flag-5'>Linux</b><b class='flag-5'>中</b><b class='flag-5'>创建</b>节点

    linux创建group的命令

    Linux创建用户组的命令是 groupadd 。 以下是一个例子: groupadd groupName 这个命令将创建一个新的
    的头像 发表于 11-08 11:35 1466次阅读