浅谈Linux中的用户和组

又到了周六,日常写博客的日子。

上周模模糊糊的写了第一篇博客,大概知道了怎么写,但是这周就比以往不同了,脑子中已经有了思路,那写起来就会更加详细易懂。

这周学了很多知识点,但是我想对Linux 用户和组进行详细的描述。

一、用户(Username/UID)

用户分为两种:管理员和普通用户

    管理员root  UID:0  (权限最大)

        普通用户UID:1-65535  

    普通用户又分为系统用户和登录用户

        系统用户UID:1-499(sentos6系统)   1-999(sentos7系统)

        登录用户UID:500+(sentos6系统)    1000+(sentos7系统)

二、组(Groupname/GID)

组分为两种:管理员组和普通组

    管理员组root   GID:0

    普通组GID:1-5535

普通组又分为系统组和非系统组

    系统组GID:1-499(sentos6系统)   1-999(sentos7系统)

    非系统组GID:500+(sentos6系统)  1000+(sentos7系统)

对于一个用户而言可以有很多个不同的组,分别称之为用户的主组和附加组;主组名与用户名相同,有且只有一个主组,附加组可以很多也可以没有。

三、linux用户和组的相关配置文件都在一下文件里面

/etc/passwd:用户及属性信息

/etc/group:组及其属性信息

/etc/shadow:用户密码及其相关属性

/etc/gshadow:组密码及其相关属性

四、/etc/passwd

      浅谈Linux中的用户和组

我们查看/etc/passwd时显示所有用户的信息,其中详细信息有七点

用户名:密码:UID:GID:用户的详细说明信息:用户的家目录:用户默认的shell

其中有一些命令:

pwunconv 将密码保存到/etc/passwd中,并删除/etc/shadow文件

pwconv (默认)将密码映射到/etc/shadow中

     浅谈Linux中的用户和组

此命令可以直接在/etc/passwd中查询加密后的密码

cat /etc/shells查看所有的shell

echo $SHELL查看当前所使用的shell    常用的shell(/bin/bash  /sbin/nologin不可交换式登录)

       浅谈Linux中的用户和组

chfn username 设置用户的描述(默认没有安装)

如果需要用chfn则需要安装finger   安装如下

cd /media/CentOS_6.9_Final/Packages/

rpm -ivh finger-0.17-40.el6.x86_64.rpm     之后就可以用chfn

五、/etc/group

    使用 cat /etc/group        或者 getent group (groupname)都可以查询组信息

     浅谈Linux中的用户和组

其中有四点

组名:组密码:组id:将该组作为辅助组的成员列表。当成员先把该组当作辅助组,再转成主要组时,不改变。当成员离开该组时,被删除。

groupmems -g groupname -a groupname   可以添加组成员(仅能一次加一个用户到组中)

groupmems -g groupname -d groupname  可以删除组成员

       浅谈Linux中的用户和组

       groupmems -g groupname-l 列出指定组的成员列表(辅助组)

       groupmems -p groupname消除指定组的所有成员。

       浅谈Linux中的用户和组

六、/etc/shadow

使用cat /etc/shadow      或者getent shadow (username)查看用户的密码信息

      浅谈Linux中的用户和组

显示了九点

用户名:加密的密码:最近一次更改密码的日期:密码的最小使用权限:密码的最大使用权限:密码的警告时间段:密码的禁用期:账户的过期日期:保留字段

加密的算法一共有

       浅谈Linux中的用户和组

以前最常用MD5,从sentos6,sentos7开始使用SHA-256,或者SHA-512。因为王小云破解了MD5。

authconfig —passalgo=sha512 (md5,sha256) —update 将密码加密设置位SHA-512

       设置了需要从新设置一下密码才能显示SHA-512的加密内容(密码在加密过程当中存在着雪崩效应,所谓雪崩效应是指初始条件的微笑变动,将会引起结果的巨大改变)

       浅谈Linux中的用户和组

chage -l magedu 查看账号密码信息

      浅谈Linux中的用户和组

-d 指定密码的上次修改时间(yyyy-mm-dd)

 -E 指定账户的过期时间

 -I 密码过期之后多少天帐户过期

 -m 设置最小存活时间

 -M 设置最大存活时间

 -W 设置密码过期前的提醒时间

浅谈Linux中的用户和组

     或者vim(nano) /etc/shadow 进里面进行更改

七、/etc/gshadow

     使用cat /etc/gshadow  或者getent gshadow查看组密码及其相关你属性

     浅谈Linux中的用户和组

一共显示了四点

       组名:密码位:管理员列表:组成员(将该组作为辅助组的成员列表。当成员先把该组当作辅助组,再转成主要组时,不改变。当成员离开该组时,被删除。)

其中的一些修改命令如下:

gpasswd groupname设置组密码

       newgrp groupname(普通用户以临时以主要的身份加入改组)

当用户不是该groupname的辅助组成员时,则需要输入密码,成功后临时以主要组的身份加入该组。

当用户是该groupname的辅助组成员时,无需输入密码,将临时以主要组的身份     加入该组,而其原有的主要组,临时变为辅助组。

浅谈Linux中的用户和组

管理员只能由root任命,他们的权限是可以修改组密码,可以将用户从该组中删除或者添加(可以理解为我们的QQ群,只能群主任命管理员,管理员可以T人或者加人)

      gpasswd -A daqiao,xiaoqiao admin  任命xiaoqiao ,daqiao为admin管理员

     浅谈Linux中的用户和组

gpasswd -A “” admin 撤销所有管理员

       gpasswd -a libai admin  往组中增加用户

gpasswd -d libai admin  将用户从组中删除

      浅谈Linux中的用户和组

gpasswd -r admin 删除组密码

gpasswd -R admin 限制非辅助组用户可以通过newgrp admin获取主组权限。当前密码被删除替换为!

gpasswd -M redhat,libai admin  设置辅助组的成员列表。

八、创建用户

      -u uid username 创建用户时指定uid

      -o -u uid username 创建用户时指定uid(可以与已存在用户的uid相同)

      -g groupname username 创建用户时候如果没有指定的组。则使用与用户相同的组名。

      -c …  username  创建用户时指定描述信息。

         chfn … username 也是修改用户的描述信息

      -d path username 指定用户的家目录(确保指定的家目录所在的上级目录要存在,且家  目录本身不能存在)

      -s /sbin/nologin username 指定用户的默认shell

      -G group1[,group2] username 指定用户的辅助组

      -N username 设置用户的主要组为默认组(users,uid=100)

      -r username 创建系统用户

    浅谈Linux中的用户和组

九、创建组

groupadd groupname

       浅谈Linux中的用户和组

十、修改用户信息

usermod

        usermod -u newuid username 修改用户的UID

        -o -u newuid username 修改用户的uid(可以与已存在用户的uid相同)

       浅谈Linux中的用户和组

       -aG 加组名,可以追加辅助组而不用覆盖之前的组

      浅谈Linux中的用户和组

       -G “” username  或 usermod -G primarygroup username 清空用户所有的辅助组

       浅谈Linux中的用户和组

       -g groupname username 修改用户的主组

       -s /sbin/nologin username 修改用户的默认shell

      浅谈Linux中的用户和组

       -d /…/path username 修改用户的家目录(不会创建,只修改/etc/passwd当中的家目录信息)

       -m -d /…/path username 修改用户的家目录信息,并将家目录移动到目的目录并改名

       -l newname oldname 修改用户名

       -L 给用户/etc/shadow中的密码位加!使用户被锁定

       -U 把!拿掉

       浅谈Linux中的用户和组

-e yyyy-mm-dd 设置一个帐户过期时间

      -f days 指定密码过期之后多少天帐户过期

最后注释:一条命令就能解决创建一个用户的信息。但是创建了如果想改需要用到usermod  。

删除一个用户用userdel username只删除用户名,不删除家目录和文件,再创建时会出现错误信息,此时需要把家目录下的/etc/default/useradd  /etc/login.defs删除即可。而userdel -r username直接删除一切。

 

到此为止,以上内容是我对Linux中的用户和组的一些简单认识,我相信通过以后的学习,查漏补缺,对Linux中的用户和组会了解的更加透彻。(以上的内容是我花了一天的时间特别用心的写出来的,望大家能认真的看下去,您阅读出来不足的地方,就是我还需要学习的地方。谢谢)

原创文章,作者:In summer,如若转载,请注明出处:http://www.178linux.com/82191

(0)
In summerIn summer
上一篇 2017-07-22 16:55
下一篇 2017-07-22 17:33

相关推荐

  • Lvm基本应用,扩展及缩减实现

    什么是LVM LVM是Logical Volume Manager的简写。其是Linux环境下对磁盘分区进行管理的一种机制。LVM由Heinz Mauelshagen在Linux 2.4内核上实现。其主要作用是在不损坏磁盘数据的情况下对磁盘空间进行增加,缩减。LVM的做法是将几块物理硬盘通过软件的方式组合成一块空间相对大的Volume Group,简称VG,…

    Linux干货 2016-09-08
  • 源码包安装Apache服务

    1、安装development tools程序包组 安装Apache服务器前需要解决依赖性问题,比如需要安装GCC、GCC++、OPENSSL等等,因为是在虚拟机里做实验,这里就通过直接安装包组的方法解决依赖性问题。 (1)挂载安装光盘,并安装“Development tools”包组 [root@localhost ~]# mount&…

    Linux干货 2016-08-24
  • 如何安装CentOS 6.8 ?

    一 ,首先我要先在虚拟机的平台上搭建一下我们需要的环境。 1,选择创建一个新的虚拟机。之后选择自定义安装。点击下一步 2,选择硬件兼容性workstation12.0,(根据情况你也可以选择下面的几个版本,不过要记得选择版本之后,不能再这个版本以下打开虚拟机) 3,点击下一步选择安装程序光盘映像文件项。点击下一步。 4,之后创建一下用户信息,点击下一步。 5…

    Linux干货 2017-02-14
  • 关于大型网站技术演进的思考(十二)–网站静态化处理—缓存(4)

    原文出处: 夏天的森林   上篇我补充了下SSI的知识,SSI是一个十分常见的技术,记得多年前我看到很多门户网站页面的后缀是.shtml,那么这就说明很多门户网站都曾经使用过SSI技术,其实现在搜狐网站也还在用shtml,如下图所示: 由此可见SSI在互联网的应用还是非常广泛的。其实互联网很多网页如果我们按照动静分离策略拆分,绝…

    2015-03-11
  • Linux发展历史与基础知识

    工具: 亿图 CRT 思维图工具-Dream VPS-搬瓦工,亚马逊云,阿里云 网站: 阿里云-help.aliyun.com 企业新闻-36kr.com lnmp.org-如何配置web服务 中关村在线-zol.com:看服务器设备 计算机组成: 硬件,软件。 CPU类型 ·x86 ·x64 ·ARM ·m68k(moto) ·power ·Ultrasp…

    Linux干货 2017-03-26
  • 编译安装LAMP

    编译安装LAMP (1) 系统环境:CentOS 6, 7     CentOS 6:apr, apr-util的版本为1.3.9,不适用于httpd-2.4;     CentOS 7:apr, apr-util的版本为1.4+, (2) 开发环境…

    Linux干货 2016-11-03