Linux用户和组的主要配置文件及其相关命令

Linux用户和组的主要配置文件:

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

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

/etc/group组及其属性信息

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

/etc/passwd

1.用户名:

2.密码位:x

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

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

3.UID

每个用户都有一个UIDUID0时,说明是管理员帐户。

CentOS6 1-499为系统用户,预留

CentOS7 1-999为系统用户,预留

4.GID

主要组:每个有且仅有一个主要组,当用户创建时,自动创建一个与用户同名的组作为主要组。

辅助组:用户可以有零个或多个辅助组。

5.描述位

chfn username 设置用户的描述

Linux用户和组的主要配置文件及其相关命令

getant passwd magedu 是截取passwd中有magedu的那一行

finger username (默认没有安装) 查看用户的信息

Linux用户和组的主要配置文件及其相关命令

      6.家目录

usermod -d /home/magedunew magedu 修改家目录

7.默认的登录Shell

usermod -s /sbin/nologin magedu 修改shell

chsh -s /sbin/nologin magedu

magedu:x:500:500::/home/magedu:/bin/bash

用户名  密码 UID GID  描述位(可以为空) 家目录  shell(用户登录获取的)

 

/etc/shadow

getent shadow [username] 截取shadow中有usename的那一行 

1.username

2.密码位: sha512 sha256 md5  $id$salt$password

   authconfig –passalgo=sha256 –update  改变密码的算法为sha256

Linux用户和组的主要配置文件及其相关命令

!!用户被锁定

usermod -L 锁定用户

usermod -U 解锁用户 -p password

3.密码上一次的修改日期(从1970-1-1到修改的时间经过了多少天来表示)

4.密码最小存活期

5.密码最大存活期

6.密码过期之前提前多少天提醒用户(在正确登录时)

7.密码过期之后多少天帐户过期(在正确登录时)

8.帐户过期时间(自1970-1-1到该天经过了多少天来表示)

9.保留位

 

        chage -l username 显示帐户的密码信息

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

  -d 0 则强制用户下次登录时必须修改密码

  -E 指定账户的过期时间

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

  -m 设置最小存活时间

  -M 设置最大存活时间

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

chage username 交互式修改用户的密码策略

Shadow中用户magedu的信息:

magedu:$6$o31piJ4ZyS6plnbG$TyznYJmxdGY3bPUxxrGimj2uiiW43nPA8tlbqIsfWxq5mrbB6Pjhyp9mPM5zoxAQb.AEPDelOhXyeH39l.7HP0:17367:0:99999:7:::

 

 

/etc/group

getent group [groupname]

1.groupname:组名

2.密码位:x

3.gid:

CentOS6 1-499为系统组,预留

CentOS7 1-999为系统组,预留

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

giduid 不一定一致 (我先创建一个组,此时该组就占用一个gid(比如1001)号,再创建一个用户,该用户就自动创建一个与用户名同名的主要组,而该组的gid号就应为1002uid号为1001.

 

/etc/gshadow

getent gshadow [groupname]

1.groupname:组名

2.密码位:

gpasswd groupname设置组密码

newgrp groupname(普通用户)

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

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

                       

Linux用户和组的主要配置文件及其相关命令

查看app中的所有内容,我们可以看到目录make的所属组是admin,当前是在mage这个用户下,他的主要组是magedu,所以不能进入make,而使用newgrp admin 后,就会临时使magedu这个用户的主要组变成admin,而原本的主要组magedu变成附加组,此时就能进入目录make了。(当一个用户想要进入一个文件时,先看这个文件的所属组,若这个所属组设有密码时,当这个用户的主要组或附加组和该文件的所属组相同时,就能进入该文件,不相同时就不能进入该文件) newgrp groupname 进入临时会话内容,不会记录到文件中,此时id username  只能查看你登陆时的信息,不能查看修改之后的信息

     

  3.管理员:只能由root任命或撤销,可以同时有多名,以,(逗号)为间隔。权利:可以修改组密码,可以将用户从该组(辅助组)当中添加或删除。

任命 gpasswd -A xiaoqiao,luren admin 撤消所有管理员:gpasswd -A “” admin

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

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

gpasswd -r admin 删除组密码

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

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

Linux用户和组的主要配置文件及其相关命令

 

            groupmems 主要是对附加组的操作,加的是附加组

Linux用户和组的主要配置文件及其相关命令

             groupmems -g admin -a libai (仅能一次加一个用户到组中)

     groupmems -g admin -d libai  将指定成员从组中删除

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

             getent group admin                   

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

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

 

注意:groups username 查看指定用户属于哪些组

[root@centos7 etc]# groupmems -g administrator -l  查看administrator 组中的成员

change  libai  bajie  

[root@centos7 etc]# groups shaseng     查看大圣这个用户属于哪些组              

shaseng : shaseng yutu bajie

 

Linux用户和组的主要配置文件及其相关命令

/etcpasswd , shadow , group, gshadow 各自的内容

 

useradd

-u uid username 创建用户时指定uid(如不指定则Centos6:500-60000, Centos7: 1000-60000)

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

-g groupname username 创建用户时指定主组为某个已存在的组。(将不会再创建与用户同名的组)

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

chfn … username

-d path username 指定用户的家目录(确保指定的家目录所在的上级目录要存在,且家目录本身不能存在)(家目录里的内容可以从/etc/skel中递归复制)

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

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

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

-r username 创建系统用户

 

/etc/default/useradd

/etc/login.defs

 

usermod

usermod -u newuid username 修改用户的UID

-o -u newuid username 修改用户的uid(可以与已存在用户的uid相同)     -aG 加组名,可以追加辅助组而不用覆盖之前的组

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

-g groupname username 修改用户的主组

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

-c …  username 修改用户时指定描述信息。

chfn … username

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

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

-l newname oldname 修改用户名

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

-U !拿掉。

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

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

 

vipw = vim /etc/passwd

vipw -s = vim /etc/shadow

vigr = vim /etc/group

vigr -s = vim /etc/gshadow

pwck 检查/etc/passwd /etc/shadow

grpck 检查/etc/group /etc/gshadow

练习:

 1、创建用户gentoo,附加组为binroot,默认shell

/bin/csh,注释信息为“Gentoo Distribution”

useradd -G bin,root -c “Gentoo Distribution”  -s /bin/csh gentoo

2、创建下面的用户、组和组成员关系

名字为admins 的组

用户natasha,使用admins 作为附属组

用户harry,也使用admins 作为附属组

用户sarah,不可交互登录系统,且不是admins 的成员,

natashaharrysarah密码都是centos

groupadd admins

useradd -G admins natasha

useradd -G admins harry

useradd -s /sbin/nologin sarah

passwd natasha

passwd harry

passwd sarah

 

userdel [-r] username

删除用户时,加上-r连同其家目录,mail一同删除

  

id

id username

id -u 用户的uid

id -un 用户名

id -g  主要组的gid

id -gn 主要组的名字

Linux用户和组的主要配置文件及其相关命令

 

 su switch user

su username 非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录

su – username 登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换

-c ‘command’ 以用户的身份执行命令而不登录

Linux用户和组的主要配置文件及其相关命令 

 

passwd

     usename 更改用户的密码 仅root用户才有权限修改其他用户的密码

-l:锁定指定用户

-u:解锁指定用户

-e:强制用户下次登录修改密码

-n mindays: 指定最短使用期限

-x maxdays:最大使用期限

-w warndays:提前多少天开始警告

-i inactivedays:非活动期限

–stdin:从标准输入接收用户密码(可以批量创建用户的密码)

echo “PASSWORD” | passwd –stdin USERNAME

Linux用户和组的主要配置文件及其相关命令

 

 

groupadd -g gid groupname 创建指定gid的组

Linux用户和组的主要配置文件及其相关命令

 -r groupname 创建系统组

 

groupmod

-n newgrpname oldgrpname  修改组名

Linux用户和组的主要配置文件及其相关命令

-g newgid groupname 修改gid

Linux用户和组的主要配置文件及其相关命令

 

groupdel groupname 删除组

 

 

 

 

 

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

(0)
fumingfuming
上一篇 2017-07-22
下一篇 2017-07-22

相关推荐

  • Linux-第一周作业

    1.计算机组成及其功能 计算机主要分为三部分: A、输入单元:包括键盘、鼠标、扫描仪、手写板、触摸屏等。 B、中央处理器(CPU):含有算术逻辑、控制、记忆等单元。 C、输出单元:例如屏幕、打印机等。 我们通过输入设备(如鼠标与键盘)来将一些数据输入到PC里面,然后再由PC的功能处理成为图表或文章等信息后,将结果传输到输出设备,如屏幕或打印机上面,这是计算机…

    Linux干货 2016-07-07
  • 来两道百度的shell开胃菜

    1、写脚本实现,可以用shell、perl等。在目录/tmp下找到100个以abc开头的文件,然后把这些文件的第一行保存到文件new中。 方法1: #!/bin/sh for files in `find /tmp -type f -name "abc*"|h…

    Linux干货 2016-09-19
  • first

    计算机可分为硬件(CPU ,存储器 ,输入设备 ,输出设备),软件(操作系统 ) 两大部份; CPU:Central Processing Unit 中央处理器 ,内部由运算器,控制器,寄存器,缓存器组成 ; 存储器 :(RAM:Random Access Memory 随机存储器)进行数据 暂存,断电后其内信息会丢失,如内存 ;(ROM:Read Only…

    Linux干货 2016-12-05
  • 从案例出发——命令总结之find篇

    在这篇文章中你将看到以下内容:1、find命令的格式、语法、及实际应用 2、3个时间戳的意义  3、各种文件类型的解释  4、软硬链接的区别 5、exec和xargs的区别 6、几个逻辑判断符的意义  7、通配符的意义  8、find 命令下时间查找的特殊定义 首先,来看看以下题目:   &nbsp…

    Linux干货 2016-03-25
  • Shell脚本编程之循环(for、while、until)

    Shell脚本编程之循环(for、while、until)   一、循环语句的对比: for语句 while语句 until语句 执行机制: 依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束 CONDITION:循环控制条件;进入循环之前,先做一次判断;每一次循环之后会再次做判断;条件为“true”…

    Linux干货 2016-08-18
  • Linux初识

    N22-熊宝–http://www.178linux.com/author/echeng1514 –马哥教育网络班22期–第1周课程练习   1、描述计算机的组成及其功能: 2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别: Linux有众多的发行版,都是基于不同的内核版本,做了许多改…

    Linux干货 2016-08-15