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

相关推荐

  • Shell运算符

    Bash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。 expr 是一款表达式计算工具,使用它能完成表达式的求值操作。 例如,两个数相加: #!/bin/bash val=`expr 2 + 2` echo …

    Linux干货 2017-04-18
  • btrfs文件系统——更加高级的文件系统

    Btrfs 文件系统: Btrfs ( B-tree ,Butter FS ,Better FS ) GPL ,Oracle公司在2007年研发,支持CoW(对文件快照),为了取代ext3,ext4,xfs 核心特点:          多物理卷支持:btrfs可由多个底层物理卷…

    Linux干货 2016-08-31
  • 三剑客之一sed命令

    sed sed ‘2p’ /etc/passwd  打印paswwd的第二行 这样执行结果看能看出第二行显示两次 sed -n ‘2p’ /etc/passwd -n 执行后 会取出当前行显示. n是关闭打印  例如[root@cent7 ~]#ifconfig ens33|sed -n &…

    Linux干货 2017-08-13
  • linux文本编辑器,vim编辑器

    定义:文本(纯文本信息,必须是不加任何修饰的文本信息)编辑器 文本编辑器种类:                 行文本编辑器 :sed       &…

    Linux干货 2016-08-10
  • Linux正则表达式

    正则表达式

    2017-12-24
  • Raspberry pi设置自动拨号,搭建无线路由环境

    Raspberry pi设置自动拨号,搭建无线路由环境 前言  raspberry pi(树莓派), 是一款针对电脑业余爱好者、教师、小学生以及小型企业等用户的迷你电脑,由于可以烧录Linux操作系统,因此可以衍生出各种各样的使用途径,诸如控制版,爬虫机器,个人vps,门禁系统…..本文主要介绍如何在raspberry pi上面完成pppoe拨号上…

    2017-03-28