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

Linux中的用户管理

时间:2022-11-28 18:33:05浏览次数:39  
标签:用户名 管理 用户组 用户 附属 密码 组名 Linux


目录

  • ​​目录​​
  • ​​概述​​
  • ​​关于用户组的配置文件​​
  • ​​关于用户的配置文件​​
  • ​用户和用户组的基本命令​
  • ​​用户组操作​​
  • ​​用户操作​​
  • ​用户和用户组的进阶命令​
  • ​​主要组与附属组​​
  • ​​其他命令​​


概述

  使用操作系统的人,我们称之为用户。在Linux中允许多个不同用户同时登录同一个Linux系统并进行使用。而拥有相同系统权限的一组用户,称为一个用户组。下面将讲解一下用户或用户组相关的配置文件。

关于用户组的配置文件

  • ​/etc/group​​存储当前系统中所有用户组信息,如:
- Group:    x     : 123 :user1,user2,user3
- 组名称:组密码占位符:组编号:组中用户名列表
注意:
  组中用户名列表为空时,不代表当前组没有用户。在Linux中如果该组只有一个用户且用户名同组名一样时用户名在“组中用户名列表”中可以省略。
规定:
(1)root用户组的编号为0;
(2)1~499的编号是系统预留给安装在系统中的软件或服务的;
(3)用户创建的用户组的编号将会从500开始;
(4)组密码占位符都用x表示。(为什么呢?)
  • ​/etc/gshadow​​存储当前系统中用户组的密码信息,如:
- Group:  *  :       :user1,user2,user3
- 组名称:组密码:组管理者:组中用户名列表

其中:
(1)组密码为*或者!或者为空时,表示组密码为空(没有设置)。
(2)如果组管理者为空,表示该组没有管理者,该组中的用户均可管理该用户组。一般情况下都是空的。

关于用户的配置文件

  • ​/etc/passwd​​存储当前系统中所有用户的信息,如:
- user :   x    :  123  :   456  :   xxxx   :/home/user:/bin/bash
- 用户名:密码占位符:用户编号:用户组编号:用户注释信息: 用户主目录 :shell类型
  • ​/etc/shadow​​存储当前系统中所有用户的密码信息,如:
root:$6$zWv7m5tAJF3Q4LwC$R.4pdIC4vGBzqASdDUQU6IP3jHLWJEPwVrIqkKuGns9nVArbedRxC0ePprGVwjSlJNgsBfG35TiLdQzv8RPRw0:::::::
- 用户名:被加密的密码:……

用户和用户组的基本命令

用户组操作

  • ​groupadd 组名​​:添加一个新的用户组。如:
groupadd gg
  • ​groupadd -g 组编号 组名​​:添加一个新的用户组,并指定组编号。如:
groupadd -g 888 group8
  • ​groupmod -n 新的组名 旧的组名​​:修改用户组的名称。如:
groupmod -n gg1 gg
  • ​groupmod -g 新的组编号 组名​​:修改某个组的组编号。如:
groupmod -g 666 gg1
  • ​groupdel 组名​​:删除用户组。如:(当然,删除用户组之前,要求我们先删除该用户组中的所有用户,否则这些用户在后续的操作中将受到一些权限的影响。)
groupdel gg1

用户操作

  • ​useradd​​命令,将某个用户添加到某个用户组中。如:
useradd -g group1 user1 // 表示将用户user1添加到group1中,系统默认为该用户创建家目录为/home/用户名,这里为/home/user1。
useradd -d /home/mydocu user2 // 表示自动创建一个与用户名同名的用户组,且添加用户user2到组中,并指定该用户的家目录为/home/mydocu。
  • ​usermod -c 注释 用户名​​:为某个用户添加注释。如:
usermod -c "这是注释" user1
  • ​usermod -l 新的用户名称 旧的用户名称​​:修改某个用户的用户名称。如:
usermod -l newname user1
  • ​usermod -d home目录 用户名​​:修改某个用户的home目录。如:
usermod -d /home/newname newname
  • ​usermod -g 组名 用户名​​:切换用户到其他用户组。如:
usermod -g group2 user1
  • ​userdel 用户名​​​:删除用户,但是不会删除该用户的home目录,如果需要的话,则需要加入​​-r​​的选项。如:
userdel user1
userdel -r user1
  • 暂时禁止普通用户登录服务器(除root用户外),操作如下:
touch /etc/nologin // 文件内容无关紧要

用户和用户组的进阶命令

  • ​passwd -l 用户名​​:锁定账号。
  • ​passwd -u 用户名​​:解锁账号。
  • ​passwd -d 用户名​​:清除某个用户的密码。

主要组与附属组

  用户可以同时属于多个组,其中一个主要组,多个附属组。

  • ​gpasswd -a 用户名 附属组名[,附属组名1,附属组名2,....]​​:给用户添加一个或多个附属组。
  • ​gpasswd -d 用户名 附属组名​​:将用户从某个附属组中删除。
  • ​newgrp 组名​​​:临时切换附属组。(这时需要某个用户登录,进行组的切换操作。对于root用户而言,该意义没有什么意义。在切换时如果附属组设有组密码,则要求用户输入组密码。)
    (未完待续)
  • 此前添加用户时可以指定所属的用户组,那么可否也同时指定附属组呢?​​useradd -g 主要组名 -G 附属组[,附属组名1,附属组名2,....] 用户名​​。
  • ​gpasswd 组名​​:设置组密码。

其他命令

  • ​su [用户名]​​:切换用户身份,不指定用户名时表示切换到root用户。切换到其他用户时需要目标用户的密码。
  • ​whoami​​:显示当前登录的用户名。
  • ​id 用户名​​:显示指定用户信息,包括用户编号、用户名;主要组编号及名称,附属组列表。
  • ​groups 用户名​​:显示某一用户所在的所有组。
  • ​chfn 用户名​​:设置用户资料,依次输入用户资料。
  • ​finger 用户名​​:显示用户详细资料。(这个命令可能找不到~)


标签:用户名,管理,用户组,用户,附属,密码,组名,Linux
From: https://blog.51cto.com/u_15894233/5893373

相关文章

  • Linux中的计划任务Crontab
    目录​​目录​​​​介绍​​​​安装并检查Crontab服务​​​​入门栗子​​​Crontab的基本组成​​用户任务调度​​​crontab命令的使用及相关文件​​​​Crontab的任......
  • Angular2文档学习的知识点摘要——显示数据、用户输入、表单
    目录​​目录​​​显示数据​​​使用插值表达式显示组件属性​​​用户输入​​​模板引用变量​​​​按键事件过滤​​​表单​​​模板驱动的表单​​​案例angular-fo......
  • Linux安装tesseract教程
    前言因为之前做一个登陆获取Cookie来记录登陆状态的功能时。需要识别登陆时的验证码。原本是在本地测试,后来上线那么没办法也就需要在Linux环境下再安装一下Tesseract-OCR......
  • Linux实验2:CENTOS7下的用户管理和权限设置
    一、实验目的掌握创建用户和用户组的方法;掌握文件的权限设置方法。二、实验任务1.新增加一个组名为student,密码为123。2.新增加一个用户名为zhouxingchi,其附属组......
  • JSP中filter过滤器验证用户登录
    JSP中filter过滤器验证用户登录现在JSP使用越来越广泛了,尤其是很多政府的网站都采用了JSP技术,其功能强大且安全。初学者很多有这么个问题,就是,网站的一个权限设置,比如......
  • Linux
    1.在第三步前得先进入到redis文件里cd redis...然后再安装gcc 在linux启动进入src再命令  Ctrlc停止进程想让前台霸屏的服务弄到后台的方法,让redis服务到后......
  • Linux:CentOS release 8.5 安装Mysql5.7
    添加Mysqlyum存储库下载安装软件包#下载软件包wgethttps://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm#安装软件包rpm-Uvhmysql80-commun......
  • win10无法加载用户配置文件,无法返回主用户
    在一次捣鼓电脑的过程中,需要新建一个用户,老规矩输入命令新建netuser{username}{password}/add切换用户登录后显示无法加载用户配置文件不仅登录不进去了,就连原来......
  • 第五周(ssh服务,samba服务,Linux上布置网站)
    一:ssh服务1:开启ssh服务测试Linux是否开启ssh服务。systemctl status ssh  显示ssh服务并没有开启,此时我们需要开启ssh服务systemctlst......
  • linux grep shell相关
     ​​http://www.2cto.com/os/201307/224496.html​​​​http://wenda.so.com/q/1365651781067621​​grep​​http://blog.sina.com.cn/s/blog_406127500101dljv.html​......