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--账号管理的更多相关文章

  1. Linux 系统管理06--磁盘管理

    Linux系统管理06——磁盘管理 一.磁盘结构 1.硬盘的物理结构 盘片:硬盘有多个盘片,每个盘片2面 磁头:每面一个磁头 2.硬盘的数据结构 扇区:盘片被分为多个扇形区域,每个扇形区存放512字节 ...

  2. 【Linux学习】Linux系统管理1—进程管理

    Linux系统管理1-进程管理 一.Linux的三种进程 Linux包括3中不同类型的进程: 交互进程:由一个shell启动的进程.交互进程可以在前后台运行 批处理进程:该进程和终端无联系,是一个进程 ...

  3. Linux学习,账号管理与权限管理

    linux系统本来不认识账号,只是通过UID(用户ID)和GID(所属组ID)来区分账号属性的.而这对应的目录如下: UID ===> /etc/passwd GID ===> /etc/ ...

  4. Linux系统管理之硬盘管理

    硬盘是计算的重要组成部件之一,硬盘为操作系统提供持久话存储的功能,在Linux硬盘设备的性能和好坏可能关系到生成线的安全和用户体验等等.熟练的掌握硬盘管理相关的信息能让我们处理起这些问题来得心应手. ...

  5. Linux系统管理_软件管理

    RPM命令 #管理.rpm文件 #RPM包软件命名规则:name-version-releases.arch.rpm rpm -ivh pkgname #安装软件包 rpm -ivh --test p ...

  6. Linux系统管理_磁盘管理——敬请期待!!!

    df 显示磁盘空间使用情况 -a 全部文件系统列表 -h 以方便阅读的方式显示 -T 列出文件系统类型 du 查看目录和文件的磁盘空间使用情况 -a 显示目录中所有文件大小 -h 以易读方式显示文件大 ...

  7. Linux系统管理_用户管理

    cat /etc/passwd #账户文件 cat /etc/shadow #密码文件 cat /etc/login.defs #密码策略机UID定义文件 #普通用户UID范围1000~60000:系 ...

  8. Linux基础学习(13)--Linux系统管理

    第十三章——Linux系统管理 一.进程管理 1.进程查看: (1)进程简介:进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源. (2)进程管理的 ...

  9. Linux 系统管理——账号管理

    一.用户账号管理 1.用户账户概述 用户账户的常见分类: 超级用户:root  uid=0  gid=0  权限最大 普通用户:uid>=500  做一般权限的系统管理,权限有限. 程序用户:1 ...

随机推荐

  1. Objective-C日记-之类别Category

    类别Category 1,概述 为现有类添加新的方法,这些新方法的Objective-C的术语为“类别”. 2,用法 a,声明类别 @interface NSString(NumberConvenie ...

  2. 有关html,css,js,less的使用规范

    写前端写久了,规则跟着开发的项目走,突然觉得是不是该总结总结前端的语言使用规则,看到下面这篇还不错,就直接链接过来了哦 http://zhibimo.com/read/Ashu/front-end-s ...

  3. 手把手教你怎么搭建angular+gulp的项目(一)

    大多时候,我们要学习一个新东西,不是不肯去学,而是不知道该如何开始.比如学angular,我要怎么开始学?怎么应用到自己项目中?这篇文章就是我根据自己边学习边应用,构建一个项目的切身体会,来讲下怎么开 ...

  4. Git-最简单的本地项目变成版本仓库,然后把内容推送到GitHub仓库

    (注:本文的前提是本地Git仓库和github仓库之间已经存在SSH key了,所以如果没有建立联系的小伙伴们请先建立联系) 具体操作: 一:把本地项目变成版本仓库 1.把本地的一个项目目录编程版本库 ...

  5. 【WCF】错误处理(二):错误码―—FaultCode

    先来说说SOAP消息中错误消息的包装结构,一条SOAP错误消息的大致形式如下: <s:Fault> <faultcode xmlns:a="me-cust-error&qu ...

  6. iOS网络编程笔记——GCDAsyncSocket使用

    CocoaAsyncSocket为Mac和iOS提供了易于使用且强大的异步通信库. 简单的Socket通信包括了建连.断开连接.发送socket业务请求.重连这四个基本功能. 1.建立连接:GCDAs ...

  7. Python中的日期和时间

    感觉C语言作为一门编程的入门语言还是很好的,相比较之下,Python为代表的一些语言,适合很多非计算机专业的编程入门学习. Python 日期和时间 Python 程序能用很多方式处理日期和时间,转换 ...

  8. UI自动化测试表单重要代码

    public class frame { public static void main(String[] args) { // TODO Auto-generated method stub Sys ...

  9. C++枚举类型详解

    原创作品,转载请注明来源:http://www.cnblogs.com/shrimp-can/p/5171110.html  一.枚举类型的定义 enum 类型名 {枚举值表}: 类型名是变量名,指定 ...

  10. HTTP协议(四)

    第一步:新建一个header.php页 <?php header('Location:http://www.baidu.com');//默认是302重定向 ?> 第二步:分析 如何制定重定 ...