热门标签 | 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 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
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社区 版权所有