Linux 系统管理04--账号管理
Linux系统管理04——账号管理
一、用户账号管理
1、用户账号概述
(1)用户账号的常见分类:
1>超级用户:root uid=0 gid=0 权限最大。
2>普通用户:uid>=500 做一般权限的系统管理,权限有限。(500<uid<60000)
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字段,各字段代表的含义:
·第一字段 amber:用户账号名
·第二字段 $6$I….Yi1:密文
·第三字段16793:账号上次修改时间距1970年1月1日过去多少天
·第四字段0:距上次密码修改起多少天内不能再次修改密码,单位“天”。“0” 表示随时可修改密码。
·第五字段99999:密码过期天数(密码在修改密码后多少天必须重新修改密 码。99999表示永久可以使用。)
·第六字段7:强制密码修改提醒时间(7表示在密码过期前7天开始警告)
·第七字段 空:当密码过期后经过多少天该帐号会被禁用
·第八字段 空:密码过期日期,若设置则显示为过期日期距1970年1月1 日多少天。
2、添加用户账号 useradd命令(adduser 是useradd的快捷方式)
(1)格式:useradd [选项] 用户名
(2)选项:
-u:指定uid标记号
-d:指定宿主目录,缺省默认为/home/用户名
-e:指定账号失效时间
-M:不为用户建立初始化宿主目录
-s:指定用户的登录shell
-g:指定用户的基本组名(或gid号)
-G:指定用户的附加组名(或gid号)
-c:添加备注,显示在/etc/passwd第五字段
-r:创建系统用户
(3)示例:
[root@crushlinux ~]# groupadd group1 [root@crushlinux ~]# mkdir -p /testgroup1 [root@crushlinux ~]# groupadd jiaoxue [root@crushlinux ~]# useradd -d /testgroup1/tom/ -g group1 -G jiaoxue -s /bin/bash -e -- tom (注意:创建组时,指定到上层目录即可) [root@crushlinux ~]# passwd tom
更改用户 tom 的密码 。
新的 密码:
无效的密码: WAY 过短
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@crushlinux ~]# /etc/passwd tom:x::::/testgroup1/tom/:/bin/bash [root@crushlinux ~]# /etc/shadow tom:$$oe91WmLV$11aOIhoKOYMSNUl6wnSpYJfsr1V8vfbCPPFoBN76RSjKnPECXEC1KU aBA8Utnk2qBV8uHh78U65qyr3ZQNqdx1:::::::
3、用户账号的初始配置文件
(1)文件来源:新建用户账号时,从/etc/skel/目录中复制而来
(2)主要的用户初始配置文件:
1>~/.bash_profile:每次登录时执行
2>~/.bashrc:每次进入新bash环境时执行
3>~/.bash_logout:每次退出登录时执行
(3)进行修改后查看具体作用:
[root@crushlinux ~]# 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@crushlinux ~]# 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@crushlinux ~]# vi ~tom/.bash_logout
# ~/.bash_logout
echo "byebye tom!"
保存并退出
在虚拟机中新打开tyy2端口 以tom身份登录
4、设置/更改用户口令 passwd命令
(1)格式:passwd [选项] 用户名
(2)常用选项:
-d:清空用户密码
-l:锁定用户账号
-S:查看用户账号的状态(是否被锁定)
-u:解锁用户账号
-x, --maximum=DAYS:密码的最长有效时限
-n, --minimum=DAYS:密码的最短有效时限
-w, --warning=DAYS:在密码过期前多少天开始提醒用户
-i, --inactive=DAYS:当密码过期后经过多少天该帐号会被禁用
(3)示例:
[root@crushlinux ~]# passwd -l tom
锁定用户 tom 的密码 。
passwd: 操作成功
[root@crushlinux ~]# passwd -S tom tom LK -- - (密码已被锁定。) [root@crushlinux ~]# passwd -u tom 解锁用户 tom 的密码 。 passwd: 操作成功 [root@crushlinux ~]# passwd -S tom tom PS -- - (密码已设置,使用 SHA512 加密。) [root@crushlinux ~]# passwd -d tom 清除用户的密码 tom。 passwd: 操作成功
5、修改用户属性 usermod命令
(1)格式:usermod [选项] … 用户名
(2)常用选项:
-l:更改用户账号的登录名字
-c:修改用户备注
-L:锁定用户账号
-U:解锁用户账户
以下选项与useradd命令中的含义相同:-u、-d、-e、-s、-c
(3)示例:
[root@crushlinux ~]# usermod -l tom1 tom [root@crushlinux ~]# /etc/passwd tom1:x::::/testgroup1/tom/:/bin/bash [root@crushlinux ~]# usermod -c jiaoxue tom1 [root@crushlinux ~]# /etc/passwd tom1:x:::jiaoxue:/testgroup1/tom/:/bin/bash [root@crushlinux ~]# usermod -s /sbin/nologin user1 [root@crushlinux ~]# /etc/passwd user1:x::::/home/user1:/sbin/nologin chsh 命令: [root@crushlinux ~]# usermod -s /bin/bash user1 [root@crushlinux ~]# /etc/passwd user1:x::::/home/user1:/bin/bash [root@crushlinux ~]# chsh user1 Changing shell for user1. New shell [/bin/bash]: /sbin/nologin Shell changed. [root@crushlinux ~]# /etc/passwd user1:x::::/home/user1:/sbin/nologin
6、删除用户账号 userdel命令
(1)格式:userdel 用户名
(2)常用选项:
-r:删除用户的同时删除用户的宿主目录
(3)示例:
[root@crushlinux ~]# userdel -r tom1 [root@crushlinux ~]# ls /testgroup1/
二、组账号管理
1、组长号概述
(1)组账号分类:
基本组(私有组)
附加组(公共组)
(2)GID:组标识号
(3)组账号文件
1> /etc/group:保存组账号基本信息
2> /etc/gshadow:保存组账号的密码信息(较少使用)
2、添加组账号 groupadd命令
(1)格式:groupadd [-g GID] 组账号名
(2)常用选项:
-g GID
(3)示例:
[root@crushlinux ~]# /etc/group amber:x:: group1:x:: jiaoxue:x:: [root@crushlinux ~]# groupadd -g market [root@crushlinux ~]# /etc/group amber:x:: group1:x:: jiaoxue:x:: market:x::
3、设置组账号密码(极少用),添加、删除组成员 gpasswd命令
(1)格式:gpasswd [选项] … 组账号名
(2)常用选项:
-a:向组内添加一个用户
-d:从组内删除一个用户成员
-M:定义组成员列表,以逗号分隔
(3)示例:
[root@crushlinux ~]# useradd test1 [root@crushlinux ~]# useradd test2 [root@crushlinux ~]# useradd test3 [root@crushlinux ~]# gpasswd -a test1 market Adding user test1 to group market [root@crushlinux ~]# /etc/group market:x::test1 test1:x:: test2:x:: test3:x:: [root@crushlinux ~]# gpasswd -d test1 market Removing user test1 from group market [root@crushlinux ~]# /etc/group market:x:: test1:x:: test2:x:: test3:x:: [root@crushlinux ~]# gpasswd -M test1,test2,test3 market [root@crushlinux ~]# /etc/group market:x::test1,test2,test3 test1:x:: test2:x:: test3:x:: [root@crushlinux ~]# gpasswd -M test1 market [root@crushlinux ~]# /etc/group market:x::test1 test1:x:: test2:x:: test3:x::
4)增加或删除组成员,也可用vi编辑器对/etc/group文件直接编译修
market:x::test1:test2:test3
4、删除组账号 groupdel命令
(1)格式:groupdel 组账号名
(2)示例:
[root@crushlinux ~]# groupdel market [root@crushlinux ~]# /etc/group group1:x:: jiaoxue:x:: test1:x:: test2:x:: test3:x::
三、查询命令——id、groups、finger、w、whoami、who
1、id命令
(1)作用:查询用户身份标识
(2)格式:id [用户名]
(3)示例:
[root@crushlinux ~]# id amber uid=(amber) gid=(amber) 组=(amber) [root@crushlinux ~]# id uid=(root) gid=(root) 组=(root)
2、groups命令
(1)作用:查询客户所属的组
(2)格式:groups [用户名]
(3)示例:
[root@crushlinux ~]# groups amber amber : amber [root@crushlinux ~]# groups root
3、finger命令(需安装,安装过程详见“Linux系统管理03”)
(1)作用:查询账号的详细信息
(2)格式:finger [用户名]
(3)示例:
[root@crushlinux ~]# finger amber Login: amber Name: Directory: /home/amber Shell: /bin/bash Last : (CST) on tty2 No mail. No Plan. [root@crushlinux ~]# finger Login Name Tty Idle Login Time Office Office Phone root root tty1 : Dec : (:) root root pts/ : Dec : (:0.0) root root pts/ Dec : (192.168.1.106
4、w命令
(1)作用:查询已登录到主机的用户信息
(2)示例:
[root@crushlinux ~]# w :: up :, users, load average: 0.00, 0.00, 0.00 (1分钟 5分钟 15分钟系统负载均值。数值不能长期超过cpu核数,否则需要重新安装系统) USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 : : :21m .78s .78s /usr/bin/Xorg : -nr -verbose -audit -auth /var/run/gdm/auth-for-g root pts/ :: :19m .02s .02s /bin/bash root pts/ : .00s .53s .02s w
5、whoami
(1)作用:查询当前登录的账号名
(2)示例:
[root@crushlinux ~]# whoami root
6、who
(1)作用:与w命令类似,查询查询已登录到主机的用户
(2)示例:[root@crushlinux ~]# who
root tty1 -- : (:) root pts/ -- : (:0.0) root pts/ -- : (192.168.1.106)
Linux 系统管理04--账号管理的更多相关文章
- Linux 系统管理06--磁盘管理
Linux系统管理06——磁盘管理 一.磁盘结构 1.硬盘的物理结构 盘片:硬盘有多个盘片,每个盘片2面 磁头:每面一个磁头 2.硬盘的数据结构 扇区:盘片被分为多个扇形区域,每个扇形区存放512字节 ...
- 【Linux学习】Linux系统管理1—进程管理
Linux系统管理1-进程管理 一.Linux的三种进程 Linux包括3中不同类型的进程: 交互进程:由一个shell启动的进程.交互进程可以在前后台运行 批处理进程:该进程和终端无联系,是一个进程 ...
- Linux学习,账号管理与权限管理
linux系统本来不认识账号,只是通过UID(用户ID)和GID(所属组ID)来区分账号属性的.而这对应的目录如下: UID ===> /etc/passwd GID ===> /etc/ ...
- Linux系统管理之硬盘管理
硬盘是计算的重要组成部件之一,硬盘为操作系统提供持久话存储的功能,在Linux硬盘设备的性能和好坏可能关系到生成线的安全和用户体验等等.熟练的掌握硬盘管理相关的信息能让我们处理起这些问题来得心应手. ...
- Linux系统管理_软件管理
RPM命令 #管理.rpm文件 #RPM包软件命名规则:name-version-releases.arch.rpm rpm -ivh pkgname #安装软件包 rpm -ivh --test p ...
- Linux系统管理_磁盘管理——敬请期待!!!
df 显示磁盘空间使用情况 -a 全部文件系统列表 -h 以方便阅读的方式显示 -T 列出文件系统类型 du 查看目录和文件的磁盘空间使用情况 -a 显示目录中所有文件大小 -h 以易读方式显示文件大 ...
- Linux系统管理_用户管理
cat /etc/passwd #账户文件 cat /etc/shadow #密码文件 cat /etc/login.defs #密码策略机UID定义文件 #普通用户UID范围1000~60000:系 ...
- Linux基础学习(13)--Linux系统管理
第十三章——Linux系统管理 一.进程管理 1.进程查看: (1)进程简介:进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源. (2)进程管理的 ...
- Linux 系统管理——账号管理
一.用户账号管理 1.用户账户概述 用户账户的常见分类: 超级用户:root uid=0 gid=0 权限最大 普通用户:uid>=500 做一般权限的系统管理,权限有限. 程序用户:1 ...
随机推荐
- python学习笔记(一)元组tuple
元组由简单的对象组构成,元组与列表相似,但是元组不能在原处修改.元组位置有序的对象集合,元组通过偏移来访问. 为什么有了列表还要元组?元组的不变性提供了某种完整性,可以确保元组在程序中不被另一个引用修 ...
- Struts2学习笔记⑧
今天是Struts2学习笔记的最后一篇文章了.用什么做结尾呢,这两天其实还学了很多东西,没有记录下,今天就查漏补缺一下. 文件上传与下载.FreeMarker以及昨天没做完的例子 文件上传与下载 文件 ...
- node.js爬虫爬取拉勾网职位信息
简介 用node.js写了一个简单的小爬虫,用来爬取拉勾网上的招聘信息,共爬取了北京.上海.广州.深圳.杭州.西安.成都7个城市的数据,分别以前端.PHP.java.c++.python.Androi ...
- ios8指纹识别
简介 苹果从iPhone5S开始,具有指纹识别技术,从iOS8.0之后苹果允许第三方 App 使用 Touch ID进行身份验证.指纹识别Touch ID提供3+2共5次指纹识别机会(3次识别失败后, ...
- java解析上传的excel
file是一个File,是一个excel文件 得到文件流:InputStream in = file.getInputStream() 需要引入的类 import jxl.Cell;import j ...
- 蓝牙DA14580开发:固件格式、二次引导和烧写
嵌入式企鹅圈原创团队成员黄鑫提供. 相比NRF52832和CC254X,蓝牙单芯片DA14580在OTA和二次引导上要复杂一些,不仅体现在memory map.引导过程等流程上,而且在固件格式.生成和 ...
- 在python&numpy中切片(slice)
在python&numpy中切片(slice) 上文说到了,词频的统计在数据挖掘中使用的频率很高,而切片的操作同样是如此.在从文本文件或数据库中读取数据后,需要对数据进行预处理的操作.此时就 ...
- Alamofire源码解读系列(七)之网络监控(NetworkReachabilityManager)
Alamofire源码解读系列(七)之网络监控(NetworkReachabilityManager) 本篇主要讲解iOS开发中的网络监控 前言 在开发中,有时候我们需要获取这些信息: 手机是否联网 ...
- JVM中GC浅解:垃圾回收的了解
1.为什么要有GC 没有GC的世界,我们需要手动进行内存管理,但是内存管理是纯技术活,又容易出错.但是我们写码的目的是为了解决业务问题,所以可以把这种纯技术活自动化,当然自动化也是有代价的. 2.垃圾 ...
- C++枚举类型详解
原创作品,转载请注明来源:http://www.cnblogs.com/shrimp-can/p/5171110.html 一.枚举类型的定义 enum 类型名 {枚举值表}: 类型名是变量名,指定 ...