zoukankan      html  css  js  c++  java
  • Linux就该这么学——用户身份与能力

    初识Linux用户

    由于Linux系统是一个多用户/多任务的操作信息,具有很好的稳定性与安全性,在幕后保障Linux系统安全的则是一系列复杂的配置工作.

    用户身份的种类

    管理员UID0 : 系统的管理员用户

    系统用户UID1~999: Linux系统为了避免因某个服务程序出现漏洞而被黑客提权之整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围

    普通用户UID1000开始: 是由管理员创建的用于日常工作的用户

    注 :

    Linux系统管理员之所以是root,并不是因为它的名字叫root,而是因为该用户的身份号码即UID(User IDentification)的数值为0

    在Linux系统中,UID就相当于我们的身份证号码一样具有唯一性.

    创建用户

    命令 : useradd [选项] 用户名

    创建用户命令(useradd命令)中的相关参数及作用

    参数

    作用

    -d

    指定用户的家目录(默认为/home/username)

    -e

    账户的到期时间,格式为YYYY-MM-DD.

    -u

    指定该用户的默认UID.

    -g

    指定一个初始的用户基本组(必须存在)

    -G

    指定一个或多个扩展用户组

    -N

    不创建与用户同名的基本用户组

    -s

    指定该用户的默认Shell解释器

    例子

    1.下面我们创建一个普通用户并指定家目录的路径、用户的 UID 以及 Shell 解释器。在下 面的命令中,请注意/sbin/nologin,它是终端解释器中的一员,与 Bash 解释器有着天壤之别。 一旦用户的解释器被设置为 nologin,则代表该用户不能登录到系统中:

     

    2.批量化创建用户

     

    图 创建用户的命令

     

     图 为创建用户账户的脚本

     

     图 执行bash createUserAccount.sh命令运行结果

    注 :

    使用该命令创建用户账户时,默认的用户家目录会 被存放在/home 目录中,默认的 Shell 解释器为/bin/bash,而且默认会创建一个与该用户同名 的基本用户组。这些默认设置可以根据表 5-1 中的 useradd 命令参数自行修改。

    创建用户组

    命令 : groupadd [选项] 群组名

    为了能够更加高效地指派系统中各个用户的权限,在工作中常常会把几个用户加入到同 一个组里面,这样便可以针对一类用户统一安排权限。创建用户组的步骤非常简单,

    例如使用如下命令创建一个用户组 ronny:

     

    修改用户属性

    命令 : usermod [选项] 用户名

    修改用户属性(usermod命令)相关参数及作用

    参数

    作用

    -c

    填写用户账户的备注信息

    -d -m

    参数-m 参数-d连用, 可重新指定用户的家目录并自动把旧的数据转移过去

    -e

    账户的到期时间, 格式为YYYY-MM-DD

    -g

    变更所属用户组

    -G

    变更扩展用户组

    -L

    锁定用户禁止其登录系统

    -U

    解锁用户,允许其登录系统

    -s

    变更默认终端

    -u

    修改用户的UID

    例子

    大家不要被这么多参数吓坏了。我们先来看一下账户 linuxprobe 的默认信息:

      [root@linuxprobe ~]# id linuxprobe

      uid=1000(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe)

    然后将用户 linuxprobe 加入到 root 用户组中,这样扩展组列表中则会出现 root 用户组的 字样,而基本组不会受到影响:

      [root@linuxprobe ~]# usermod -G root linuxprobe

      [root@linuxprobe ~]# id linuxprobe

      uid=1000(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe),0(root)

    再来试试用-u 参数修改 linuxprobe 用户的 UID 号码值。除此之外,我们还可以用-g 参数 修改用户的基本组 ID,用-G 参数修改用户扩展组 ID。

      [root@linuxprobe ~]# usermod -u 8888 linuxprobe

      [root@linuxprobe ~]# id linuxprobe

      uid=8888(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe),0(root)

    修改用户的密码

    passwd 命令用于修改用户密码、过期时间、认证信息等.

    命令 : passwd [选项] [用户名]

    修改用户的密码(passwd命令)中参数以及作用

    参数

    作用

    -l

    锁定用户,禁止其登录

    -u

    解除锁定,允许用户登录

    --stdin

    允许通过标准输入修改用户密码,如echo "NewPassWord" | passwd –stdin Username

    -d

    使该用户可用空密码登录系统

    -e

    强制用户在下次登录时修改密码

    -S

    显示用户的密码是否被锁定,以及密码所采用的加密算法名称

    例子:

    修改当前用户密码

     

    修改其他用户密码

     

    锁定其他用户并且解锁其他用户

     

    批量化修改其他用户的密码

     

     

    注 :

    普通用户只能使用 passwd 命令修改自身的系统密码,而 root 管理员则有权限修改其他所 有人的密码。更酷的是,root 管理员在 Linux 系统中修改自己或他人的密码时不需要验证旧密 码,这一点特别方便。既然 root 管理员可以修改其他用户的密码,就表示完全拥有该用户的 管理权限。

    删除用户

    userdel 命令用于删除用户,

    格式为“userdel [选项] 用户名”。

    userdel 命令的参数以及作用

    参数

    作用

    -f

    强制删除用户

    -r

    同时删除用户及用户家目录

    例子1

    下面使用 userdel 命令将 linuxprobe 用户删除,其操作如下:

      [root@linuxprobe ~]# id linuxprobe

      uid=8888(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe),0(root)

      root@linuxprobe ~]# userdel -r linuxprobe

      [root@linuxprobe ~]# id linuxprobe

      id: linuxprobe: no such user

    例子2

    获取当前UID大于等于1001的用户并追加到一个user.txt文件中,最后进行批量化删除

     

    图 执行cat /etc/passwd | awk –F: ‘$3>=1001’ | cut –f 1 –d: >>user.txt命令的运行结果

     

    图为批量化删除用户的脚本

     

    图 执行 bash deleteUserAccount.sh命令运行结果

    注 :

      如果我们确认某位用户后续不再会登录到系统中,则可以通过 userdel 命令删除该用户的 所有信息。在执行删除操作时,该用户的家目录默认会保留下来,此时可以使用-r参数将其删除

    小结:

      在本次学习中学到关于用户的简单管理,比如可以进行创建用户,修改用户属性,删除用户和添加用户群组等操作.

  • 相关阅读:
    Reverse Words in a String II -- LeetCode
    计算两点间的距离,hdu-2001
    A + B Problem,hdu-1000
    ASCII码排序,hdu-2000
    定义#define
    break语句的使用
    判断一个数是否为素数
    用下面公式求π:
    Sum Problem-hdu-1001
    正三角形的外接圆面积,nyoj-274
  • 原文地址:https://www.cnblogs.com/studyandstudy/p/12238516.html
Copyright © 2011-2022 走看看