linux命令(15)---用户和组管理命令

计算机中用户的作用:主要实现资源分享,在分享资源同时涉及到资源安全,又新增用户密码认证,使其资源由特定权限的用户或用户组才可访问。

linux系统中用户和组分类:

用户分为:管理员用户(root)、普通用户和系统用户(对守护进程获取资源进行权限分配,也就是在系统启动时或需要启动某进程服务时需要的用户,也称为“伪用户”)

用户组分为:管理员组、普通用户组,当然在创建用户时会同时创建一个同用户名的基本组,因此伪用户也有着自己的基本组。另外用户组针对用户来说还有一个“附加组”,当然也是普通用户组

并且同时在创建用户后会生成唯一标识用户的uid号,当然用户组也是有gid,管理员uid和gid为“0",因此如果在将一个用的uid和gid改为"0"那么这用户即可提升为系统管理员。在centos6中一般uid从1-499区间表示为"系统用户",uid为500+的用户为普通用户‘。

useradd命令:create a new user or update default new user information

【功能】创建一个新的用户或更新用户原来的信息

【语法】

useradd [option] USERNAME

【常用选项】

-u: [UID_MIN,UID_MAX]  定义在/etc/login.dnfs/
-g:指定用户的基本组,可为组名,也可以是GID
-c:指定用户的属性信息
-d:指定用户的家目录,但是如果指定与用户名不同的家目录,指定时该目录应该不事先存在
-s:指定用户登录系统默认shell
-G:指定用户的附加组,不同附加组用逗号隔开即可,一个用户可以属于多个附加组,组必须事先存在
-r:创建系统用户  centos6: 1-499  centos7:1-999

【配置文件】/etc/passwd 和 /etc/shadow

/etc/passwd文件以":"做分隔符将文件每行数据分为"7"段,而每行代表一个用户信息。
root:x:0:0:root:/root:/bin/bash  这些信息分别表示:
用户名:密码占位符:uid:gid:用户资料(电话号码,年龄等):用户属主目录:用户登录系统默认shell

/etc/shadow:文件以":"做分隔符将文件每行数据分为"9"段,每行代表一个用户密码安全信息
root:$6$tlIcIKYX0qGDqZF5$QtTrzgTGF1cSp2Gf5.tWUGh7mR9JLNE32OJVcNVctD0x3Lv/YEqua8YY.En5xuEp4LiJAYdQ2i6FQahVuEynq.:16912:0:99999:7:::
1)用户名
2)加密的密码
3)上次更改密码的日期(从1970-1-1开始)
4)最短密码期限(按天计算,0 = 无最短期限)
5)最长密码期限(按天计算)
6)密码警告期限(按天计算,0 = 未指定警告)
7)密码非活动期限(按天计算)
8)账号到期时间(从1970-1-1开始)
9)保留域

【实例】useradd创建用户

[[email protected] ~]# useradd -u 505 -c "this is testuser" testuser1          
[[email protected] ~]# tail -n 1 /etc/passwd
testuser1:x:505:505:this is testuser:/home/testuser1:/bin/bash
[[email protected] ~]# tail -n 1 /etc/shadow  
testuser1:!!:16913:0:99999:7:::    //密码加密为显示为"!!"表示无法登录系统,没设置密码

usermod命令:modify a user account

【功能】修改用户基本信息,

【语法】

usermod [options] USERNAME

【常用选项】

当然可以直接改/etc/shadow文件,不建议
-e:修改用户账号有效期限
-u:修改用户uid
-g:修改用户基本组
-c:修改用户的属性信息
-d:修改用户的家目录,但是如果指定与用户名不同的家目录,指定时该目录应该不事先存在
-s:修改用户登录系统默认shell
-G:修改用户的附加组,不同附加组用逗号隔开即可,一个用户可以属于多个附加组,组必须事先存在
-l:修改用户名称,
-L:锁定用户密码,使其用户密码无效,无法登录系统
-U:解除用户密码锁定

【实例】修改用户名称、默认shell、用户属性信息

[[email protected] ~]# tail -n 2 /etc/passwd
gentoo:x:504:504:xxxxxxxxxxxxx:/home/gentoo:/bin/bash  //原来用户信息
testuser1:x:505:505:this is testuser:/home/testuser1:/bin/bash
[[email protected] ~]# usermod -s "/bin/tcsh" -l user1 -c "tell 110" testuser1
[[email protected] ~]# tail -n 2 /etc/passwd                                  
gentoo:x:504:504:xxxxxxxxxxxxx:/home/gentoo:/bin/bash
user1:x:505:505:tell 110:/home/testuser1:/bin/tcsh    //修改后用户信息

passwd命令:update user‘s authentication tokens

【功能】对用户/etc/shadow文件管理,类似usermod命令

【语法】

passwd [options] USERNAME

【常用选项】

-l:锁定用户
-u:解锁用户
-n mindays:指定用户密码最短使用期限,表示用户修改密码后 必须#天后才能再次修改密码
-x maxdays:最大使用期限,表示用户修改密码#天后必须修改密码,否则不可以登录系统
-w warndays:提前多少天前警告  表示用户密码最大期限到期的前#天提醒用户修改密码
-i inactivedays:非活动期限,表示用户还可以登录系统
-e expire:YY-MM-DD 设置密码过期期限
--stdin: 从标准输入接收用户密码
   echo "PASSWORD" | passwd --stdin USERNAME 表示echo出来的直接输入给passwd --stdin 设置USERNAME 密码,但是必须显示的
    可以使用 管道送给/dev/null    bit buckets黑洞
    于此对应的有        /dev/zero  一直吐零

【实例】为用户添加登录认证密码

//为用户添加密码方法一
[[email protected] ~]# tail -n 2 /etc/shadow
gentoo:!!:16913:0:99999:7:::   //密码加密位显示"!!"表示无密码并不可登录系统
user1:!!:16913:0:99999:7:::
[[email protected] ~]# passwd gentoo
Changing password for user gentoo.
New password:                //输入自己需要的密码即可,普通用户为自己设置密码要求复杂性
BAD PASSWORD: it is based on a dictionary word
Retype new password:         //再次输入密码,
passwd: all authentication tokens updated successfully.

//为用户设置密码方法二,并查看刚才设置密码是否成功
//不建议除非是批量新建用户时,并写脚本自动生成时,否则建议别使用,万一谁查看过你的历史命令或者是站在你后面可怎么办哦,
[[email protected] ~]# echo "[email protected]" | passwd --stdin user1  
Changing password for user user1.
passwd: all authentication tokens updated successfully.
[[email protected] ~]# tail -n 2 /etc/shadow
gentoo:$6$JQGxgi3e$XZiFTUa1lQVrCrwfHw6m4cWVJQ4ktmH7QKu8aXnsAJyNzdikosrGQxT4pMilsmVo1BDlXw0aLgQBcJJL9/sYI1:16913:0:99999:7:::
user1:$6$b5rZKPL1$3aWfNwGVPz.VWN67SZN58sHLt4.j/RPnk7C/eXGL0qFHPxwqYJTYA0p2scr6zdTi7cpfiIhqkAmRqUNFMvLZE1:16913:0:99999:7:::

userdel命令: delete a user account and related files

【功能】常用删除用户

【语法】

userdel [option] USERANME

【常用选项】

-r:表示在删除用户时,同时删除用户属主目录(小心谨慎)

【实例】在系统中删除gentoo用户并且删除gentoo的属主目录

[[email protected] ~]# ls /home
gentoo  lisi  testuser1  zhangsan   //在home目录下有gentoo的属主目录
[[email protected] ~]# tail -n 2 /etc/passwd
gentoo:x:504:504:xxxxxxxxxxxxx:/home/gentoo:/bin/bash   //gentoo的用户
user1:x:505:505:tell 110:/home/testuser1:/bin/tcsh
[[email protected] ~]# userdel -r gentoo               //删除gentoo用户并属主目录
[[email protected] ~]# !ls
ls /home
lisi  testuser1  zhangsan                         //无gentoo属主目录
[[email protected] ~]# tail -n 2 /etc/passwd         //也无gentoo用户
lisi:x:503:503::/home/lisi:/bin/bash
user1:x:505:505:tell 110:/home/testuser1:/bin/tcsh

groupadd命令:create a new group

【功能】在用户需要指定附加组时,而附加组是必须事先存在才可指定,那么在创建用户指定用户附加组之前就必须先创建"组"。

【语法】

groupadd [options] GROUPNAME

【常用选项】

-g:创建组时指定gid
-r:创建系统工作组,gid位于1-499区间

【实例】创建新组

//创建一个组名为testgroup,gid为534,
[[email protected] ~]# groupadd -g 534 testgroup
[[email protected] ~]# tail -n 2 /etc/group
test:x:555:
testgroup:x:534:

//创建默认系统工作组,gid位于1-399区间
[[email protected] ~]# groupadd -r systemgroup
[[email protected] ~]# tail -n 2 /etc/group
testgroup:x:534:
systemgroup:x:498:

gpasswd命令:administer /etc/group and /etc/gshadow

【功能】管理/etc/group,/etc/gshadow文件,当对组设置密码时,可实现当用户不属于改组的成员,可通过gpasswd设置的密码,进行组切换,操作完成退出即可,不常用

【语法】

gpasswd [options] GROUPNAME

【常用选项】

-a user: 将user添加至指定组中,附加组

-d user:删除用户user从附加组中移除

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

newgroup:临时切换组

pwck:检查用户认证信息完成性问题

【实例1】添加删除用户附加组

[[email protected] ~]# id user1
uid=505(user1) gid=505(testuser1) groups=505(testuser1)
[[email protected] ~]# gpasswd -a user1 test   //添加test组为用户user1的附加组
Adding user user1 to group test
[[email protected] ~]# id user1
uid=505(user1) gid=505(testuser1) groups=505(testuser1),555(test)
[[email protected] ~]# gpasswd -d user1 test   //移除user1的附加组test
Removing user user1 from group test
[[email protected] ~]# id user1
uid=505(user1) gid=505(testuser1) groups=505(testuser1)

groupdel命令: delete a group

【功能】删除系统中用户组

【语法】

groupdel GROUPNAME

【实例】删除系统中组

[[email protected] ~]# tail -n 2 /etc/group
testgroup:x:534:
systemgroup:x:498:
[[email protected] ~]# groupdel systemgroup
[[email protected] ~]# tail -n 2 /etc/group
test:x:555:
testgroup:x:534:

chage命令:change user password expiry information

【功能】修改用户/etc/shadow文件字段信息

【语法】

chage [options] USERNAME

【常用选项】

-d, --lastday LAST_DAY 修改最近一次修改密码时间
-E, --expiredate EXPIRE_DATE  有效时间
-I, --inactive INACTIVE  非活动期限
-m, --mindays MIN_DAYS 最小使用天数
-M, --maxdays MAX_DAYS 最大使用天数
-W, --warndays WARN_DAYS 提前警告时间

【实例】修改用户密码过期"提前警告天数"

[[email protected] ~]# tail -n 1 /etc/shadow
user1:$6$b5rZKPL1$3aWfNwGVPz.VWN67SZN58sHLt4.j/RPnk7C/eXGL0qFHPxwqYJTYA0p2scr6zdTi7cpfiIhqkAmRqUNFMvLZE1:16913:0:99999:7:::   //默认为7天
[[email protected] ~]# chage -W 6 user1
[[email protected] ~]# tail -n 1 /etc/shadow
user1:$6$b5rZKPL1$3aWfNwGVPz.VWN67SZN58sHLt4.j/RPnk7C/eXGL0qFHPxwqYJTYA0p2scr6zdTi7cpfiIhqkAmRqUNFMvLZE1:16913:0:99999:6:::  //已经修改为6天

更多详细信息:可google、百度或参与培训

时间: 2024-09-29 12:45:43

linux命令(15)---用户和组管理命令的相关文章

Linux学习笔记——用户、组管理命令及常用选项

用户管理命令: useradd  userdel usermod passwd  id finger chsh  chfn chmod chown  su 组管理命令: groupadd groupdel groupmod gpasswd   chgrp 用户类型分为:用户u:owner.组g:group.其他o:other   三种类型 文件权限包含:r  w  x  执行权限 文件与目录之间关于rwx 权限的区别 : 文件: r :可读  ,可以使用cat 等命令查看 w : 可写  ,可以

linux入门之用户和组管理类命令

在学习用户和组管理命令之前,我们首先要了解id这个基本命令,它是为了显示当前用户的身份信息,有用户就不免会牵扯到组的相关概念,那就让我们一起来看有关用户和组的相关命令. 1.id id  当前用户自身信息 语法 id   选项    参数(用户名) 选项与参数 id            用户名     显示指定用户的信息 [[email protected] ~]# id uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:u

linux文件和文件夹的筛选、查找及用户和组管理命令

1.列出当前系统上所有已经登陆的用户的用户名, 注意:同一个用户登录多次,则只显示一次即可. 查看系统用户的命令为: (1)getent passwd 查看所有系统上的所有用户信息 (2)w 查看登录用户正在使用的进程信息,该命令所使用的信息来源于/var/run/utmp文件 w命令输出的信息包括: -用户名称 -用户的机器名称或tty号 -远程主机地址 -用户登录系统的时间 -空闲时间(作用不大) -附加到tty(终端)的进程所用的时间(JCPU时间) -当前进程所用时间(PCPU时间) -

linux 查找过滤及用户和组管理命令的一些事例

列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可 ~]# who | cut -d' ' -f1 | sort | uniq 列出最后登录到当前系统的用户的相关信息. ~]# last | head -1 列出当前系统上被用户当作其默认shell的最多的那个shell. ~]# cut -d: -f7 /etc/passwd | uniq -c | sort -n | tail -1 将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大

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

Linux重定向及用户和组管理

一.bash的I/O重定向及管道 1.Linux下一般缺省的输入称之为标准输入,即键盘输入,缺省的输出称之为标准输出,即显示器输出.Linux给程序提供了三种I/O设备: 标准输入(STDIN)--0:默认接受来自键盘的输入 标准输出(STDOUT)--1:默认输出到终端窗口 标准错误(STDERR)--2:默认输出到终端窗口 I/O重定向即改变默认位置. 输出重定向常用语法: CMD > file:把STDOUT重定向到file文件中,原有文件内容会被覆盖: CMD >> file:在

Linux基础之用户和组管理

Linux用户和组管理 安装上下文: 进程以其发起者的身份运行: 进程对文件的访问权限,取决于发起此进程的用户的权限: 系统用户:为了能够让那后台进程或服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户:这类用户从不用登录系统: groupadd命令:添加组 groupadd [选项] group_name -g GID:指定GID:默认是上一个组的GID+1: -r: 创建系统组: groupmod命令:修改组属性 groupmod [选项] GROUP -g GID:修改GID:

Linux命令之用户与组管理

介绍 Linux操作系统中,任何文件都归属某一特定的用户,而任何用户都隶属至少一个用户组.用户是否有权限对某文件进行访问.读写以及执行,受到系统严格约束的正式这种清晰.严谨的用户与用户组管理系统.在很大程度上保证了Linux系统的安全. Linux账号分类 用户账号 -用来存储单一用户的数据 用户账号分为: 超级账户:拥有完全控制权,用户名通常称为root,其UID为0 普通账户 系统账户 -这种账户提供给Linux系统本身使用,UID在1-499之间 真实用户 -UID在500-4,294,9

用户和组管理命令介绍与详解

用户管理命令: useradd,userdel,usermod,passwd,chsh.chfn,finger,id,chage Useradd(建立用户) useradd [options] USERNAME               例:useradd -g mygroup user2建立一个用户user2并且指定组为mygroup -u:手动指定UID                               -u例子:useradd -u 1000 user1     -g:手动指定