linux系统用户以及用户组管理

时间:2022-01-08 03:32:14

本系列的博客来自于:http://www.92csz.com/study/linux/

在此,感谢原作者提供的入门知识

这个系列的博客的目的在于将比较常用的liunx命令从作者的文章中摘录下来,供自己学习和复习之用。

管道命令,是指 | 的左边运行结果 是|右边的 输入条件或者范围。

认识/etc/passwd/etc/shadow】

这两个文件可以说是linux系统中最重要的文件之一。

/etc/passwd由’:’分割成7个字段,每个字段的具体含义是:

1)用户名(如第一行中的root就是用户名),代表用户账号的字符串。用户名字符可以是大小写字母、数字、减号(不能出现在首位)、点以及下划线,其他字符不合法。虽然用户名中可以出现点,但不建议使用,尤其是首位为点时,另外减号也不建议使用,因为容易造成混淆。

2)存放的就是该账号的口令,为什么是’x’呢?早期的unix系统口令确实是存放在这里,但基于安全因素,后来就将其存放到/etc/shadow中了,在这里只用一个’x’代替。

3)这个数字代表用户标识号,也叫做uid。系统识别用户身份就是通过这个数字来的,0就是root,也就是说你可以修改test用户的uid为0,那么系统会认为root和test为同一个账户。通常uid的取值范围是0~65535,0是超级用户(root)的标识号,1~499由系统保留,作为管理账号,普通用户的标识号从500开始,如果我们自定义建立一个普通用户,你会看到该账户的标识号是大于或等于500的。

4)表示组标识号,也叫做gid。这个字段对应着/etc/group 中的一条记录,其实/etc/group和/etc/passwd基本上类似。

5)注释说明,该字段没有实际意义,通常记录该用户的一些属性,例如姓名、电话、地址等等。不过,当你使用finger的功能时就会显示这些信息的(稍后做介绍)。

6)用户的家目录,当用户登录时就处在这个目录下。root的家目录是/root,普通用户的家目录则为/home/username,这个字段是可以自定义的,比如你建立一个普通用户test1,要想让test1的家目录在/data目录下,只要修改/etc/passwd文件中test1那行中的该字段为/data即可。

7)shell,用户登录后要启动一个进程,用来将用户下达的指令传给内核,这就是shell。Linux的shell有很多种sh, csh, ksh, tcsh, bash等,而Redhat/CentOS的shell就是bash。查看/etc/passwd文件,该字段中除了/bin/bash外还有/sbin/nologin比较多,它表示不允许该账号登录。如果你想建立一个账号不让他登录,那么就可以把该字段改成/sbin/nologin,默认是/bin/bash。

/etc/shadow,用”:”分割成9个字段。

1)用户名,跟/etc/passwd对应。

2)用户密码,这个才是该账号的真正的密码,不过这个密码已经加密过了,但是有些黑客还是能够解密的。所以为了安全,该文件属性设置为600,只允许root读写。

3)上次更改密码的日期,这个数字是这样计算得来的,距离1970年1月1日到上次更改密码的日期,例如上次更改密码的日期为2012年1月1日,则这个值就是365*(2012-1970)+1=15331。

4)要过多少天才可以更改密码,默认是0,即不限制。

5)密码多少天后到期。即在多少天内必须更改密码,例如这里设置成30,则30天内必须更改一次密码,否则将不能登录系统,默认是99999,可以理解为永远不需要改。

6)密码到期前的警告期限,若这个值设置成7,则表示当7天后密码过期时,系统就发出警告告诉用户,提醒用户他的密码将在7天后到期。

7)账号失效期限。你可以这样理解,如果设置这个值为3,则表示:密码已经到期,然而用户并没有在到期前修改密码,那么再过3天,则这个账号就失效了,即锁定了。

8)账号的生命周期,跟第三段一样,是按距离1970年1月1日多少天算的。它表示的含义是,账号在这个日期前可以使用,到期后账号作废。

9)作为保留用的,没有什么意义。

新增/删除用户和用户组

a. 新增一个组 groupadd [-g GID] groupname

不加-g则按照系统默认的gid创建组,跟用户一样,gid也是从500开始的

-g选项可以自定义gid

b. 删除组 groupdel groupname

没有特殊选项

c. 增加用户 useradd [-u UID] [-g GID] [-d HOME] [-M] [-s]

-u 自定义UID

-g 使其属于已经存在的某个GID

-d 自定义用户的家目录

-M 不建立家目录

-s 自定义shell

useradd -u 510 -g 504 -M -s /sbin/nologin  test111

终端显示:test111:x:510:504::/home/test111:/sbin/nologin

创建test11时,加上了-M选项后,在/etc/passwd文件中test11那行的第六字段依然有/home/test11,可是ls查看该目录时,会提示该目录不存在。

-M选项的作用就是不创建用户的家目录。

d.删除用户userdel [-r] username

-r 删除用户时,连同用户的家目录一起删除。

【用户身份切换】

Linux系统中,有时候普通用户有些事情是不能做的,除非是root用户才能做到,这时候就需要临时切换到root身份来做事了。

使用su -就可以切换成root身份,当然这需要知道root密码

可以使用 echo $LOGNAME 来查看当前登录的用户名

su 的语法为:su [-] username

后面可以跟"-"也可以不跟,普通用户su不加username时就是切换到root用户,当然root用户同样可以su到普通用户。

加"-"后会连用户的环境变量一起切换过来。su test 后虽然切换到了test用户,但是当前目录还是切换前的/root目录,然后当用su - test 时切换用户后则到了test的home目录 /home/test。当用root切换普通用户时,是不需要输入密码的。

用su是可以切换用户身份,如果每个普通用户都能切换到root身份,如果某个用户不小心泄露了root的密码,这样会造成系统的不安全,为了改进这个问题,产生了sudo这个命令。使用sudo执行一个root才能执行的命令是可以办到的,但是需要输入密码,这个密码并不是root的密码,而是用户自己的密码。默认只有root用户才能使用sudo命令,普通用户想要使用sudo,是需要root预先设定的,即,使用visudo命令去编辑相关的配置文件 /etc/sudoers 。如果没有visudo这个命令,使用yum install -y sudo 安装。

linux系统用户以及用户组管理的更多相关文章

  1. 2019/12/11学习内容摘要(Linux系统用户与用户组管理①)

    一,认识/etc/passwd和/etc/shadow 1. /etc/passwd :文件中保存系统中所有的用户和用户的主要信息. 在命令行输入 cat /etc/passwd  | head  ( ...

  2. linux入门教程(七) linux系统用户以及用户组管理

    关于这部分内容,笔者在日常的linux系统管理工作中用到的并不多,但这并不代表该内容不重要.毕竟linux系统是一个多用户的系统,每个账号都干什么用,你必须了如指掌.因为这涉及到一个安全的问题. [认 ...

  3. Linux系统用户与用户组管理

    一.用户和用户组的管理 1.新增组 groupadd 命令 格式:groupadd 组名 2.删除组 groupdel 格式:groupdel 组名 3.增加用用户命令 useradd   格式:us ...

  4. Linux系统用户及用户组管理

    目录一.新增/删除用户和用户组二.创建/修改密码三.用户身份切换--su和sudo 一.新增/删除用户和用户组1.用户组 命令 : groupadd 语法 : groupadd [-g GID] gr ...

  5. 2019/12/12学习内容摘要(Linux系统用户与用户组管理②)

    5.命令 chfn 用于修改用户的finger (finger为 /etc/passwd 文件第五个字段中显示的信息) 三,用户密码管理 1.命令passwd  格式 passwd [username ...

  6. linux 系统用户与用户组管理

    关于/etc/passwd和/etc/shadow /etc/passwd 第1个字段为用户名(第一行中的root就是用户名)第2个字段存放的是该账号的口令.第3个字段为一个数字,这个数字代表的用户标 ...

  7. Linux命令——用户和用户组管理

    Linux命令--用户和用户组管理 命令groupadd 作用:新增组 格式:groupadd [-g GID] groupname 参数:-g,指定GID,一般从500开始 说明:一般不必加-g参数 ...

  8. linux之用户和用户组管理详解

    #############用户和用户组管理###################linux只认识UID和GID #可在/etc/passwd 和/etc/group中找到 ##/etc/passwd ...

  9. Linux 学习笔记04丨Linux的用户和用户组管理

    Chapter 3. 用户和用户组管理 由于Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以该账号身份进入系统. 3.0 用户与 ...

随机推荐

  1. 回答阿里社招面试如何准备,顺便谈谈对于Java程序猿学习当中各个阶段的建议

    引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容 ...

  2. 自定义浏览器协议,实现web程序调用本地程序

    转自  http://blog.csdn.net/talking12391239/article/details/40712759 亲测可用 tencent://Message/?Uin=000000 ...

  3. MVP -----个人理解与示例(android例子 实现)

    MVP 也就是Model View Presenter模式,是建立一个工程的一种模式. ======================================================== ...

  4. 几种图片下载lib对比

  5. 爬取知乎百万信息之UrlTask

    这个模块的作用是从nexturl队列获取用户的关注列表的url,获取关注列表.服务器返回的Json的数据 封装一个对象的序列化和反序列化的类 public class SerializeHelper ...

  6. Chrome退出全屏问题

    最近做了一个号称很炫的B/S展示软件,展示所用浏览器为Google Chrome. 要求展示时全屏,但是页面要有退出全屏按钮(液晶屏没有键盘). 搜索实现方式几乎前篇一律,即两个JS函数一个实现全屏一 ...

  7. Android-第二天(2)

    程序3 SimpleAdapter是扩展性最好的适配器,可以定义各种你想要的布局,而且使用很方便 SimpleAdapter(Context context, List<? extends Ma ...

  8. Shell sleep指定延迟时间

    可以给时间,让上一条命令执行完毕后,并且退出 sleep 1 睡眠1秒sleep 1s 睡眠1秒sleep 1m 睡眠1分sleep 1h 睡眠1小时

  9. 这样的UI UX设计师描述你满意吗?

    UI/UX 设计师是我们耳熟能详的名称,但是这些红遍大江南北的设计师到底是什么鬼? 今天小编跟大家好好分享一些关于UI UX 设计师的描述,让大家搞清楚两者的含义和职责.全文主要分成UI设计师描述和U ...

  10. &lbrack;译&rsqb;window&period;onerror事件

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...