linux 用户和组管理相关的命令

用户管理

useradd建立用户帐号

语  法:useradd  [options]   LOGIN

参  数:-u UID: [UID_MIN, UID_MAX]定义在/etc/login.defs

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

-g GID:指明用户所属基本组,可为组名,也可以GID

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

-c "COMMENT":用户的注释信息

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

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

-m  自动建立用户的登入目录。

-M  不要自动建立用户的登入目录。

-N 不创建私用组做主组,使用users组做主组

-r: 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000例如:创建testuser uid 1234,主组:bin,辅助组:root,ftp,shell:/bin/csh home:/testdir/testuser

[root@qzx ~]# useradd testuser -u 1234 -g bin -G root,ftp -s /bin/csh -d /testdir/testuser

[root@qzx ~]# getent passwd testuser

testuser:x:1234:1::/testdir/testuser:/bin/csh

[root@qzx ~]# groups testuser

testuser : bin root ftp

补充

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

显示或更改默认设置:/etc/default/useradduseradd -D

useradd –D -s SHELL类型[root@qzx ~]# useradd -D

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

CREATE_MAIL_SPOOL=yes

其中SKEL 家目录中的文件来源 模板文件夹

创建新的用户就会自动copy中的内容

系统账号的家目录和邮箱不会自动创建

usermod修改用户参数的各项设定

用  法:usermod [选项] 登录

参  数:-u UID: 新UID

-g GID: 新基本组

-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append;

-s SHELL:新的默认SHELL;

-c 'COMMENT':新的注释信息;

-d HOME: 新家目录不会自动创建,原家目录中的文件不会同时移动至新的家目录;若要创建新家目录并移动原家数据,同时使用-m选项

-l login_name: 新的名字;

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

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

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

-f INACTIVE: 设定非活动期限

补充:默认新创建的用户不设密码时密码栏为"!!"例如:修改testuser uid:4321,主组:root,辅助组:nobody,loginname:test,home:/home/test 家数据迁移[root@qzx ~]# usermod testuser -u 4321 -g root -G nobody,loginname,test -md /home/test

[root@qzx ~]# getent passwd testuser

testuser:x:4321:0::/home/test:/bin/csh

[root@qzx ~]# groups testuser

testuser : root nobody loginname test

userdel删除用户

选  项-r: 删除用户家目录;

用户组管理

groupadd创建用户组

语法:groupadd [OPTION]... group_name

选项:-g GID: 指明GID号;[GID_MIN, GID_MAX](默认上一个ID号加 1)

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

CentOS 7: ID<1000

groupmod修改用户组

语  法:groupmod [OPTION]... group

选  项:-n group_name: 新名字

-g GID: 新的GID

groupdel删除组

用  法:groupdel 组名

groupmems 更改组成员

语法:groupmems [options] [action]

选项:-g, --group groupname 更改为指定组 (只有root)

第二选项

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

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

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

-l, --list 显示组成员列表添加用户hello至qzx组

[root@qzx ~]# groupmems -g qzx -a hello

[root@qzx ~]# groups hello

hello : hello qzx

从qzx组中指定删除hello用户

[root@qzx ~]# groupmems -g qzx -d hello

[root@qzx ~]# groups hello

hello : hello

显示组中其他成员列表

[root@qzx ~]# groupmems -l -g qzx

hello

groups 查看用户所属的组列表

用法:groups 用户名[oracle@gl ~]$ groups oracle

oracle : oinstall dba oper asmadmin

newgrp 临时切换基本组

如果用户本不属于此组,则需要组密码一般组没有组密码的话就不能切换[qzx@localhost ~]$ touch qzxss

[qzx@localhost ~]$ ll

总用量 4

-rw-rw-r--. 1 qzx qzx 121 7月  28 19:43 help.test

-rw-rw-r--. 1 qzx qzx   0 8月   2 11:01 qzxss

[qzx@localhost ~]$ newgrp gentoo

密码:

[qzx@localhost ~]$ touch qazxs

[qzx@localhost ~]$ ll

总用量 4

-rw-rw-r--. 1 qzx qzx    121 7月  28 19:43 help.test

-rw-r--r--. 1 qzx gentoo   0 8月   2 11:01 qazxs

-rw-rw-r--. 1 qzx qzx      0 8月   2 11:01 qzxss

密码管理

passwd设置密码

一般用法:

passwd [OPTIONS] UserName: 修改指定用户的密码,仅root用户

passwd: 修改自己的密码

常用选项:-l:锁定指定用户

-u:解锁指定用户

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

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

-x maxdays:最大使用期限

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

-i inactivedays:非活动期限;

--stdin:从标准输入接收用户密码;echo "PASSWORD" | passwd --stdin USERNAME

passwd和group的编写与检查

编写时验证vipw和vigr

编写后验证pwck和grpck

chage 修改用户密码策略

语法:chage [OPTION]... LOGIN

选项:-d LAST_DAY

-E, --expiredate EXPIRE_DATE

-I, --inactive INACTIVE

-m, --mindays MIN_DAYS

-M, --maxdays MAX_DAYS

-W, --warndays WARN_DAYS

–l,显示密码策略下一次登录强制重设密码

hage -d 0 tom

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

chage -E 2016-09-10 tom

gpasswd更改用户的组密码

语法:gpasswd [OPTION] GROUP

选项:-a user: 将user添加至指定组中;

-d user: 从指定组中移除用户user

-A user1,user2,...: 设置有管理权限的用户列表

另外个常用命令 getent 和 id

gentent 用法

getent [passwd,shadow group gshadow] 用户或组名

用来提取/etc下passwd,shadow group gshadow中对应用户或组的那一行!![root@qzx ~]# getent group qzx

qzx:x:500:hello

[root@qzx ~]# getent passwd hello

hello:x:4322:4322::/home/hello:/bin/bash

id 查看用户相关的ID信息

选项:-u: UID 查看用户的UID

-g: GID 查看用户的基本组id

-G: Groups 查看用户的所有属组id

-n: Name直接 id 用户名查看用户的相关信息

[root@localhost ~]# id qzx

uid=1000(qzx) gid=1000(qzx) 组=1000(qzx),1(bin),4001(gentoo)

查看qzx用户的所有属组ID

[root@localhost ~]# id -G qzx

1000 1 4001

批量创建用户

newuserspasswd格式文件

批量创建用户

cat p.txt | chpasswd

批量修改用户口令

用户相关的其它命令finger 命令格式:

finger [-lmsp] [user ...] [user@host ...]

说明:

描述

The finger 显示关于系统用户的信息

参数:

-s Finger 显示用户的登录名, 真名, 终端名 以及写状态(如果写被禁止,在终端名后显示一个``*''), 空闲时间,登录时间,办公地点和电话等。

登录时间显示为月,天,小时和分钟,如果是超过6个月以前,则显示年份,而不是小时和分钟。

不明设备以及不存在的空闲时间和登录时间显示为一个星号。

-l 产生一个多行显示来描述信息 -s 关于用户家目录,家庭电话,登录脚本, 邮件状态和文件的内容 .plan'' 和.project'' 和.forward'' 从用户的家目录. 11位数字电话号码显示为+N-NNN-NNN-NNNN''. 十位或七位数字可以显示为它的子集。五位数字电话号码显示为xN-NNNN''. 四位数字电话号码显示为xNNNN''.

如果对设备写被禁止, 短语(messages off)'' 被附加在有此设备的行后边. 每一个用户有一个条目,用 -l 选项; 如果一个用户多次登录, 终端信息按每次登录重复显示。 如果什么邮件都没有,邮件信息显示为No Mail.'', 如果当新邮件来后,已经查看过信箱,为Mail last read DDD MMM ## HH:MM YYYY (TZ)'' 如果有新邮件,则为New mail received ...'',Unread since ...'' -p 防止 finger -l 选项显示.plan''和.project'' 文件的内容。 -m 防止 user 名字的匹配. User 通常是一个登录名; 可是, 也会对用户的真实名字进行匹配, 除非提供 -m 选项. 所有由 finger 进行的名字匹配是区分大小写的 不指定 finger 的选项如果提供操作者的话,缺省设为 -l 输出风格,否则为 -s风格. 注意在两种格式中,如果信息不足,都有一些域可能丢失,如果没有指定参数 finger 会为当前登录的每个用户打印一个条目. Finger 可以用来查看远地机器上的用户信息格式是指定 user 为user@host'',或 ``@host'', 前者的缺省输出为 -l 风格, 后者的缺省输出为 -s 风格. -l 是唯一的向远地机器传递的选项.

这里引用了http://blog.sina.com.cn/s/blog_7acf472901011m33.html[root@localhost ~]# finger qzx

Login: qzx                        Name: qzx

Directory: /home/qzx                    Shell: /bin/bash

Office: qqqwqq, 123456789        Home Phone: 987654321

Last login 二 8月  2 10:56 (CST) on pts/1

New mail received 四 7月 28 19:30 2016 (CST)

Unread since 三 7月 20 00:52 2016 (CST)

No Plan.

其他一些切换信息

chvt

chsh:切换用户的默认shell

chfn:指定个人信息[root@localhost ~]# chfn qzx

Changing finger information for qzx.

名称 [qzx]: qzx

办公 []: qqqwqq

办公电话 []: 123456789

住宅电话 []: 987654321

在linux中关于组的命令,linux 用户和组管理相关的命令相关推荐

  1. 简要说明linux系统FHS结构;用自己的理解总结 文件管理,用户管理,组用户,权限管理相关的命令

    1.Linux的文件系统层级结构(FHS) 其定义了在Linux系统中的目录结构和目录内容,即让用户了解到已安装软件通常放在哪个目录下.FHS采用属性结构组织文件,定义了系统中每个区域的用途以及所需要 ...

  2. linux实验报告用户管理,Linux实验报告-用命令实现用户和组的管理

    河南师范大学综合性 设计性实验项目简介河南师范大学综合性 设计性实验项目简介 学院名称 公章 学院名称 公章 软件学院软件学院 学年学年 20142014 20152015 第第 1 1 学期学期 填 ...

  3. 实验报告 LINUX组管理,Linux实验报告-用命令实现用户和组的管理.doc

    河南师范大学综合性.设计性实验项目简介 学院名称(公章): 软件学院 学年 2014 - 2015 第 1 学期 填表日期: 2014 年 10 月 29 日 实验课程名称 Linux操作系统 实验项 ...

  4. Linux中文件复制、删除、移动、压缩、解压命令

    Linux中文件复制.删除.移动.压缩.解压命令 复制 cp命令 命令:cp [-adfiprl]源文件或目录 目标文件或目录 说明:将指定源文件或目录复制到目标文件或目录 [选项]: -a 该选项通 ...

  5. centos sudo不能运行_如何在 Linux 中配置 sudo 访问权限 | Linux 中国

    Linux 系统中 root 用户拥有 Linux 中全部控制权力.Linux 系统中 root 是拥有最高权力的用户,可以在系统中实施任意的行为.-- Magesh Maruthamuthu Lin ...

  6. 19. linux中权限详解,Linux权限位,读写执行权限真正含义,chmod详解

    linux中权限详解,Linux权限位,读写执行权限真正含义,chmod详解 文章目录 Linux权限位 读写执行 三种权限真正含义和作用 权限对文件的作用 权限对目录的作用 示例 chmod 使用数 ...

  7. Linux的实际操作:用户管理(查ls -ahl,chown改文件所属者,chgrp改文件所属组,usermod改用户所属组)

    在Linux中的每个用户必须属于一个组,不能独立于组外 在Linux中每个文件的所属者.所属组.其它组的概念 例如有一个文件是user1创建的,那么这个文件的所属者就是user1,这个文件在默认情况下 ...

  8. linux 查看ip_如何在 Linux 中查看可用的网络接口 | Linux 中国

    对于某些人来说,他们更偏爱在安装完系统后再进行网络的配置或者更改现存的设置.众所周知,为了在命令行中进行网络设定的配置,我们首先必须知道系统中有多少个可用的网络接口.-- Sk 在我们安装完一个 Li ...

  9. linux用户日志在哪里看,Linux用户登录记录日志和相关查看命令汇总

    # 1 utmp.wtmp.btmp文件 Linux用户登录信息放在三个文件中: 1 /var/run/utmp:记录当前正在登录系统的用户信息,默认由who和w记录当前登录用户的信息,uptime记 ...

最新文章

  1. 从零开始学ASP.NET(基础篇)
  2. IDEA HDFS客户端准备
  3. 百度无人驾驶出租长沙开测:Apollo技术一汽红旗车队,年内服役
  4. 【渗透测试】一次授权的渗透测试——建议收藏
  5. Alluxio 助力 Kubernetes,加速云端深度学习
  6. ap协议java_AP计算机科学A:Java编程类和对象
  7. http --- 网关、隧道、中继
  8. 【Pytorch神经网络实战案例】04 使用Pytorch实现线性回归
  9. 查看网卡命令 uefi_大神教你开机进入UEFI模式的方法,非常简单
  10. react实现的点击拖拽元素效果
  11. python十大实例_Python练习实例100例(从简入难)96-100
  12. .NET 工具生成引擎概述
  13. shell 中的expect 用法
  14. 每天一道剑指offer-顺时针打印矩阵
  15. 一文62页PPT读懂中国供应链金融
  16. 欢乐颂 c语言编程代码,欢乐颂
  17. 别让生气毁了你的生活(深度好文)
  18. 丝滑!CVPR 2021 视频插帧论文+开源代码汇总
  19. Python画樱花树代码和小猪佩奇
  20. Tomcat部署到idea

热门文章

  1. 李炎恢的课程中心(JQUERY视频)
  2. PHP应用memcache函数详解
  3. visual fortran常用数值算法集_资深游戏数值策划自白:数值不是你想象的那么简单!...
  4. 接种新冠疫苗到实现完全免疫最快需要35天
  5. Ubuntu18.04卸载显卡driver历险记
  6. AndroidLinux gdb用法
  7. Binder内存拷贝的本质和变迁
  8. 目标检测工具安装使用--labelImg
  9. 目标检测相关概念:IOU,precision, recall, AP, mAP
  10. python seaborn_Python数据分析之Seaborn(回归分析绘图)