Linux用户和用户组管理

Linux用户和用户组管理

参考网站:https://www.runoob.com/linux/linux-user-manage.html

注意:以下命令由于权限问题,常在前面加sudo提高权限。

添加一个账户

useradd 选项 用户名
useradd –d  /home/sam -m sam #没有-d参数,则创建的用户无家目录
useradd  -m username  #在/home/目录下创建用户username

选项:

​ -c comment 指定一段注释性描述。
​ -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。不指明默认: / home/username
​ -g 用户组 指定用户所属的用户组。默认加入同名组。
​ -G 用户组,用户组 指定用户所属的附加组。
​ -s Shell文件 指定用户的登录Shell。如/sbin/nologin
​ -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。选项可并列。

删除账号

userdel 选项 用户名
userdel -r sam  #无-r参数则,无法删除用户的主目录。

常用的选项是 -r,它的作用是把用户的主目录一起删除

修改账号

usermod 选项 用户名
usermod -s /bin/ksh -d /home/z –g developer sam
将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer

选项:-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新值。-l 改成新用户名。

用户口令(用户密码)的管理

用户账号刚刚建立时,无口令,但被系统锁定,无法使用。必须为其指定口令才可以使用,即使是空口令。超级用户可以为自己和他人设定口令,普通用户只能修改自己的口令。

passwd 选项 用户名
passwd sam //修改sam密码
passwd -S sam //查看sam的密码信息
  • -l 锁定口令,即禁用账号,使其无法登录。
  • -u 口令解锁。
  • -d 使账号无口令。删除用户密码。
  • p-f 强迫用户下次登录时修改口令。

如果默认用户名,则修改当前用户的口令。只用passwd也是修改当前用户的密码。

Linux系统用户组的管理

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。用户组管理包含:用户组的增加,删除和修改,实际操作对象时/etc/group文件。

增加一个新的用户组

groupadd 选项 用户组名称
  • -g GID 指定新用户组的组标识号(GID)。
  • -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

删除一个已有的用户组

groupdel 用户组名称
groupdel group1

修改用户组的属性

groupmod 选项 用户组名称
groupmod -g 102 group2
将组group2的组标识号修改为102。
groupmod –g 10000 -n group3 group2
将组group2的标识号改为10000,组名修改为group3。//选项可并列

选项

  • -g GID 为用户组指定新的组标识号。
  • -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
  • -n 将用户组的名字改为新名字

用户在用户组之间的切换(一个用户可以同时属于多个用户组,为了获得其他用户组的权限)

与用户账号有关的系统文件

用户管理实际上是对系统文件进行修改。与用户和用户相关的的信息都存放在系统文件中,它们包含:/etc/passwd,/etc/shadow,/etc/group等。

/etc/passwd文件用户管理时最重要

该文件记录了每个用户的基本属性,且可读。

每行记录的格式如下:

用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
字段名称说明
用户名不超过8字符,冒号不允许,点不好。
口令大多linux系统使用了shadow技术,把加密后的明文存在/etc/shadow文件中。所以显示为一个字符x或*
用户标识符是一个整数。若几个用户名对应同一个用户标识符,系统内部将他们看作同一个用户,但他们可以由不同口令,主目录,登录shell。0是超级用户root的表示,linux中,1500是系统管理账号,50065535是普通用户的标识符。
组标识号记录用户所属的用户组,它对应着/etc/group文件中的一条记录。
注释性描述记录用户个人情况,如真实姓名,电话,住址等。无用。
主目录是用户在登录到系统之后所处的目录。(注意:用户创建文件时,必须在主目录下面)
登录shellShell是用户与Linux系统之间的接口,shell有多种,默认用sh做登录shell,即该字段为:/bin/sh。用户的登录shell可以是某个特定的程序,据此,可以限制用户只能运行特定的程序,程序运行结束时,用户就退出了系统。

/etc/group存放用户组的所有信息

组和用户是多对多的关系。用户属于多个组时,此文件记录用户所属的主组(登录时所属的默认组),其他组称附加组。用户切换到附加组用newgrp命令。

该文件记录的格式:

组名:口令:组标识号:组内用户列表
口令指该组口令。linux默认没有。为空,或者为x,*。组标识用于系统内部组的识别。

添加批量用户

添加单个用户用useradd,但添加大量用户不方便。

方法如下:

  1. 先编辑一个文本用户文件。

    文本文件(user.txt)每行格式与/etc/passwd 格式一样。但每行中,用户名,UID,主目录不可一样。口令可空。如:

    user001::600:100:user:/home/user001:/bin/bash
    user002::601:100:user:/home/user002:/bin/bash
    user003::602:100:user:/home/user003:/bin/bash
    user004::603:100:user:/home/user004:/bin/bash
    user005::604:100:user:/home/user005:/bin/bash
    user006::605:100:user:/home/user006:/bin/bash
    

2.以root身份执行命令newusers。从建立的文件中导入数据,创建用户。

sudo su  //切换到root身份
newusers < user.txt  //导入数据,创建新用户。用cat /etc/passwd 查看是否创建成功

3.执行命令pwunconv(非root身份)

4.编辑用户密码文件(passwd.txt)

格式为:

用户名:密码

例如:

user001:123456
user002:123456
user003:123456
user004:123456
user005:123456
user006:123456

5.以root身份运行chpasswd命令

chpasswd < passwd.txt

6.确定密码经编码写入/etc/passwd中后。执行pwconv命令。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值