linux 用户和工作组管理
linux 用户和工作组管理
参考链接:https://man.linuxde.net/id
文章目录
- linux 用户和工作组管理
- @[toc]
- 1、id命令
- 语法
- 选项
- 实例
- 2、chage命令
- 语法
- 选项
- 实例
- 3、su命令
- 语法
- 选项
- 参数
- 实例
- 4、usermod命令
- 语法
- 选项
- 参数
- 实例
- 5、passwd命令
- 语法
- 选项
- 参数
- 知识扩展
- 实例
- 6、groups命令
- 语法
- 选项
- 参数
- 实例
- 7、useradd命令
- 语法
- 选项
- 参数
- 实例
- 8、userdel命令
- 语法
- 选项
- 参数
- 实例
- 9、groupadd命令
- 语法
- 选项
- 参数
- 实例
- 10、groupdel命令
- 语法
- 参数
- 实例
- 11、finger命令
- 语法
- 选项
- 参数
- 实例
1、id命令
用户和工作组管理
id命令可以显示真实有效的用户ID(UID)和组ID(GID)。UID 是对一个用户的单一身份标识。组ID(GID)则对应多个UID。id命令已经默认预装在大多数Linux系统中。要使用它,只需要在你的控制台输入id。不带选项输入id会显示如下。结果会使用活跃用户。
当我们想知道某个用户的UID和GID时id命令是非常有用的。一些程序可能需要UID/GID来运行。id使我们更加容易地找出用户的UID以GID而不必在/etc/group
文件中搜寻。如往常一样,你可以在控制台输入man id
进入id的手册页来获取更多的详情。
语法
id [-gGnru][--help][--version][用户名称]
选项
-g或--group 显示用户所属群组的ID。
-G或--groups 显示用户所属附加群组的ID。
-n或--name 显示用户,所属群组或附加群组的名称。
-r或--real 显示实际ID。
-u或--user 显示用户ID。
-help 显示帮助。
-version 显示版本信息。
实例
[root@localhost ~]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
解释:用户root的UID号码 = 0,GID号码 = 0。用户root是下面组的成员:
- root组GID号是:0
- bin组GID号是:1
- daemon组GID号是:2
- sys组GID号是:3
- adm组GID号是:4
- disk组GID号是:6
- wheel组GID号是:10
打印用户名、UID 和该用户所属的所有组,要这么做,我们可以使用 -a 选项:
[root@localhost ~]# id -a
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
输出所有不同的组ID ,有效的,真实的和补充的,我们可以使用 -G 选项来实现:
[root@localhost ~]# id -G
0 1 2 3 4 6 10
结果只会显示GID号。你可以和/etc/group
文件比较。下面是/etc/group
文件的示例内容:
只输出有效的组ID,通过使用 -g 选项来只输出有效组ID:
[root@localhost ~]# id -g
0
输出特定用户信息,我们可以输出特定的用户信息相关的UID和GID。只需要在id命令后跟上用户名:
[root@localhost ~]# id www
uid=500(www) gid=500(www) groups=500(www)
2、chage命令
用户和工作组管理
chage命令是用来修改帐号和密码的有效期限。
语法
chage [选项] 用户名
选项
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。
-w:用户密码到期前,提前收到警告信息的天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
-d:上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
实例
可以编辑/etc/login.defs
来设定几个参数,以后设置口令默认就按照参数设定为准:
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
当然在/etc/default/useradd
可以找到如下2个参数进行设置:
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
通过修改配置文件,能对之后新建用户起作用,而目前系统已经存在的用户,则直接用chage来配置。
我的服务器root帐户密码策略信息如下:
[root@linuxde ~]# chage -l root
最近一次密码修改时间 : 3月 12, 2013
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :99999
在密码过期之前警告的天数 :7
我可以通过如下命令修改我的密码过期时间:
[root@linuxde ~]# chage -M 60 root
[root@linuxde ~]# chage -l root
最近一次密码修改时间 : 3月 12, 2013
密码过期时间 : 5月 11, 2013
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :60
在密码过期之前警告的天数 :9
然后通过如下命令设置密码失效时间:
[root@linuxde ~]# chage -I 5 root
[root@linuxde ~]# chage -l root
最近一次密码修改时间 : 3月 12, 2013
密码过期时间 : 5月 11, 2013
密码失效时间 : 5月 16, 2013
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :60
在密码过期之前警告的天数 :9
从上述命令可以看到,在密码过期后5天,密码自动失效,这个用户将无法登陆系统了。
3、su命令
用户和工作组管理
su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。
语法
su(选项)(参数)
选项
-c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份;
-f或——fast:适用于csh与tsch,使shell不用去读取启动文件;
-l或——login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;
-m,-p或--preserve-environment:变更身份时,不要变更环境变量;
-s<shell>或--shell=<shell>:指定要执行的shell;
--help:显示帮助;
--version;显示版本信息。
参数
用户:指定要切换身份的目标用户。
实例
变更帐号为root并在执行ls指令后退出变回原使用者:
su -c ls root
变更帐号为root并传入-f
选项给新执行的shell:
su root -f
变更帐号为test并改变工作目录至test的家目录:
su -test
4、usermod命令
用户和工作组管理
usermod命令用于修改用户的基本信息。usermod命令不允许你改变正在线上的使用者帐号名称。当usermod命令用来改变user id,必须确认这名user没在电脑上执行任何程序。你需手动更改使用者的crontab档。也需手动更改使用者的at工作档。采用NIS server须在server上更动相关的NIS设定。
语法
usermod(选项)(参数)
选项
-c<备注>:修改用户帐号的备注文字;
-d<登入目录>:修改用户登入时的目录;
-e<有效期限>:修改帐号的有效期限;
-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
-g<群组>:修改用户所属的群组;
-G<群组>;修改用户所属的附加群组;
-l<帐号名称>:修改用户帐号名称;
-L:锁定用户密码,使密码无效;
-s<shell>:修改用户登入后所使用的shell;
-u<uid>:修改用户ID;
-U:解除密码锁定。
参数
登录名:指定要修改信息的用户登录名。
实例
将newuser2添加到组staff中:
usermod -G staff newuser2
修改newuser的用户名为newuser1:
usermod -l newuser1 newuser
锁定账号newuser1:
usermod -L newuser1
解除对newuser1的锁定:
usermod -U newuser1
5、passwd命令
用户和工作组管理
passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。
语法
passwd(选项)(参数)
选项
-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码;
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号。
参数
用户名:需要设置密码的用户名。
知识扩展
与用户、组账户信息相关的文件
存放用户信息:
/etc/passwd
/etc/shadow
存放组信息:
/etc/group
/etc/gshadow
用户信息文件分析(每项用:
隔开)
例如:jack:X:503:504:::/home/jack/:/bin/bash
jack //用户名
X //口令、密码
503 //用户id(0代表root、普通新建用户从500开始)
504 //所在组
: //描述
/home/jack/ //用户主目录
/bin/bash //用户缺省Shell
组信息文件分析
例如:jack:$!$:???:13801:0:99999:7:*:*:
jack //组名
$!$ //被加密的口令
13801 //创建日期与今天相隔的天数
0 //口令最短位数
99999 //用户口令
7 //到7天时提醒
* //禁用天数
* //过期天数
实例
如果是普通用户执行passwd只能修改自己的密码。如果新建用户后,要为新用户创建密码,则用passwd用户名,注意要以root用户的权限来创建。
[root@localhost ~]# passwd linuxde //更改或创建linuxde用户的密码;
Changing password for user linuxde.
New UNIX password: //请输入新密码;
Retype new UNIX password: //再输入一次;
passwd: all authentication tokens updated successfully. //成功;
普通用户如果想更改自己的密码,直接运行passwd即可,比如当前操作的用户是linuxde。
[linuxde@localhost ~]$ passwd
Changing password for user linuxde. //更改linuxde用户的密码;
(current) UNIX password: //请输入当前密码;
New UNIX password: //请输入新密码;
Retype new UNIX password: //确认新密码;
passwd: all authentication tokens updated successfully. //更改成功;
比如我们让某个用户不能修改密码,可以用-l
选项来锁定:
[root@localhost ~]# passwd -l linuxde //锁定用户linuxde不能更改密码;
Locking password for user linuxde.
passwd: Success //锁定成功;[linuxde@localhost ~]# su linuxde //通过su切换到linuxde用户;
[linuxde@localhost ~]$ passwd //linuxde来更改密码;
Changing password for user linuxde.
Changing password for linuxde
(current) UNIX password: //输入linuxde的当前密码;
passwd: Authentication token manipulation error //失败,不能更改密码;
再来一例:
[root@localhost ~]# passwd -d linuxde //清除linuxde用户密码;
Removing password for user linuxde.
passwd: Success //清除成功;[root@localhost ~]# passwd -S linuxde //查询linuxde用户密码状态;
Empty password. //空密码,也就是没有密码;
注意:当我们清除一个用户的密码时,登录时就无需密码,这一点要加以注意。
6、groups命令
用户和工作组管理
groups命令在标准输入输出上输出指定用户所在组的组成员,每个用户属于/etc/passwd
中指定的一个组和在/etc/group
中指定的其他组。
语法
groups(选项)(参数)
选项
-help:显示命令的帮助信息;
--version:显示命令的版本信息。
参数
用户名:指定要打印所属工作组的用户名。
实例
显示linux用户所属的组
groups linux
linux : linux adm dialout cdrom plugdev lpadmin admin sambashare
7、useradd命令
用户和工作组管理
useradd命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd
文本文件中。
在Slackware中,adduser指令是个script程序,利用交谈的方式取得输入的用户帐号资料,然后再交由真正建立帐号的useradd命令建立新用户,如此可方便管理员建立用户帐号。在Red Hat Linux中,adduser命令则是useradd命令的符号连接,两者实际上是同一个指令。
语法
useradd(选项)(参数)
选项
-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
-d<登入目录>:指定用户登入时的启始目录;
-D:变更预设值;
-e<有效期限>:指定帐号的有效期限;
-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
-g<群组>:指定用户所属的群组;
-G<群组>:指定用户所属的附加群组;
-m:自动建立用户的登入目录;
-M:不要自动建立用户的登入目录;
-n:取消建立以用户名称为名的群组;
-r:建立系统帐号;
-s<shell>:指定用户登入后所使用的shell;
-u<uid>:指定用户id。
参数
用户名:要创建的用户名。
实例
新建用户加入组:
useradd –g sales jack –G company,employees //-g:加入主要组、-G:加入次要组
建立一个新用户账户,并设置ID:
useradd caojh -u 544
需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号。
8、userdel命令
用户和工作组管理
userdel命令用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户帐号,而不删除相关文件。
语法
userdel(选项)(参数)
选项
-f:强制删除用户,即使用户当前已登录;
-r:删除用户的同时,删除与用户相关的所有文件。
参数
用户名:要删除的用户名。
实例
userdel命令很简单,比如我们现在有个用户linuxde,其家目录位于/var
目录中,现在我们来删除这个用户:
userdel linuxde //删除用户linuxde,但不删除其家目录及文件;
userdel -r linuxde //删除用户linuxde,其家目录及文件一并删除;
请不要轻易用-r
选项;他会删除用户的同时删除用户所有的文件和目录,切记如果用户目录下有重要的文件,在删除前请备份。
其实也有最简单的办法,但这种办法有点不安全,也就是直接在/etc/passwd
中删除您想要删除用户的记录;但最好不要这样做,/etc/passwd
是极为重要的文件,可能您一不小心会操作失误。
9、groupadd命令
用户和工作组管理
groupadd命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。
语法
groupadd(选项)(参数)
选项
-g:指定新建工作组的id;
-r:创建系统工作组,系统工作组的组ID小于500;
-K:覆盖配置文件“/ect/login.defs”;
-o:允许添加组ID号不唯一的工作组。
参数
组名:指定新建工作组的组名。
实例
建立一个新组,并设置组ID加入系统:
groupadd -g 344 linuxde
此时在/etc/passwd
文件中产生一个组ID(GID)是344的项目。
10、groupdel命令
用户和工作组管理
groupdel命令用于删除指定的工作组,本命令要修改的系统文件包括/ect/group和/ect/gshadow。若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。
语法
groupdel(参数)
参数
组:要删除的工作组名。
实例
groupadd damon //创建damon工作组
groupdel damon //删除这个工作组
11、finger命令
用户和工作组管理
finger命令用于查找并显示用户信息。包括本地与远端主机的用户皆可,帐号名称没有大小写的差别。单独执行finger指令,它会显示本地主机现在所有的用户的登陆信息,包括帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话。
语法
finger(选项)(参数)
选项
-l:列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,还有计划文件和方案文件内容;
-m:排除查找用户的真实姓名;
-s:列出该用户的帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话;
-p:列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,但不显示该用户的计划文件和方案文件内容。
不指定finger的选项如果提供操作者的话,缺省设为-l
输出风格,否则为-s
风格,注意在两种格式中,如果信息不足,都有一些域可能丢失,如果没有指定参数finger会为当前登录的每个用户打印一个条目。
参数
用户名:指定要查询信息的用户。
实例
在计算机上使用finger:
[root@localhost root]# finger
login Name Tty Idle Login time Office Office Phone
root root tty1 2 Dec 18 13
root root pts/0 1 Dec 18 13
root root *pts/1 Dec 18 13
如果要查询远程机上的用户信息,需要在用户名后面接@主机名
,采用用户名@主机名
的格式,不过要查询的网络主机需要运行finger守护进程的支持。
linux 用户和工作组管理相关推荐
- 有关linux用户和用户组管理的知识详解
Linux作为多用户多任务的分时操作系统,所有要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面能帮助系统管理员对使用系统的用户进行跟踪,并控制他们 ...
- linux用户和文件目录管理
Linux用户及权限管理 用户管理 多用户多任务的操作系统 用户类型 管理员用户 root 普通用户 系统用户/程序用户 用户相关的文件: /etc/passwd 用户信息 格式: 用户名:x:UID ...
- linux的安装组和管理组的区别吗,Linux用户和组管理
Linux用户和组管理 安装上下文: 进程以其发起者的身份运行: 进程对文件的访问权限,取决于发起此进程的用户的权限: 系统用户:为了能够让那后台进程或服务类进程以非管理员的身份运行,通常需要为此创建 ...
- 在linux系统中查看组管理信息命令,Linux用户和组管理常用命令
导读 这篇文章主要介绍了 用户和组管理常见 ,总结整理了linux用户和组管理相关原理.操作 与使用注意事项,需要的朋友可以参考下. 1.用户隶属于用户组的 2.用户与用户组配置文件 1)用户组配置文 ...
- linux 用户创建、管理、权限分配
(1)su与sudo su:通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证: sudo: sudo扮 ...
- linux组的管理命令,linux 用户和组管理命令(示例代码)
Linux 用户和组管理 组管理 groupadd命令:添加组 groupadd 选项 group_name -g GID :指定GID;默认是上一个组的GIDS+1 -r 创建系统组: groupm ...
- 【Linux】Linux用户和权限管理
一.Linux用户和权限管理 用户 权限 命令 管理员用户 只有一个,UID=0的用户就是管理员用户,一般情况,默认它的用户名是root,家目录是/root root :x :0: 0: ...
- linux的用户及权限管理,Linux 用户及权限管理.doc
? ? ? ? ? ? ? ? Linux 用户及权限管理 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Linux 是一个多用户的操作系统,引入用户,可 ...
- 在linux中关于组的命令,linux 用户和组管理相关的命令
linux 用户和组管理相关的命令 用户管理 useradd建立用户帐号 语 法:useradd [options] LOGIN 参 数:-u UID: [UID_MIN, UID_MAX]定义在/e ...
最新文章
- Linux之用户相关操作
- Pandas映射(转化)dataframe中的布尔值True和False值到1和0数值、使用astype函数
- 程序员常犯的五个非技术性错误
- leetcode1386. 安排电影院座位(贪心)
- Telnet命令在Linux / Unix中的用法
- 如何在Java中获取系统属性?
- 吴恩达的21节Deeplearning.ai课程学习经验总结
- 详解java定时任务
- 半导体物理学学习资源
- 【Linux】下载暂停后如何恢复
- Oxygen XML Editor(XML编辑器)中文版
- echart 最小值_EchartJS平均线、最大值、最小值
- flash, sparkle, glow, gleam, twinkle, glitter
- 快速幂算法(全网最详细地带你从零开始一步一步优化)
- 什么是link标签?
- MacBook Air装单独win7
- 解决:SpringBoot--获取自动注入属性为空失败(注解无误情况下)
- 办理房产证,重要的三张纸
- Echarts 里的桑基图
- 科大讯飞胡郁:我所领导的超脑项目,代表了AI的未来
热门文章
- android 盒子排名,2020年电视盒子排行榜:盘点今年性能最高的五款电视盒子
- 百趣土壤非靶标代谢组学文献分享,来自Microbiome的灵感
- 这3个思路,将彻底解决90%第三方支付公司所面临的合规建设困惑!
- 30天搞定spark源码系列-RDD番外篇-shuffledRDD
- electron实现远程更新
- 短时交通预测方法总结
- 查询水果价格 (15分)
- C#中的多線程-----引自:http://www.daima.com.cn/info/234.htm
- 台湾地震震断海缆 MSN“瘫痪”修复无时间表
- antd react table扩展行(expandedRowRender,onExpand)异步记载数据再渲染问题