首页 > 系统相关 >Linux用户管理

Linux用户管理

时间:2024-08-01 20:07:42浏览次数:14  
标签:管理 user1 用户 gid user Linux root localhost

用户管理

内容: 用户管理、用户组管理、密码管理


用户类型

超级管理用户:又称为系统管理员,拥有所有权限,uid=0

普通用户:是在系统安装后由超级用户所创建的,普通用户的权限相当有限,只能对其拥有权限的文件和目录进行操作,只能管理自己启动的进程。Uid=999以上(可以登录系统)

程序用户:与系统服务相关的用户,通常在安装的相关软件包时自动创建,一般不需要改变其默认设置,它们的shell为/sbin/nologin。Uid=1-999(不可以登录系统)

区分用户

uid----user identify

    注:在系统中通过uid区分用户,UID是系统中唯一标识一个用户的数字,管理员的UID固定在0
	在centos7之后系统⽤户的id从1--999
    在centos7之前系统⽤户id是从1-499

id 查看用户的id

[root@1000phone ~]# id
uid=0(root) gid=0(root) 组=0(root)

uid=0(root):  用户 uid
gid=0(root):  用户组的 gid

组=0(root) :  附加组 

用户组分为两类:基本组(私有组)和附加组(共有组)

    基本组(私有组): 在创建用户的同时就自动会建一个与用户同名的组。如建立mike用户会同时建立一个mike组,mike这个用户就属于mike组。
    附加组(共有组) :用户所属的除基本组外的其他组,如建立mike用户和tom用户,mike用户加入Tom用户的这个组,那么对于Mike这个用户来说tom组就是附加组。

储存用户信息的相关文件

1./etc/passwd ---- 系统中用户的详细信息

(每行用户信息“ :”为分隔符,划分为 7 个字段,每个字段所表示的含义如下 )

root:x:0:0:root:/root:/bin/bash    

用户名:密码占位符:uid:gid:描述信息:家目录:登录shell

2.、/etc/shadow ---- 系统中用户的密码信息

root:$6$vcqLXI52kpF9fJ9O$k6NsztxvQ6R85K.tPL979cEiVaVAZ8R19mtSdhlJ9r8ASfCc4k9/0D4/OAuRORokxLzakcTnFS/Y4D0748tnv1::0:99999:7:::

第⼀列:⽤户名
第⼆列:密码位 (有密码 ⽆密码 !帐号锁定 !!密码锁定 *该⽤户永久不能登录系统)
$id$salt$encrypted
加密算法$id:
$1: MD5
$5: SHA-256
$6: SHA-512
注释:加密算法就是⽤明⽂的密码和⼀个叫做salt的函数通过crypt()函数完成加密的,salt由
a-z A-Z 0-9 . / 组成,⽤来决定使⽤4096种不同内建表格的哪⼀种
第三列:最后⼀次修改密码时间
第四列:密码最短有效天数(即密码⾄少使⽤的天数,0⽆限制)从1970.1.1开始计算 -n
第五列:密码最⻓有效天数(99999 永久⽣效) -x
第六列:密码过期前警告时间(默认是7天,在这期间可使⽤就旧密码) -w
第七列:密码过期后的宽限时间(密码过期后预留给账户修改密码的时间) -i
第⼋列:帐号失效期
第九列:保留列

3.家目录

普通⽤户: /home/⽤户名/,所有者和所属组都是此⽤户,权限是700
超级⽤户: /root/,所有者和所属组都是root⽤户,权限是550

4.用户的邮箱

/var/spool/mail/⽤户名

5.用户模板目录

/etc/skel

用户的相关操作

1.添加用户

登录:

su user :登录用户user
exit:退出当前用户,回到管理用户

[root@localhost ~]# su user1
[user1@localhost root]$ exit
exit
[root@localhost ~]# 
 
  -u选项,制定用户uid
 
  -g选项,设置新用户所属于的组   (预先系统中得有创建新用户的组)
  
  -s选项,设置新用户使用的shell (选择/bin/bash或者/sbin/nologin)

  -G选项,添加附加组的新用户
  
  -b选项,制定家目录的根

  -c选项,给新用户添加说明信息
 
  -d选项,给新用户设置家目录
  
  -e选项,给新用户设置账户到期时间

  -m选项,自动建立用户的家目录
 
  -M选项,不自动建立用户的家目录
  
  -b 选项: 仅指定 home 目录路径,但不创建 home 目录。
  -d 选项: 既指定 home 目录路径,又创建 home 目录。
  


添加:
 
useradd user    :添加用户user

useradd -u user :添加指定uid的用户user
useradd -g user :添加指定gid的用户user

注:想要添加指定gid,系统当中必须有相同的gid组用户

[root@localhost ~]# useradd user1

[root@localhost ~]# useradd -u 1002 user2
[root@localhost ~]# id user2
uid=1002(user2) gid=1002(user2) 组=1002(user2)

[root@localhost ~]# useradd -g 1003 user3
useradd:“1003”组不存在 (必须先添加gid=1003的用户)
[root@localhost ~]# useradd -u 1003 -s /sbin/mologin user3 (并不限于普通用户和系统用户)
[root@localhost ~]# useradd -g 1003 user4
[root@localhost ~]# ls /home/
user1  user2  user3  user4

useradd -d /dir user :添加指定主目录的用户user

[root@localhost ~]# useradd -d /user55 user5
[root@localhost ~]# tail -1 /etc/passwd
user5:x:1005:1005::/user55:/bin/bash
[root@localhost ~]# ls /
aa  bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  user55  usr  var

useradd -s user : 添加指定登录系统的用户user

[root@localhost ~]# useradd -u 1003 -s /sbin/mologin user3 
[root@localhost ~]# id user3
uid=1003(user3) gid=1003(user3) 组=1003(user3)
[root@localhost ~]# su user3
su: failed to execute /sbin/mologin: 没有那个文件或目录

useradd -c “描述信息” user : 添加指定描述信息的用户user

[root@localhost ~]# useradd -c "is a user6" user6
[root@localhost ~]# id user6
uid=1006(user6) gid=1006(user6) 组=1006(user6)
[root@localhost ~]# tail -1 /etc/passwd
user6:x:1006:1006:is a user6:/home/user6:/bin/bash

useradd -G userA userB : 添加附加组userA的用户userB

[root@localhost ~]# useradd -G user1 user7
[root@localhost ~]# id user7
uid=1007(user7) gid=1007(user7) 组=1007(user7),1000(user1)

useradd -M user :  添加无用户家目录的用户user
useradd -m user : 添加用户家目录的用户user

[root@localhost ~]# useradd -M user8
[root@localhost ~]# id user8
uid=1008(user8) gid=1008(user8) 组=1008(user8)
[root@localhost ~]# ls /home/
user1  user2  user3  user4  user6  user7 (无用户user8)
[root@localhost ~]# tail -1 /etc/passwd
user8:x:1008:1008::/home/user8:/bin/bash (无描述信息)

2.删除用户

userdel user    : 删除用户user
userdel -r user : 删除主目录和邮件池(彻底删除,)

[root@localhost ~]# useradd user9
[root@localhost ~]# userdel -r user9
[root@localhost ~]# ls /home/
user1  user2  user3  user4  user6  user7

3.修改用户

usermod -u “uid” user : 修改用户user的uid
[root@localhost ~]# usermod -u 2001 user1
[root@localhost ~]# id user1
uid=2001(user1) gid=1000(user1) 组=1000(user1)


usermod -g  “gid” user : 修改用户的组id 
[root@localhost ~]# usermod -g 1003 user2
[root@localhost ~]# id user2
uid=1002(user2) gid=1003(user3) 组=1003(user3)


注:修改组前必须系统当中存在相同的组id
usermod -c “描述信息” user : 修改用户user的描述信息

[root@localhost ~]# tail -3 /etc/passwd | head -1
user6:x:1006:1006:is a user6:/home/user6:/bin/bash

[root@localhost ~]# usermod -c "i am user6" user6
[root@localhost ~]# tail -3 /etc/passwd
user6:x:1006:1006:i am user6:/home/user6:/bin/bash
user7:x:1007:1007::/home/user7:/bin/bash
user8:x:1008:1008::/home/user8:/bin/bash

usermod -s “登录shell” user : 修改用户的登录shell
[root@wyy ~]# usermod -s /sbin/nologin  user7


usermod -aG “gid” user : 追加附加组(注意是附加组不是组id)

[root@localhost ~]# id user3
uid=1003(user3) gid=1003(user3) 组=1003(user3)
[root@localhost ~]# id user4
uid=1004(user4) gid=1003(user3) 组=1003(user3)
[root@localhost ~]# id user5
uid=1005(user5) gid=1005(user5) 组=1005(user5)
[root@localhost ~]# usermod -aG 1003 user5
[root@localhost ~]# id user5
uid=1005(user5) gid=1005(user5)
组=1005(user5),1003(user3)

usermod -l userB userA :重命名用户 (user8重命名为user9)
[root@localhost ~]# usermod -l user9 user8
[root@localhost ~]# id user8
id: user8: no such user
[root@localhost ~]# id user9
uid=1008(user9) gid=1008(user8) 组=1008(user8)
(注意:只是修改了用户名,uid、gid、组id没变)


usermod -d “家目录” user :修改家目录的用户user

[root@localhost ~]# usermod -d /user77 user7
[root@localhost ~]# tail -2 /etc/passwd
user7:x:1007:1007::/user77:/bin/bash
user9:x:1008:1008::/home/user8:/bin/bash


    方法二:

直接修改passwd文件 

此文件里面除了密码字段能删除不能直接修改之外,其他字段全部都能直接修改 
[[email protected] ~]# cat /etc/passwd


账户的基本信息都在这个文件内 
用户名:代表密码:uid:gid:账户的描述信息:家目录:登录shell 

4.用户密码

passwd user    : 设置用户user密码
passwd -S user : 查看用户user密码状态  (-S是大写)

[root@localhost ~]# passwd user1
更改用户 user1 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# passwd -S user1
user1 PS 2024-03-06 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)


passwd -l user : 锁定用户密码
passwd -u user : 解锁用户密码
passwd -e user : 强制用户密码过期


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

[root@localhost ~]# passwd -u user1
解锁用户 user1 的密码。
passwd: 操作成功

[root@localhost ~]# passwd -e user1
正在终止用户 user1 的密码。
passwd: 操作成功

用户组的相关操作

1.用户组的相关信息

cat /etc/group            ----查看用户组信息
root:x:0:

[root@localhost ~]# tail -8 /etc/group
tcpdump:x:72:
user1:x:1000:user7
user2:x:1002:
user3:x:1003:user5
user5:x:1005:
user6:x:1006:
user7:x:1007:
user8:x:1008:

1.用户组

2.用户组密码,这个段可以是空的或!,如果是空的或有!,表示没有密码;

3.用户组管理者,这个字段也可为空,如果有多个用户组管理者,用,号分割;

4.组成员,如果有多个成员,用,号分割;

比如:
user2:x:3000:user7,user3




 /etc/gshadow		-----用户组密码信息

root:::

1.用户组名

2.用户组密码

3.用户组管理员的名称

4.组中附加用户

2.添加用户组

添加组

groupadd dir          : 添加用户组dir
groupadd -g “gid” dir : 添加指定gid用户组dir


[root@localhost ~]# groupadd dir1
[root@localhost ~]# tail -1 /etc/group
dir1:x:1009:
[root@localhost ~]# groupadd -g 2222 dir2
[root@localhost ~]# tail -1 /etc/group
dir2:x:2222:


查看组

[root@localhost ~]# cat /etc/group
[root@localhost ~]# cat /etc/group | tail -2
dir1:x:1009:
dir2:x:2222:


查看一个用户的所属组

[root@localhost ~]# groups user1
user1 : user1


修改组

[root@localhost ~]# groupmod -g 1112 user2
[root@localhost ~]# tail -1 /etc/group
dir2:x:2222:


给组设置密码

[root@localhost ~]# gpasswd user2
新密码:
请重新输入新密码:


给组添加账户

[root@localhost ~]# gpasswd -a user7 dir2
正在将用户“user7”加入到“dir2”组中
[root@localhost ~]# tail -1 /etc/group
dir2:x:2222:user7


给组添加多个账户

[root@localhost ~]# useradd jim
[root@localhost ~]# useradd tom
[root@localhost ~]# gpasswd -M jim,tom dir2
[root@localhost ~]# tail -3 /etc/group
dir2:x:2222:jim,tom
jim:x:2002:
tom:x:2003:


从组中删除账户

[root@localhost ~]# groupdel dir2
[root@localhost ~]# tail -3 /etc/group
dir1:x:1009:
jim:x:2002:
tom:x:2003:



方法二:

      直接去修改配置文件
	       /etc/group

标签:管理,user1,用户,gid,user,Linux,root,localhost
From: https://www.cnblogs.com/fenglei7093/p/18337395

相关文章

  • linux软件管理
    软件管理不同系统软件包定义linux软件的类型rpm软件 *.rpm源码软件 *.tar.gz,*.tar.bz2 源码软件的优点:灵活性强,可自由定义其功能,这也是Linux系统飞速发展的一个根本原因。Linux应用程序的软件包按内容类别可分为两类:1.rpm可执行文件(编译后的二进制软件包) ......
  • linux磁盘管理
    小知识!1.硬盘的是主要接口IDE——>SATA1代/2代/3代SCSI——>SASPCIEssd固态硬盘,直接接在pci总线上,速度非常的快,但是不适合热插拔,服务器中不常见FC光纤接口的硬盘2.kernel对不同接口的硬盘命名OS IDE(并口) SATA(串口) SCSI RHEL5 /d......
  • Linux计划任务
    计划任务类型: 一次性计划任务 周期性计划任务一次性计划任务前提:atd服务必须运行at-c:查看计划任务的具体内容[root@wwwPackages]#yuminstall-yat----安装atd服务[root@www~]#systemctlstartatd------启动atd服务[root@test01~]#systemctlstatus......
  • Linux文件查找、打包压缩
    一、文件查找1、which/whereis/whatiswhich只能查询命令[[email protected]~]#whichrpmwhereis可以查询命令和配置⽂件的位置[[email protected]~]#whereisrpm[[email protected]~]#whereispasswdwhatis[[email protected]~]#whatisrpm和下⾯命令⼀样的效果,查询rpm命令......
  • 如何优化淘客返利系统中的前端性能与用户体验
    如何优化淘客返利系统中的前端性能与用户体验大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!今天我们来讨论如何优化淘客返利系统中的前端性能与用户体验。良好的前端性能和用户体验不仅能够提升用户满意度,还能增加系统的使用率和转换率。一、前端......
  • SpringBoot+Vue物流快递仓库管理系统-附源码与配套论文
    1.1研究背景 随着网络不断的普及发展,物流快递仓库管理系统依靠网络技术的支持得到了快速的发展,首先要从员工的实际需求出发,通过了解员工的需求开发出具有针对性的首页、个人中心、员工管理、客户信息管理、驾驶员管理、仓库管理、配送管理、运输管理管理等功能,利用目前网络给......
  • 【nginx网站部署】【nginx部署网站】【linux-nginx】静态页面部署 静态网站部署 nginx
    ============================================第一步:安装:===============================1、安装:sudoapt-getinstallnginx 输入y2、测试是否成功: sudonginx-t 输出: nginx:theconfigurationfile/etc/nginx/nginx.confsyntaxisok nginx:config......
  • 使用 GRUB2 管理双系统
    最近给自己的老笔记本换了一块大硬盘,顺便装了Windows和Ubuntu两个操作系统。记录一下安装过程。安装Ubuntu下载UbuntuDesktop镜像文件。你可以在官网中使用标准下载;或者在镜像源列表中就近下载,比如清华源是很不错的选择;或者使用BitTorrent下载。使用镜像......
  • 解决飞书 Linux 在屏幕分享时候的回音问题
    问题在Linux桌面环境中使用飞书时,有一个十分诡异的现象:触发条件:使用飞书会议;自己进行屏幕分享;自己没有mute,即自己没有关闭麦克风。现象:其他人讲话时会听到他自己的回音;我自己听到的声音则是正常的。我的使用环境:飞书版本:7.18.11Debian12+KDE+Wayland+Pi......
  • 为团队配置Linux环境,简单高效的项目共享方案
    前言最近好久没写博客了,事情太多了,我还搞了个新的好玩的项目,等后续做得差不多了来写篇文章介绍一下。在我们目前的AI项目中,团队需要共同使用一台GPU服务器来做模型训练和数据处理。为了让每个团队成员都能高效地使用这台服务器,我们决定设置一个多用户共享环境。这样,无论是代码开......