当前位置: 首页 > news >正文

Linux 系统管理4——账号管理

一、用户账号管理

1、用户账号概述

(1)用户账号的常见分类:
1>超级用户:root uid=0 gid=0 权限最大。
2>普通用户:uid>=500 做一般权限的系统管理,权限有限。
3>程序用户:1=<uid<500 为了提升系统安全性,为了支持所对应服务对系统资源的使用,不能用于登录系统或管理系统。
(2)UID:用户标识
(3)用户账号文件
1> /etc/passwd

  • 作用:保存用户名称、宿主目录、登录 Shell 等基本信息,每一行对应一个用户的账号记录。
  • 共 7 各字段,各字段代表含义:
  • 第一字段 amber:用户账号名
  • 第二字段 x:密码占位符
  • 第三字段 500:uid 编号
  • 第四字段 500:gid 编号
  • 第五字段 空:用户备注
  • 第六字段 /home/amber:用户宿主目录
  • 第七字段 /bin/bash:登录的 shell(若为/sbin/nologin 则不能登录)
  • 2> /etc/shadow
  • 作用: 保存用户的密码、账号有效期等信息,每一行对应一个用户的密码记录。
  • 共 9 字段,目前只启用前 7 字段,各字段代表的含义:

image.png

  • 第一字段 amber:用户账号名
  • 第二字段 6 6 6I….Yi1:密文
  • 第三字段16793:账号上次修改时间距1970年1月1日过去多少天
  • 第四字段0:距上次密码修改起多少天内不能再次修改密码,单位“天”。“0”表示随时可修改密码。
  • 第五字段99999:密码过期天数(密码在修改密码后多少天必须重新修改密码。99999表示永久可以使用。)
  • 第六字段7:强制密码修改提醒时间(7表示在密码过期前7天开始警告)
  • 第七字段空:当密码过期后经过多少天该帐号会被禁用
  • 第八字段空:密码过期日期,若设置则显示为过期日期距1970年1月1日多少天。

2、添加用户账号 useradd 命令
(1)格式:useradd [选项] 用户名
(2)选项:
-u:指定 uid 标记号
-d:指定宿主目录,缺省默认为/home/用户名
-e:指定账号失效时间
-M:不为用户建立初始化宿主目录
-s:指定用户的登录 shell
-g:指定用户的基本组名(或 gid 号)
-G:指定用户的附加组名(或 gid 号)
-c:添加备注,显示在/etc/passwd 第五字段
)示例:

[root@www ~]# groupadd group1 
[root@www ~]# mkdir -p /testgroup1 
[root@www ~]# groupadd jiaoxue 
[root@www ~]# useradd -d /testgroup1/tom/ -g group1 -G jiaoxue -s /bin/bash -e
2016-01-01 tom 
[root@www ~]# passwd tom 
更改用户 tom 的密码 。 
新的 密码: 
无效的密码: WAY 过短 
无效的密码: 过于简单 
重新输入新的 密码: 
passwd: 所有的身份验证令牌已经成功更新。 
[root@www ~]# tail -1 /etc/passwd 
tom:x:501:501::/testgroup1/tom/:/bin/bash 
[root@www ~]# tail -1 /etc/shadow 
tom:$6$oe91WmLV$11aOIhoKOYMSNUl6wnSpYJfsr1V8vfbCPPFoBN76RSjKnPECXEC1KU 
aBA8Utnk2qBV8uHh78U65qyr3ZQNqdx1:16798:0:99999:7::16801: 
3、用户账号的初始配置文件 

(1)文件来源:新建用户账号时,从/etc/skel/目录中复制而来
(2)主要的用户初始配置文件:
1>~/.bash_profile:每次登录时执行
2>~/.bashrc:每次进入新 bash 环境时执行
3>~/.bash_logout:每次退出登录时执行
(3)进行修改后查看具体作用:

[root@www ~]# vi ~tom/.bash_profile 
# .bash_profile
# Get the aliases and functions 
if [ -f ~/.bashrc ]; then . ~/.bashrc 
fi 
# User specific environment and startup programs 
PATH=$PATH:$HOME/bin 
export PATH 
echo "welcome tom!" 【增加此内容】 
保存并退出 
[root@www ~]# vi ~tom/.bashrc 
# .bashrc 
# Source global definitions 
if [ -f /etc/bashrc ]; then . /etc/bashrc 
fi 
# User specific aliases and functions 
echo "hi!this is a new bash!" 【增加此内容】 
保存并退出 
[root@www ~]# vi ~tom/.bash_logout 
# ~/.bash_logout 
echo "byebye tom!" 
sleep 3 
保存并退出

在虚拟机中新打开 tyy2 端口 以 tom 身份登录
image.png
4、设置/更改用户口令 passwd 命令
(1)格式:passwd [选项] 用户名
(2)常用选项:
-d:清空用户密码
-l:锁定用户账号
-S:查看用户账号的状态(是否被锁定)
-u:解锁用户账号
-x, --maximum=DAYS:密码的最长有效时限
-n, --minimum=DAYS:密码的最短有效时限
-w, --warning=DAYS:在密码过期前多少天开始提醒用户
-i, --inactive=DAYS:当密码过期后经过多少天该帐号会被禁用
(3)示例:

[root@www ~]# passwd -l tom 
锁定用户 tom 的密码 。 passwd: 操作成功 
[root@www ~]# passwd -S tom 
tom LK 2015-12-29 0 99999 7 -1 (密码已被锁定。) 
[root@www ~]# passwd -u tom 
解锁用户 tom 的密码 。 passwd: 操作成功 
[root@www ~]# passwd -S tom 
tom PS 2015-12-29 0 99999 7 -1 (密码已设置,使用 SHA512 加密。) 
[root@www ~]# passwd -d tom 
清除用户的密码 tom。 passwd: 操作成功

image.png
5、修改用户属性 usermod 命令
(1)格式:usermod [选项] … 用户名
(2)常用选项:
-l:更改用户账号的登录名字
-c:修改用户备注
-L:锁定用户账号
-U:解锁用户账户
以下选项与 useradd 命令中的含义相同:-u、-d、-e、-s、-c
(3)示例:

[root@www ~]# usermod -l tom1 tom 
[root@www ~]# tail -1 /etc/passwd
tom1:x:501:501::/testgroup1/tom/:/bin/bash 
[root@www ~]# usermod -c jiaoxue tom1 
[root@www ~]# tail -1 /etc/passwd 
tom1:x:501:501:jiaoxue:/testgroup1/tom/:/bin/bash

6、删除用户账号 userdel 命令
(1)格式:userdel 用户名
(2)常用选项:
-r:删除用户的同时删除用户的宿主目录
(3)示例:

[root@www ~]# userdel -r tom1[root@www ~]# ls /testgroup1/

二、组账号管理

1、组长号概述
(1)组账号分类:
基本组(私有组)
附加组(公共组)
(2)GID:组标识号
(3)组账号文件
1> /etc/group:保存组账号基本信息
2> /etc/gshadow:保存组账号的密码信息(较少使用)
2、添加组账号 groupadd 命令
(1)格式:groupadd [-g GID] 组账号名
(2)常用选项:
-g GID
(3)示例:

[root@www ~]# tail -3 /etc/groupamber:x:500:group1:x:501:jiaoxue:x:502:[root@www ~]# groupadd -g 888 market[root@www ~]# tail -4 /etc/groupamber:x:500:group1:x:501:jiaoxue:x:502:market:x:888:

3、设置组账号密码(极少用),添加、删除组成员 gpasswd 命令
(1)格式:gpasswd [选项] … 组账号名
(2)常用选项:
-a:向组内添加一个用户
-d:从组内删除一个用户成员
-M:定义组成员列表,以逗号分隔
(3)示例:

[root@www ~]# useradd test1[root@www ~]# useradd test2[root@www ~]# useradd test3[root@www ~]# gpasswd -a test1 marketAdding user test1 to group market[root@www ~]# tail -4 /etc/groupmarket:x:888:test1test1:x:889:test2:x:890:test3:x:503:[root@www ~]# gpasswd -d test1 marketRemoving user test1 from group market[root@www ~]# tail -4 /etc/groupmarket:x:888:test1:x:889:test2:x:890:test3:x:503:[root@www ~]# gpasswd -M test1,test2,test3 market[root@www ~]# tail -4 /etc/groupmarket:x:888:test1,test2,test3test1:x:889:test2:x:890:test3:x:503:[root@www ~]# gpasswd -M test1 market[root@www ~]# tail -4 /etc/groupmarket:x:888:test1test1:x:889:test2:x:890:test3:x:503:

(4)增加或删除组成员,也可用 vi 编辑器对/etc/group 文件直接编译修改
·示例:
image.png
在test1后面添加“,test2,test3”,保存退出
image.png
image.png
4、删除组账号 groupdel 命令

三、查询命令——id、groups、finger、w、whoami、who

1、id

[root@www ~]# groupdel market 
[root@www ~]# tail -5 /etc/group 
group1:x:501: 
jiaoxue:x:502: 
test1:x:889: 
test2:x:890: 

(1)格式:groupdel 组账号名
(2)示例:
test3❌503:
命令
(1)作用:查询用户身份标识
(2)格式:id [用户名]
(3)示例:

[root@www ~]# id amber 
uid=500(amber) gid=500(amber)=500(amber) 
[root@www ~]# id 
uid=0(root) gid=0(root)=0(root) 

2、groups 命令
(1)作用:查询客户所属的组
(2)格式:groups [用户名]
(3)示例:

[root@www ~]# groups amber 
amber : amber 
[root@www ~]# groups 
root 

3、finger 命令(需安装,安装过程详见“Linux 系统管理 03”)
(1)作用:查询账号的详细信息
(2)格式:finger [用户名]
(3)示例:

[root@www ~]# finger amberLogin: amber Name: Directory: /home/amber Shell: /bin/bashLast login 四 1224 17:02 (CST) on tty2No mail.No Plan.[root@www ~]# fingerLogin Name Tty Idle Login Time Office Office Phoneroot root tty1 2:16 Dec 29 15:04 (:0)root root pts/0 2:14 Dec 29 15:04 (:0.0)root root pts/1 Dec 29 15:05 (192.168.1.106

4、w 命令
(1)作用:查询已登录到主机的用户信息
(2)示例:

[root@www ~]# w17:25:12 up 2:21, 3 users, load average: 0.00, 0.00, 0.00USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATroot tty1 :0 15:04 2:21m 9.78s 9.78s /usr/bin/Xorg :0 -nr -verbose -audit 4 -auth /var/run/gdm/auth-for-g root pts/0 :0.0 15:04 2:19m 0.02s 0.02s /bin/bashroot pts/1 192.168.1.106 15:05 0.00s 1.53s 0.02s w

5、whoami
(1)作用:查询当前登录的账号名
(2)示例:

[root@www ~]# whoamiroot

6、who
(1)作用:与 w 命令类似,查询查询已登录到主机的用户
(2)示例:

[root@www ~]# whoroot tty1 2015-12-29 15:04 (:0)root pts/0 2015-12-29 15:04 (:0.0)root pts/1 2015-12-29 15:05 (192.168.1.106)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • MySQL篇-SQL优化实战
  • vulnhub--IMF
  • 【AI原理解析】—支持向量机原理
  • requests 发送一个 json 格式的 post 请求
  • Node.js实现一个文章生成器
  • YOLOv8改进 | 注意力机制 | 结合静态和动态上下文信息的注意力机制
  • 2024年6月份找工作和面试总结
  • RabbitMQ 更改服务端口号
  • 力扣1895.最大的幻方
  • 51单片机嵌入式开发:3、STC89C52操作8八段式数码管原理
  • NativeMemoryTracking查看java内存信息
  • udp发送数据如果超过1个mtu时,抓包所遇到的问题记录说明
  • 9 redis,memcached,nginx网络组件
  • 单/多线程--协程--异步爬虫
  • 洛谷 P2141 [NOIP2014 普及组] 珠心算测验
  • angular学习第一篇-----环境搭建
  • CSS 提示工具(Tooltip)
  • E-HPC支持多队列管理和自动伸缩
  • go语言学习初探(一)
  • Java的Interrupt与线程中断
  • Java精华积累:初学者都应该搞懂的问题
  • Java知识点总结(JavaIO-打印流)
  • JWT究竟是什么呢?
  • mac修复ab及siege安装
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • Redis中的lru算法实现
  • select2 取值 遍历 设置默认值
  • 翻译--Thinking in React
  • 讲清楚之javascript作用域
  • 模型微调
  • 网络应用优化——时延与带宽
  • 学习笔记TF060:图像语音结合,看图说话
  • 一道面试题引发的“血案”
  • Android开发者必备:推荐一款助力开发的开源APP
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • ​Python 3 新特性:类型注解
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #APPINVENTOR学习记录
  • (AngularJS)Angular 控制器之间通信初探
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET开发不可不知、不可不用的辅助类(一)
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .net中调用windows performance记录性能信息
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • @EnableConfigurationProperties注解使用
  • [④ADRV902x]: Digital Filter Configuration(发射端)
  • [5] CUDA线程调用与存储器架构