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

                 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

    [[email protected] ~]# useradd testuser -u 1234 -g bin -G root,ftp -s /bin/csh -d /testdir/testuser
    [[email protected] ~]# getent passwd testuser
    testuser:x:1234:1::/testdir/testuser:/bin/csh
    [[email protected] ~]# groups testuser
    testuser : bin root ftp

补充
默认值设定:/etc/default/useradd文件中
显示或更改默认设置:

/etc/default/useradd
useradd -D 
useradd –D -s SHELL类型

[[email protected] ~]# 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 家数据迁移

    [[email protected] ~]# usermod testuser -u 4321 -g root -G nobody,loginname,test -md /home/test 
    [[email protected] ~]# getent passwd testuser
    testuser:x:4321:0::/home/test:/bin/csh
    [[email protected] ~]# 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组
[[email protected] ~]# groupmems -g qzx -a hello
[[email protected] ~]# groups hello
hello : hello qzx

从qzx组中指定删除hello用户
[[email protected] ~]# groupmems -g qzx -d hello 
[[email protected] ~]# groups hello
hello : hello

显示组中其他成员列表
[[email protected] ~]# groupmems -l -g qzx
hello

groups 查看用户所属的组列表

用法:groups 用户名

[[email protected] ~]$ groups oracle
oracle : oinstall dba oper asmadmin

newgrp 临时切换基本组

如果用户本不属于此组,则需要组密码一般组没有组密码的话就不能切换

    [[email protected] ~]$ touch qzxss
    [[email protected] ~]$ 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
    [[email protected] ~]$ newgrp gentoo
    密码:
    [[email protected] ~]$ touch qazxs
    [[email protected] ~]$ 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中对应用户或组的那一行!!

[[email protected] ~]# getent group qzx
qzx:x:500:hello
[[email protected] ~]# 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 用户名查看用户的相关信息
      [[email protected] ~]# id qzx
      uid=1000(qzx) gid=1000(qzx) 组=1000(qzx),1(bin),4001(gentoo)
    
      查看qzx用户的所有属组ID
      [[email protected] ~]# id -G qzx
      1000 1 4001

批量创建用户

newusers  passwd格式文件
批量创建用户
cat p.txt | chpasswd
批量修改用户口令

用户相关的其它命令

finger 命令格式:
finger [-lmsp] [user ...] [[email protected] ...]
说明:
描述
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 为[email protected]‘‘,或 ``@host‘‘, 前者的缺省输出为 -l 风格, 后者的缺省输出为 -s 风格. -l 是唯一的向远地机器传递的选项.
这里引用了http://blog.sina.com.cn/s/blog_7acf472901011m33.html

    [[email protected] ~]# 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:指定个人信息

[[email protected] ~]# chfn qzx
Changing finger information for qzx.
名称 [qzx]: qzx
办公 []: qqqwqq
办公电话 []: 123456789
住宅电话 []: 987654321
时间: 2024-10-05 04:28:04

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

Linux用户和组管理,查看软件缓存,通过命令查看硬件信息(cpu,版本,序列号,内存,主板,内核等)

 通过修改/etc/inittab.通过这个文件修改系统的启动方式. ls –l /etc/ | more   (管道),将前面的结果交给后面的命令进行处理. 在linux中遇到问题使用man命令. 查找文件信息并将文件存储到一个制定的文件中. ls –la > "a.txt" 创建组名: 创建组: 查看Linux中所有组的信息:cat /etc/group | more 其中root:x:0 root:表示组名,x:表示加密后的权限声明,0:表示root组的id号. 7创建

linux 用户和组管理命令

Linux 用户和组管理 组管理 groupadd命令:添加组 groupadd 选项 group_name -g GID :指定GID;默认是上一个组的GIDS+1 -r 创建系统组: groupmod命令修改组属性 groupmod 选项 GROUP -g 修改GID -n 修改组名 groupdel:删除组 groupdel 组名 用户管理 useradd命令 选项 登录名 -u,--uid:指定UID; -g,--gid GROUP:指定基本组ID,此组得事先存在: -G,--group

5、linux用户和组管理详解

linux用户和组管理 类Unix系统的设计初衷就是为让多用户同时工作,所以也迫使Linux系统有了极强的安全性,在前面安装红帽RHEL7操作系统时还特别要求"设置root用户密码",而root用户是存在于所有类UNIX系统中的"超级用户". 用户管理 root账户介绍(超级管理员) root用户拥有极高的系统所有权,能够管理系统的各项功能,如添加/删除用户,启动/关闭进程,开启/禁用硬件设备等权限.虽然使用root用户工作时不会受到权限的控制,但老话讲"

Linux用户与组管理(一)

Linux用户与组管理(一) 简介Linux用户与组 useradd usermod userdel groupadd groupmod groupdel 环境:CentOS 6.8 简介Linux用户与组 Linux系统在静态视角下,无非就是由诸多文件组成的一个"文件系统":从动态视角来看,无非就是一个在内核支配之下的一个"文件系统".这两种角度是有些区别的:动态角度下,内核是独立的,内核负责管控文件系统,而在静态角度下,连内核本身也是文件系统下的一个文件而已.故

Linux用户和组管理类命令

1. 列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可.命令:who | cut -d ' ' -f1|uniq 2. 取出最后登录到当前系统的用户的相关信息.命令:who | tail -1 |cut -d '' -f1 |id 3. 取出当前系统上被用户当作默认shell的最多的那个shell.命令:cut -d: -f7 /etc/passwd |uniq -c |sort -n |tail -n1 4. 将/etc/passwd中的第三个字段数值最大的

linux用户和组管理

在Linux系统上,用户管理是基于用户名和密码的方式进行资源的分配,Linux上的用户分为以下类别: 管理员:root UID 0 普通用户:1-65535 系统用户:1-999 对守护进程获取资源进行权限分配 登录用户:1000+ 通过交互式方式登录 组group 管理员组;root GID 0 普通组:1-65535,普通组又分为: 系统组:1-999 一般组:1000+,而一般组分为: 基本组:也叫私有组,创建用户时,如果没有指定其所属的组,系统自动为期创建一个与用户同名的组,用户必须属于

2015年08月25日作业-Linux用户和组管理

用户.组的相关配置文件: 在Linux系统中,用户账号信息.用户密码.组账号信息.组密码都保存在不同的配置文件中 /etc/passwd  文件的格式,每行包含的信息: account:password:UID:GID:GECOS:directory:shell 用户名:密码占位符:UID:GUID(基本组ID):用户备注信息(多个以,隔开):家目录:默认shell /etc/shadow文件的格式,每行包含的信息: UserName:加密的密码:最近一次密码修改时间:最短使用期限:最长使用期限

Linux 用户、组管理

用户.组管理命令 整理 安全上下文 进程安全上下文 进程对文件访问权限应用模型 进程的属主与文件的属主是否相同,如果相同则运行属主权限 进程的属主与文件的属主不相同,对比属组权限是否相同,相同则应用属组权限 进程的属主既不是文件的属主也不是同一属组,则应用其他人权限 概念 用户 用户,计算机的使用者,每个使用者有一个id,但是计算机更容易识别数字,所以Linux有uid一说.为了方便人进行管理使用,引用了用户名,用户名就像人类的名字,uid就像身份证号.但是Linux不允许重名,即使uid不同也

Linux用户和组管理整理

本节介绍Linux用户和组相关的配置文件,用户账号管理.查询用户信息以及切换用户的相关命令,将会让我们更了解各配置文件中各个字段的含义,以及各相关命令的使用方法,方便Linux运维人员管理Linux系统中的用户和组. 背景: Linux是个多用户.多任务的系统,考虑到每个人的隐私权.每个人喜好的工作环境以及每个用户所使用的权限等方面的不同,所以设定了"用户"来管理各自用户的权限. 一.用户和用户组相关的配置文件管理 /etc/passwd:用户的账号信息 /etc/group:组的账号