Linux下用户和组管理

  用户与组之间的关系是,组下面有若干个用户,每个用户必须从属于唯一一个组。组可以理解为权限的集合。用户管理的命令有:useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage。组管理的命令有:groupadd, groupdel, groupmod, gpasswd。

(一)linux系统下用户角色

  在linux系统下用户的角色不同,权限和所能完成的任务也不同,用户角色是通过UID来识别的,在linux下要注意root用户的UID的唯一性。

1) root

  系统管理员超级用户,系统唯一,可以登陆系统,可以操作任何文件和命令,拥有最高权限,UID值为0。

2) 虚拟用户

  与真实的用户分开来,这类用户不能登陆系统,但是在使用某些服务的时候使用,这类用户是系统默认添加的。

3) 普通真实用户

  这类用户可以登陆系统,但是只能操作自己家目录的内容,受限账户,这类用户都是管理员自行添加的。

(二)用户相关文件介绍

  在windows当中可以使用计算机管理工具中的用户和组的管理工具来对用户进行管理,在linux下是通过对用户配置文件(区别与windows中的用户配置文件)的管理来实现对用户和组的管理。

1)  /etc/passwd

  用户账号文件,记录所有用户记录,每行表示一个用户信息,7个字段都有各自的含义。例如:root : x : 0 : 0 : root : /root : /bin/bash,这7个字段分别表示用户名、密码、UserID、GroupID、用户相关说明、用户家目录路径、用户的登陆shell。

2) /etc/shadow

  用户账户的影子文件,包含用户的加密密码和其他信息,两个文件互补来记录用户信息,这个文件只有root可以读取和操作。每行包含8个字段,各项说明如下:

第1个字段,用户名;第2个字段,加密口令;第3个字段,上次口令改变时间,从1970年1月1日算起的天数;第4个字段,多少天内不能改变口令;第5个字段,多少天内必须改变口令;第6个字段,口令到期前多少天会出现警告;第7个字段,如果口令到期后几天不使用账号,则无法登陆;第8个字段,如果到这个日期不用账号则无法登陆,可以以YYYY-MM-DD格式,也可以用1970年1月1日起的天数。

3) /etc/login.de

  使用vim可以对这个文件内容进行修改,下面介绍修改哪些位置有哪些作用。

  MAIL_DIR,邮件存放目录;PASS_MAX_DAYS 密码有效期最长时间;PASS_MIN_DAYS,密码有效期最短时间;PASS_MIN_LEN,密码最小长度;PASS_WARN_AGE,密码到期提示时间;UID_MIN,UID最小值;UID_MAX,UID最大值;GID_MIN,GID最小值;GID_MAX,GID最大值;CREATE_HOME,是否创建家目录;UMASK,UMASK值;USERGROUPS_ENAB,当删除用户后,同名组中不在存在用户的时候,是否删除该组。

4) /etc/skel

  存放用户启动文件的目录,类似与windows的用户配置文件目录,为用户提供用户环境,该目录下的文件全部为隐藏文件。在添加用户时会从该目录下复制文件到用户的家目录下,相当与统一的登陆模板。

  开启和关闭投影密码命令。开启用户的投影密码,使得密码得到更好的保护,不容易被别的用户得到。该选项是一个安全选项,执行命令可以把用户名和密码分别存放在两个文件当中,影子文件就是密码文件。

  pwconv,开启投影密码命令;pwunconv,关闭投影密码命令。

(三)用户管理

1) useradd 创建用户命令

  useradd jake 创建名为jake的用户。useradd的常用选项及含义如下:-d指定用户的家目录;-g指定用户组;-G指定用户的附加组;-u指定用户的UID值;-p创建密码。例如,useradd -d /rose -g group -G root -u 505 rose,创建rose用户,指定家目录在/rose下,加入到group组,同时附加到root组,并设置UID号为505。

2) users

  users查看所有登陆的用户(who)。

3) passwd设置密码命令

  注意:没有设置密码的用户不能使用。例如:passwd rose 给用户rose设置密码。常用选项及含义如下:-d删除密码;-f强制执行下次登陆时更改密码;-l停止账号使用;-u启用已经停止的账号;-S显示密码信息。

  常用的设置或密码方法有:a) passwd username,然后再在控制台中输入两次密码(不可见);

              b) passwd --stdin username,然后在控制台中输入一次密码(可见);

              c) echo “newpassword” | passwd --stdin username,使用管道将新密码传到标准输入。

4) userdel删除账号命令

  userdel rose删除rose账号。userdel -r rose删除用户登陆目录及目录下的文件(类似于windows的删除用户选择是否删除用户的文档)。

5) usermod修改账号命令

  usermod -l newname oldname。其常用选项-d、-g、-G、-u等参数与useradd命令参数使用方法一样。例如,usermod -d /home/rose -g group0 -G group1 -u 600 rose是指将rose用户的家目录,主组和附加组以及UID值更改。

6) 用户的锁定与解锁

  usermod -L rose 锁定rose用户

  usermod -U rose 解除rose用户的锁定

7) gpasswd用户添加到其他组的命令

  gpasswd -a u1 g1 将u1加入到g1组;gpasswd -d u1 g1 将u1退出g1组;gpasswd -A u1 g1 将g1组的管理员指派给u1。注意:只有root和组管理员能够改变组成员。

8) id查看ID信息命令

  id rose 查看rose用户的ID信息。id - print real and effective user and group IDs。其用法是选项后面接用户名id [OPTION]... [USERNAME]。作用是打印用户的id和组的id,Print  user  and group information for the specified USERNAME, or (when USERNAME omitted) for the current user。常用选项有-u,-g。-u是只打印用户id,-g是只打印组id。

9) root单用户

  如果希望计算机除了root账号外其他账号不能登陆,在/etc目录中执行touch nologin,创建1个名称为nologin的文件。如果系统只有一个人使用,可以考虑修改/etc/inittab文件,将默认启动值改为2。

(四)组相关文件介绍

1)  /etc/group

  用户组的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户拥有独立的用户组,或者是把用户下的文件的权限设置为完全私有;另外root用户组一般不要轻易把普通用户加入进去。

/etc/group的内容包括用户组、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录;格式如下:group_name:passwd:GID:user_list。例如,bin: x : 1 :bin,daemon。bin是组,x是密码段,GID是1,bin用户组下包括bin、daemon以及GID为1的其它用户(可以通过 /etc/passwd查看)。

2) /etc/gshadow

  /etc/gshadow是/etc/group的密码文件,用户组(Group)管理密码就是存放在这个文件。/etc/gshadow和/etc/group是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用户组密码是极有必要的。比如我们不想让一些非用户组成员永久拥有用户组的权限和特性,这时我们可以通过密码验证的方式来让某些用户临时拥有一些用户组特性,这时就要用到用户组密码。

  /etc/gshadow格式如下,每个用户组独占一行:groupname:password:admin,admin,...:member,member,...

  第1字段:用户组;第2字段:用户组密码,这个段可以是空的或!,如果是空的或有!,表示没有密码;第3字段:用户组管理者,这个字段也可为空,如果有多个用户组管理者,用,号分割;第4字段:组成员,如果有多个成员,用,号分割。

(五)组管理

1)  groupadd添加用户组

  常用选项及含义为:-g指定GID;-o一般和g选项同时使用,可以与已有组的GID相同。例如,groupadd -go 501 g1 创建组g1其GID可以与已有的组重复。

2) gpasswd设置用户组的密码

  一般的情况下,没有必要设置用户组的密码;例如,gpasswd rose 修改rose 组的密码。

3) groupdel删除用户组

  groupdel g1 删除g1组(没有用户的空组)。

4) groupmod 修改组属性

  其常用属性有:-g指定新的GID;-o与-g配合使用同groupadd的-o;-n修改组名。例如groupmod -g 601 g1修改g1的GID为601。再如,groupmod -n g11 g1将g1组改名为g11。

5) newgrp 切换用户组

  newgrp root切换到root组。

原文地址:https://www.cnblogs.com/yangp/p/8505449.html

时间: 2024-10-09 15:49:22

Linux下用户和组管理的相关文章

【Linux下用户和组管理】 𬤺

原文: http://blog.gqylpy.com/gqy/315 "> ##### 创建用户--useradd . 命令格式:useradd [参数] 用户名 useradd也可写成adduser . 参数如下 -u 指定UID号 -d 指定宿主目录 -e 指定生效时间 -g 指定基本组 -G 指定附加组 -M 不建立宿主目录 -s 指定shell -r 用于删除用户时,同时删除宿主目录 -f 一般用于强制删除用户 . 补充命令: echo '密码' | passwd --stdin

【Linux笔记】Linux的用户、组管理

1. Linux的用户.组管理 1)   用户 i.      添加用户 useradd 用户名 useradd 不带参数直接添加用户时,家目录默认在/home下,默认使用bash shell 例1: [[email protected] etc]# useradd testyx [[email protected] etc]# cd /home [[email protected] home]# ls ads_yx  testyx [[email protected] home]# passw

Linux下用户和组之浅谈

关于Linux下用户和组的总结. 用户:获取系统资源权限的集合: 组:具有相同权限的用户的集合 用户组分类; 1.普通用户组:可以加入多个用户 2.系统组:一般加入一些系统用户 3.私有组(也称基本组):当创建用户时,如果没有为其指明所属组,则就为其定义一个私有的用户组,名称与用户名同名. Linux下与用户与组相关的文件主要在/etc目录下,主要有 /etc/passwd  ,/etc/shadow , /etc/group , /etc/gshadow 四个文件.这四个文件的格式主要如下:

linux系统 用户和组管理类命令的使用方法

列出当前系统上所有已经登录的用户的用户名,注意:同一用户登录多次,则只显示一次即可. [[email protected] ~]# who    #显示当前用户登录信息 root    tty1         2016-10-05 15:58 root    pts/0        2016-10-05 16:07(192.168.0.17) [[email protected] ~]# who | cut -d' ' -f1    #取出当前用户登录信息的用户名 root root [[e

linux基础 用户与组管理

1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. ①通过who或者w命令,可以查询当前登入至系统的用户信息. ②cut命令通过指定特定字符来分割行信息,如空格符, -d" " ,-f 显示分割后指定的段. ③sort用来对结果排序,-u排序后去重 [[email protected] ~]$ who | cut -d" " -f1 | sort -u allen root 2.取出当前系统上被用户当作其默认shell的最多的

Linux基础(5)Linux的用户,组管理以及Linux的下的权限浅谈

Linux下的权限管理与用户跟组的概念是分不开的.简单来说,Linux下的文件有三种权限r w x 对于文件来说 r:可读,可以使用类似cat等命令查看文件内容: w:可写,可以编辑或删除此文件: x: 可执行,eXacutable,可以命令提示符下当作命令提交给内核运行: 对于目录来说: r: 可以对此目录执行ls以列出内部的所有文件 w: 可以在此目录创建文件: x: 可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息: 对于文件或者目录来说,权限按照文件的所有者可以划分为

Linux的用户和组管理

Linux是个多用户多任务的分时操作系统,越是对服务器安全性要求越高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范. 在linux中主要是通过配置文件来查看和修改用户信息 关于用户的配置文件有四个. /etc/passwd /etc/shadow /ect/group /etc/gshadow /etc/passwd 记录了这个用户的一些基本属性 第1字段:用户名称 第2字段:密码标识(表示有密码,会去/etc/shadow下调用) 第3字段:UID 0  超级用户 1-499  系

Linux之用户、组管理

Linux系统是一个多用户多任务的分时操作系统.任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.每个用户账号都拥有一个唯一的用户名和各自的口令.用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录. 用户账号的管理,主要有以下方面: 1.用户分类.基本信息.密码策略 2.用户组的管理   3.用户.组常用管理命令 用户分类 超级用户:拥有对系统的最高管理权限,默认是root用户. 普通用户:只能对自己目录下的文件进行访问和修改,具有登

linux下用户与组

用户与组 涉及文件: /etc/passwd     (用户信息) 分为七段: 第一段:用户名 第二段:密码     (口令) 第三段:uid     (用户号码) 第四段:gid     (组id) 第五段:用户属性信息 第六段:家目录 第七段:shell     (命令解释程序) 涉及文件: /etc/shadow     (用户密码存放地址) 分为九段: 第一段:用户名 第二段:密码     (*:已经被锁定:!!:还没有密码) 第三段:上次更改密码时间     (天) 第四段:过多少天才