热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS用户、用户组的相关操作

摘要:主要介绍关于Linux的用户的、添加、修改、删除。用户组的新增、修改、删除操作和一些特殊情况。以及用户和用户组之间的操作。

一:用户及用户组存放文件

 

        1、/etc/passwd

 

                其中每一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:

 

[cpp] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. username:password:UserID:Group ID:comment:home directory:shell  

 

                a)     username 用户名

                它唯一地标识了一个用户帐号,用户在登录时使用的就是它。

                b)     password 该帐号的口令。passwd文件中存放的密码是经过加密处理的。

                c)     User ID 用户识别码,简称UID。Linux系统内部使用UID来标识用户,而不是用户名。UID是一个整数,用户的UID互不相同。

                d)     Group ID 用户组识别码,简称GID。不同的用户可以属于同一个用户组,享有该用户组共有的权限。与UID类似,GID唯一地标识了一个用户组。

                e)     comment 这是给用户帐号做的注解。它一般是用户真实姓名、电话号码、住址等,当然也可以是空的。

                f)      home directory 主目录。这个目录属于该帐号,当用户登录后,它就会被置于此目录中,就像回到家一样。一般来说,root帐号的主目录是/root,其他帐号的家目录都在/home目录下,并且和用户名同名。

                g)     login command 用户登录后执行的命令。一般来说,这个命令将启动一个shell程序。例如,用bbs帐号登录后,会直接进入bbs系统,这是因为bbs帐号的login command指向的是bbs程序,等系统登录到bbs时就自动运行这些命令。

                系统帐号:系统中还有一些默认的帐号,如daemon、bin等。这些帐号有着特殊的用途,一般用于进行系统管理。这些帐号的口令大部分用(x)号表示,代表它们不能在登录时使用。

 

        2、/etc/shadow

 

                为了增强系统的安全性,Linux系统还可以为用户提供MD5和Shadow安全密码服务。如果在安装Linux 时在相关配置的选项上选中了MD5和Shadow服务,那么将看到的/etc/passwd文件里的passwd项上无论是什么用户,都是一个“x”,这就表示这些用户都登录不了;系统其实是把真正的密码数据放在了/etc/shadow文件里。

 

        3、/etc/group 文件

 

                组名:口令:组标识号:组内用户列表

                a) “组名”是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。

                b) “口令”字段存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为空,或者是*。

                c) “组标识号”与用户标识号类似,也是一个整数,被系统内部用来标识组。

                d) “组内用户列表”是属于这个组的所有用户的列表/b],不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。

 

二:用户操作

 

        1、:用户添加

 

                创建用户的不同方式

 

                添加用户使用useradd或者adduser来完成、补充部分有详细的命令说明。

                下面三行每行命令都添加了一个用户、但是结果是不同的。

 

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. useradd test_user_1  

 

                a)     只添加一个用户、什么都没有、包括home主目录、登录后使用的shell。属于默认的同名组——test_user_1。此组自动创建、可使用参数指定不创建组。

 

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. useradd –s /bin/bash test_user_2  

 

                b)     添加一个指定shell的普通用户、属于默认的同名组——test_user_2。此组自动创建、可使用参数指定不创建组。

 

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. groupaddtest_group_1  
  2. useradd –m –s /bin/bash –g test_group_1 test_user_3  

 

                c)     第一行添加一个组、添加一个用户、拥有home主目录、登录后使用的shell、指定所在分组。

                创建好用户记得指定密码、

 

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. passwd usernamepassword  

 

                exp: 指定test_user_1的密码是1

 

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. passwdtest_user_1 1  

 

 

                完善被创建用户

 

                上面第一行添加的用户不能正常使用、但是我们可以通过以下步骤来尝试解决、

                a)    指定好密码

                b)   root身份登录在home下创建test_user_1文件、修改此文件属性、主要是修改用户、用户组、权限

                c)   编辑/etc/passwd文件下test_user_1的shell 、改为/bin/bash 。

                d)   切换试试、如果正常使用、则打完收工。

 

                exp:

 

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. passwd test_user_1 1  
  2. mkdir /home/test_usre_1  
  3. chown –R test_user_1:test_group_1/home/test_user_1  
  4. usermod –s /bin/bash test_usre_1  
  5. logout  

 

                adduser

                以人机交互的方式创建一个比较完善的普通用户。

 

        2:用户删除

 

                删除方式

 

                a)     userdel username ——只会删除用户、不会删除用户主目录(如果有的话)、也有可能会删除同名创建的用户组(如果这个用户组下只有这一个用户的话)。

                b)     userdel –r usrename —— 不但会删除用户、也会删除用户主目录(如果有的话,没有则会有提示)也有可能会删除同名创建的用户组(如果这个用户组下只有这一个用户的话)。

 

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. exp:  
  2. userdeltest_usre_1  
  3. userdel –rtest_user_2  

 

 

 

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. userdel test_user_1   

 

                如果test_user_1在创建的时候没有指定group、并且同时创建的同名group——test-user_group下没有其他用户、则test_usre_group也会被删除。

 

        3:用户的修改

 

                命令usermod:

                常用的就是修改用户名、用户密码、用户组、和使用的shell和home主目录

 

                a)    修改用户名:

 

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. usermod –ltest_usre_mod test_user_1  

 

                b)    修改shell

 

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. usermod –s/bin/bash test_user_mod  

 

                c)    修改用户组

 

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. usermod –gtest_group_1 test_user_mod  

 

                d)    添加用户组

 

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. usermod –Gtest_group_2 test_user_mod  

 

 

        4:用户的查看

 

                所有用户的信息都放在/etc/passwd这个文件下面。可以使用cat/etc/passwd这个命令查看。

 

三:用户组

 

        1:添加用户组

 

                groupadd命令、可以在命令行窗口中使用 man groupadd 或者 groupadd info 或者groupadd –help查看使用方法

 

                a)    创建一个任何用户组的用户test_nogpuser_1

 

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. useradd –Ntest_nogpuser_1  

 

                b)    创建一个没有任何用户的用户组test_nousergp_1

 

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. groupaddtest_nousergp_1  

 

                c)    将用户test_nogpuser_1添加到test_nousergp_1中

                gpasswd 命令用于操作用户组中用户、添加删除用户、删除用户组密码等操作、可以在命令行窗口键入 gpasswd –help获取说明

 

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. gpasswd –atest_nogpusre test_nousergp_1  

 

                d)     将用户test_nogpuser_1从test_nousergp_1中删除

 

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
  1. gpasswd –dtest_nogpuser test_nousergp_1  

 

 

        2:用户组修改

 

        groupmod 命令、命令窗口输入groupmdo –help 查看帮助

 

                a)    修改用户组名

 

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
 
    var cpro_id = "u6885494";
推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • 本文介绍了使用CentOS7.0 U盘刻录工具进行安装的详细步骤,包括使用USBWriter工具刻录ISO文件到USB驱动器、格式化USB磁盘、设置启动顺序等。通过本文的指导,用户可以轻松地使用U盘安装CentOS7.0操作系统。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • Linux磁盘的分区、格式化的观察和操作步骤
    本文介绍了如何观察Linux磁盘的分区状态,使用lsblk命令列出系统上的所有磁盘列表,并解释了列表中各个字段的含义。同时,还介绍了使用parted命令列出磁盘的分区表类型和分区信息的方法。在进行磁盘分区操作时,根据分区表类型选择使用fdisk或gdisk命令,并提供了具体的分区步骤。通过本文,读者可以了解到Linux磁盘分区和格式化的基本知识和操作步骤。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
author-avatar
mobiledu2502898417
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有