zoukankan      html  css  js  c++  java
  • 第6章 用户和用户组管理(2)_用户和用户组命令

    3. 用户管理命令

    3.1 用户添加命令:useradd

    (1)useradd命令useradd [选项] 用户名

    选项

    含义

    -u UID

    手工指定用户的UID

    -d 家目录

    手工指定用户的家目录

    -c 用户说明

    手工指定用户的说明

    -g 组名

    手工指定用户的初始组

    -G 组名

    手工指定用户的附加组

    -s Shell

    手工指定用户的登录Shell,默认是/bin/bash

    (2)注意事项

      ①如果只是执行useradd,而没有设置密码。则信息不完整,不能登录

      ②useradd user1一个用户后,会同时修改etc/passwd、/etc/shadow、/etc/group、/etc/gshadow等文件,同时创建/home/user1家目录和/var/spool/mail/lamp邮件文件。

    (3)用户默认值文件/etc/default/useradd

      默认值

    含义

    GROUP=100

    #用户默认组

    HOME=/home

    #用户家目录

    INACTIVE=-1

    #密码过期宽限天数(shadow文件第7字段)

    EXPIRE=

    #密码失效时间(第8字段)

    SHELL=/bin/bash

    #默认shell

    SKEL=/etc/skel

    #模板目录

    CREATE_MAIL_SPOOL=yes

    #是否建立邮箱

    (4)默认的用户账号限制文件/etc/login.defs

      默认值

    含义

    PASS_MAX_DAYS 99999

    #密码有效期(shadow文件的第5字段)

    PASS_MIN_DAYS 0

    #密码修改间隔(shadow文件的第4字段)

    PASS_MIN_LEN  5

    #密码最小5位(PAM)

    PASS_WARN_AGE 7

    #密码到期警告(shadow文件的第6字段)

    UID_MIN       500

    #最小UID

    UID_MAX       60000

    #最大UID

    ENCRYPT_METHOD SHA512

    #加密模式

    (5)应用举例

    #useradd -u 550 -G root,bin -d /home/user2 
    -c "test User2" -s /bin/bash user2

    3.2 修改用户密码:passwd

    (1)passwd命令格式: passwd [选项] 用户名

    选项

    含义

    -S

    查询用户密码的密码状态。仅root用户可用。

    -l

    暂时锁定用户。仅root用户可用

    -u

    解锁用户。仅root用户可用

    --stdin

    可以通过管道符输出的数据作为用户的密码

    (2)应用举例

      ①查看密码状态:#passwd –S testUser

      ②锁定用户和解锁用户:#passwd –l testUser //则testUser不能登录。-u为解锁。本质上是在/etc/shadow文件中用户对应的密码前加“!!”

      ③使用字符串作为用户的密码#echo "123" | passwd –stdin testUser //将echo输出的内容(“123”)作为testUser的密码,即将testUser的密码改为123。这种做法主要是在Shell脚本中批量输入密码时经常用到。

    3.3 修改用户信息(usermod)和修改用户密码状态(chage)

    (1)usermod命令:

      ①usermod [选项] 用户名

    选项

    含义

    -u UID

    修改指定用户的UID

    -c 用户说明

    修改指定用户的说明

    -G 组名

    手工指定用户的附加组

    -L

    临时锁定用户(Lock)

    -U

    解锁用户锁定(Unlock)

      ②应用举例:#usermod –c "test User" –G root –u 550 testUser

    (2)修改密码状态(chage)

      ①chage [选项] 用户名

    选项

    含义

    -l

    列出用户的详细密码状态

    -d 日期

    修改密码最后一次更改日期(shadow的第3字段)

    -m 天数

    两次密码修改间隔(第4字段)

    -M 天数

    密码有效期(第5字段)

    -W 天数

    密码过期前警告天数(第6字段)

    -I 天数

    密码过期后宽限天数(第7字段)

    -E 日期

    账号失效时间(第8字段)

      ②应用举例:

        #chage –d 0 testUser //将密码修改日期归0,这样用户一登陆就要修改密码。如批量为用户设置的初始密码可能不完全,如果将这个归0,这样就会要求用户一登录就要修改。

    3.4 删除用户(userdel)和用户切换命令(su)

    (1)删除用户 userdel

      ①userdel格式: #userdel [-r] 用户名 (其中-r表示删除用户的同时,删除家目录)

      ②说明:userdel与useradd一样,都是同时操作那5个文件(etc/passwd、/etc/shadow、/etc/group、/etc/gshadow等文件以及/home/user1和/var/spool/mail/lamp目录)

    (2)查看用户ID:#id 用户名

    (3)切换用户:su

      ①su格式: #su [选项] 用户名

    选项

    含义

    -

    选项只使用“-”代表连带用户的环境变量一起切换

    -c 命令

    仅执行一次命令,而不切换用户身份

      ②注意事项:

        A.#su root,只是切换用户的身份,但环境变量仍为切换之前的用户的环境变量(可用#env查询)。因此可以加“-”,即#su – root连同环境变量一起切换

        B.从root用户切换到普通用户不需要输入密码,反之需要输入密码。

      ③应用举例:

        $su – root –c  "useradd user2" //不切换成root用户,但是执行useradd命令

    4. 用户组管理命令

    4.1 添加用户组

    1)groupadd 命令#groupadd [选项] 组名

    可加“-g 组ID”选项来指定组ID

    (2)应用举例:#groupadd testGroup //添加testGroup用户组,可cat /etc/group查看

    4.2 修改用户组

    (1)格式:#groupmod [选项] 组名

    选项

    含义

    -g GID

    修改组ID

    -n 新组名

    修改组名

    (2)应用举例:#groupmod –n testGrp testGroup //将原testGroup组名改为testGrp

    4.3 删除用户组

    (1)groupdel命令:#groupdel 组名

    (2)注意事项

      ①如果要删除的组中存在有用户的话,一定要确保这个组没有被任何用户作为初始组。因为用户必须存在一个初始组,否则用户无法单独存在

      ②如果要删除的组只是被其它用户的作为附加组,则该组可以直接删除

    (3)应用实例分析

    #groupadd tg           //增加tg组
    #useradd -g tg test1   //添加test1用户并加入tg组,即test1用户的初始组为tg
                           //注意,此时并不生成test1组,因为test1己经有初始组tg了
    #useradd -G tg test2   //添加test2用户并将tg作为其附加组(但会同时为test2创建初始组test2)
    
    #groupdel tg //会产生失败,因为tg是test1的初始组,如果删除初始组,则test1用 //户将没有初始化,linux系统不允许一个用户没有初始组。所以如果 //删除这个组,必须先删除所有以这个组为初始组的用户(但不要求删除 //以这个组为附加组的用户),最后再删除该组。 #groupdel test2 //也会失败。同理,要先删除test2用户,最后才能删除该组。

    4.4 把用户添加到组或从组中删除

    (1)gpasswd [选项] 组名

    选项

    含义

    -a 用户名

    把用户加入组

    -d 用户名

    把用户从组中删除

    (2)注意事项

      命令中,用户名写在前面,最后是组名。因为gpasswd操作的对象是组,所以组放最后。useradd操作的对象是用户,所以useradd放在命令的最后面。

    (3)应用举例:

      ①#gpasswd –a user1 root //将user1加入root组,可以cat /ect/group查看root组中都有哪些用户。

  • 相关阅读:
    Qt QMutex使用详解
    libpng warning: iCCP: cHRM chunk does not match sRGB
    Qt tr()的作用
    Qt 关于QT_BEGIN_NAMESPACE宏的作用
    Qt 串口收发数据
    Qt QSerialPort串口通讯的时候,readyRead()信号不产生的解决方案
    Qt QSerialPort串口 接收数据 QIODevice::readyRead()
    Qt QString与QByteArray互相转换的方法
    Qt QString字符串分割、截取
    Qt 从QString中提取出数字
  • 原文地址:https://www.cnblogs.com/5iedu/p/6166385.html
Copyright © 2011-2022 走看看