Linux用户和组相关知道小结

用户和组主要配置文件相关的参数,以及这些文件管理常用的命令。有很多的不足的地方。望大家指导。

 

Linux用户和组

 

用户必须属于一个且只有一个主组
组名同用户名,且仅包含一个用户,私有组

用户的附加组(supplementary group)
一个用户可以属于零个或多个辅助组
eg:
[root@centos7 ~]#id postfix
uid=89(postfix) gid=89(postfix) groups=89(postfix),12(mail)

gid 主组 groups 附加组

一个用户必须属于唯一主组有且只有一个附加组可以零个或多个辅助组

 

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

一 、/etc/passwd:用户及其属性信息(名称、UID、主组ID等)

name:password:UID:GID:GECOS:directory:shelllogin

name:登录用名(qm)
passwd:密码(x)
UID:用户身份编号(1000)
GID:登录默认所在组编号(1000)
GECOS:用户全名或注释
home directory:用户主目录(/home/qm)
shell:用户默认使用shell (/bin/bash)

eg:
qm:x:1000:1000:qinming,opt,110,119:/home/qm:/bin/bash

 

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

cat /etc/shadow & getent shadow 用户名.. 可以直接查看一个或者多个用户密码及其属性信息.

格式–

login name登录名:
encrypted password加密密码:
date of last password change最后一次密码更改的日期(1970.1.1.算起):
minimum password age密码最短有效期:
maximum password age密码最长有效期:
password warning period密码警告期:
password inactivity period密码不活跃期:
account expiration date账户有效期:
reserved field保留字段

eg:

mage:$6$pxHtORUQ$dTI7w.WhG8PeJTeNEmY9g2MVPOUoAjGOtoMgVvboVI7PprhMO/EYQsv7pr2b2TPLCQTjqzyNGWgBBi5dDpZxI1:17485:0:99999:7:::

 

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

组名称:就是群组名称

组密码:通常不需要设定,密码是被记录在/etc/gshadow

GID:就是组的ID

把当前组当做附助组的用户成员列表(分隔符为逗号)

eg:

qm:x:1000:qm,root,mage(附助组的成员)

 

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

组名称:就是群组名称

组密码:

管理员列表:组管理员的列表,更改组密码和成员信息

以当前组为附加组的用户列表:(分隔符为逗号)

eg:

root:::gentoo,qm

 

 

常用用户和组管理的命令

useradd[options] LOGIN

-u UID
useradd -u 1234 tom

-o 配合-u 选项,不检查UID的唯一性
useradd -u 1234 -o jerry

-g GID:指明用户所属基本组,可为组名,也可以GID
useradd -g opt zrt
ex:[root@centos7 ~]#useradd -g opt zrt
[root@centos7 ~]#id zrt
uid=1235(zrt) gid=1005(opt) groups=1005(opt)

-c “COMMENT”:用户的注释信息
useradd -c yeliangchen ylc

-d HOME_DIR:以指定的路径(不存在)为家目录
useradd -c yeliangchen ylc

-s SHELL: 指明用户的默认shell程序
可用列表在/etc/shells文件中

-G GROUP1[,GROUP2,…]:为用户指明附加组,组须事先存在

-N 不创建私用组做主组,使用users组做主组
[root@centos7 ~]#useradd -N lyh
[root@centos7 ~]#id lyh
uid=1239(lyh) gid=100(users) groups=100(users)

-r: 创建系统用户CentOS 6: ID<500,CentOS 7: ID<1000
不自动创建家目录

eg:
[root@centos7 ~]#useradd -r mysql
[root@centos7 ~]#id mysql
uid=990(mysql) gid=985(mysql) groups=985(mysql)
[root@centos7 ~]#getent passwd mysql
mysql:x:990:985::/home/mysql:/bin/bash
[root@centos7 ~]#ll /home
total 4
drwx——. 3 gentoo gentoo 78 Nov 15 15:03 gentoo
drwx——. 5 tom jerry 107 Nov 16 16:48 jerry
drwx——. 3 li li 78 Nov 15 14:08 li
drwx——. 3 lyh users 78 Nov 16 17:04 lyh
drwx——. 5 mage mage 128 Nov 16 16:13 mage
drwx——. 14 qm qm 4096 Nov 16 16:04 qm
drwx——. 5 tom tom 107 Nov 16 16:48 tom
drwx——. 3 ylc ylc 78 Nov 16 16:58 ylc
drwx——. 3 zrt opt 78 Nov 16 16:51 zrt

 

-m 创建家目录,用于系统用户
eg:
[root@centos7 ~]#useradd -r -m -d /app/apache apache
[root@centos7 ~]#ll /app
total 72
-rw-r–r–. 1 root root 0 Nov 14 10:55 a
-rw-r–r–. 1 root root 119 Nov 14 17:10 all.log
drwx——. 3 apache apache 78 Nov 16 17:10 apache

-M 不创建家目录,用于非系统用户
[root@centos7 ~]#useradd -M lqd
[root@centos7 ~]#ls /home
gentoo hadoop jerry leijun li lyh mage qm tom ylc zrt

useradd常用的方法:
useradd -r -m -d /app/zabbix -s /sbin/nologin zabbix

默认值设定:/etc/default/useradd文件中

显示或更改默认设置
useradd-D

useradd–D -s SHELL

useradd–D –b BASE_DIR

useradd–D –g GROUP

eg:
[root@centos7 home]#useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@centos7 home]#useradd -D -s /sbin/nologin
[root@centos7 home]#useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/sbin/nologin
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

usermod[OPTION] login

-u UID: 新UID
eg:
useradd -u 1002 newli

-g GID: 新主组
eg:
[root@centos7 home]#usermod -g admins jerry
[root@centos7 home]#id jerry
uid=1234(jerry) gid=1003(admins) groups=1003(admins)

-G GROUP1[,GROUP2,…[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项
eg:
[root@centos7 home]#usermod -G bin jerry
[root@centos7 home]#id jerry
uid=1234(jerry) gid=1003(admins) groups=1003(admins),1(bin)
[root@centos7 home]#usermod -aG qm,mage jerry
[root@centos7 home]#id jerry
uid=1234(jerry) gid=1003(admins) groups=1003(admins),1(bin),1000(qm),1004(mage)
[root@centos7 home]#usermod -G qm,mage jerry
[root@centos7 home]#id jerry
uid=1234(jerry) gid=1003(admins) groups=1003(admins),1000(qm),1004(mage)
[root@centos7 home]#usermod -G “” jerry
[root@centos7 home]#id jerry
uid=1234(jerry) gid=1003(admins) groups=1003(admins)
[root@centos7 home]#usermod -G qm,mage jerry
[root@centos7 home]#id jerry
uid=1234(jerry) gid=1003(admins) groups=1003(admins),1000(qm),1004(mage)
[root@centos7 home]#usermod -G admins jerry
[root@centos7 home]#id jerry
uid=1234(jerry) gid=1003(admins) groups=1003(admins)

-s SHELL:新的默认SHELL

-c ‘COMMENT’:新的注释信息

-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项
eg:
[root@centos7 home]#usermod -d /app/magehome -m mage
[root@centos7 home]#ls /app/magehome/ -a
. .bash_history .bash_profile .cache magefile
.. .bash_logout .bashrc .config .mozilla

-l login_name: 新的名字;
eg:
[root@centos7 home]#usermod -l newharry harry
[root@centos7 home]#id newharry
uid=1247(newharry) gid=1248(harry) groups=1248(harry),1003(admins)
[root@centos7 home]#getent passwd newharry
newharry:x:1247:1248::/home/harry:/bin/bash

-L: lock指定用户,在/etc/shadow 密码栏的增加!

-U: unlock指定用户,将/etc/shadow 密码栏的! 拿掉

-e YYYY-MM-DD: 指明用户账号过期日期

-f INACTIVE: 设定非活动期限

 

 

id [OPTION]… [USER]

-u: 显示UID
-g: 显示GID
-G: 显示用户所属的组的ID
-n: 显示名称,需配合ugG使用
eg:
[root@centos7 home]#id qm
uid=1000(qm) gid=1000(qm) groups=1000(qm),0(root),1004(mage),1005(opt)
[root@centos7 home]#id -g qm
1000
[root@centos7 home]#id -gn qm
qm
[root@centos7 home]#usermod -g admins mage
[root@centos7 home]#id -gn mage
admins
[root@centos7 home]#id -g mage
1003

 

passwd用法:
passwd[OPTIONS] UserName: 修改指定用户的密码,仅root用户权限
passwd: 修改自己的密码
常用选项:
-l:锁定指定用户

-u:解锁指定用户

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

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

-x maxdays:最大使用期限

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

-iinactivedays:非活动期限

–stdin:从标准输入接收用户密码
echo “PASSWORD” | passwd–stdinUSERNAME

ex:
[root@centos7 ~]#echo 123456|passwd –stdin mage
Changing password for user mage.
passwd: all authentication tokens updated successfully.
[root@centos7 ~]#echo 123456|passwd –stdin mage &> /dev/null

chage[OPTION]… LOGIN
-d LAST_DAY

-E –expiredateEXPIRE_DATE

-I –inactive INACTIVE

-m –mindaysMIN_DAYS

-M –maxdaysMAX_DAYS

-W –warndaysWARN_DAYS

–l 显示密码策略
eg:
chage-d 0 qm 下一次登录强制重设密码

chage-m 0 –M 42 –W 14 –I 7 tom

chage-E 2016-09-10 tom

 

groupadd[OPTION]… group_name

-g GID: 指明GID号;[GID_MIN, GID_MAX]

-r: 创建系统组
CentOS 6: ID<500
CentOS 7: ID<1000

 

组属性修改:groupmod

groupmod[OPTION]… group

-n group_name: 新名字

-g GID: 新的GID

 

组删除:groupdel

groupdelGROUP

一个组属于某个主组,除非把组从主组里面去掉。否则不能删除。
eg:
[root@centos7 ~]#groupadd -r -g sysadmins
[root@centos7 ~]#groupdel sysadmins
[root@centos7 ~]#groupdel qm
groupdel: cannot remove the primary group of user ‘qm’

 

 

 

groupmems[options] [action]
options:
-g, –group groupname更改为指定组(只有root)

Actions:
-a, –add username 指定用户加入组

-d, –delete username 从组中删除用户

-p, –purge 从组中清除所有成员

-l, –list 显示组成员列表

groups [OPTION].[USERNAME]… 查看用户所属组列表

eg:[root@centos7 ~]#groups mage
mage : mage opt dev

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88611

(1)
菜鸟入江湖菜鸟入江湖
上一篇 2017-11-18 19:54
下一篇 2017-11-19 15:13

相关推荐

  • FHS文件系统各目录功能

    FHS       Filesystem Hierarchy Standard(文件系统目录标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。下为…

    Linux干货 2016-10-16
  • n28-第四周

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 答:install 复制文件并设置属性 -d, –directory:复制所有参数为目录名 -m, –mode=MODE:设置文件属性,相当于chmod # install -d -m u=rwx /e…

    Linux干货 2017-12-24
  • centos 6系统启动流程分析

    linux 系统启动流程: 之前有描述过linux的启动流程,但还有许多模糊的地方,经过一段时间了学习,查资料,看脚本,比初次理解更深,可以将上次模糊或不足的地方描述得比较清楚一些。 先看一张启动流程图。   分析: linux系统的启动流程大概可以分为两大部分: 第一部分为内核空间的启动 第二部分为用户空间的启动 其中,内核空间的启动主要可为分四…

    2017-05-15
  • AIX下NFS共享导致命令行输入卡住

     1、事件描述:之前公司测试某厂商存储一体机的NFS共享功能,将该NFS目录共享给AIX主机使用(用于备份对应对应的数据库,因为数据库版本太老,Oracle8i的,不支持存储厂商的备份代理),测试完成后,厂商将设备直接关机(这时候在AIX上挂载的NFS目录没有进行卸载)。然后,当我们登陆到AIX服务器上的时候,发现每次敲入“df -g”或者“ls”…

    Linux干货 2016-07-07
  • 制作epel源

    在linux的使用过程中,ISO镜像的rpm包并不是十分的齐全。这个时候就需要去epel源去下载安装rpm包安装。这里简单的描述下epel源的配置方法。仅供参考。 1.关闭SELinuxsed -i.bak ‘s/SELINUX=enforcing/SELINUX=permissive/’ /etc/selinux/config se…

    2017-12-18
  • linux 基础目录配置及用途说明

    bin -> usr/bin 一般存放root和一般用户都可以使用的指令例如:cat, chmod, chown, date, mv, mkdir, cp, bash 等等常用的指令,同时还存放着单人维护模式下还能够被使用的指令。 boot  这个目录主要放置开机会使用到的文件,包括linux核心文件以及开机选单和开机所需要的配置文件。 de…

    Linux干货 2017-08-19