zoukankan      html  css  js  c++  java
  • 【转】ubuntu下用户及用户组

    ubuntu下用户及用户组

    创建组: $sudo addgroup ccache

    创建用户: $sudo useradd ccache -g ccache -M

    创新wfz用户并创建HOME目录,指定用户组为ccache $sudo useradd wfz -g ccache -m

    增加已存在用户到指定组 $sudo adduser $USER ccache

    $sudo adduser dbh ccache $sudo adduser paul ccache $sudo adduser wfz ccache

    显示用户ID及组信息: ~$ id uid=1001(dbh) gid=1001(dbh) groups=115(admin),1001(dbh) $ cat /etc/group ccache:x:1002:dbh,paul,wfz

    1. 用户和用户组的管理:

    Linux的多用户概念是指多个用户同时可以使用这个系统。

    (1)用户帐号文件——passwd

    Passwd是一个文本文件(每一行标识1个用户),定义了系统的用户帐号,该文件位于“/etc”目录下。文件中包含了一个系统帐户列表,存放了每个账户一些有用的信息,如用户ID,组ID,主目录,shell等等(用“:”分隔开来)。只定义了用户帐号,而不保存口令(用“x”表示,如果没有 sun::则表示没有密码)。真正的密码存放在Shadow文件中,普通用户根本不能读,加密后的密文无法读到就可以提高用户帐号的安全性。

    例如:

    [root@sun root]# head /etc/passwd

    root:x:0:0:root:/root:/bin/bash 表示有7个字段:登录名:有无口令:用户ID:组ID:账户备注信息:用户Home目录:登录时用户shell的名称(超级用户有权限修改)

    (2)用户口令文件——shadow

    每行定义了一个用户信息,行中各字段用:分开,为进一步提高安全性,口令文件存放用户已经加密的口令:*,特殊符号

    [root@sun root]# head /etc/shadow

    登录名:加密的口令(用*或其他特殊字符表示):上次更改口令距离1970.1.1的天数:口令更改后不可更改的天数:口令更改后必须再更改的天数(有效期):口令失效前警告用户的天数:口令失效后距帐号被查封的天数:帐号被封时距1970.1.1的天数:保留未用。

    (3)用户组帐号文件——group

    用户组:逻辑的组织用户帐号的集合的方式,用户允许在其组内共享文件,系统每个文件都有一个用户和附属的用户组。使用“ls -l”命令可以查看每个文件的属性和组。

    [root@sun root]# head /etc/group

    root:x:0:root,tom,mary (组名:组加密口令:GID:组成员列表(用,隔开的每个组用户名))

    (4)用户组口令文件——gshadow

    用于定义用户组口令,用户组管理员信息。该文件只有超级用户root才可以读取

    每行记录信息:

    [root@sun root]# head /etc/gshadow

    用户组:用户组加密口令:组管理员帐号(管理员有权进行增删帐号):组成员列表

    2. 用户和用户组账户维护的命令:

    (1)增加用户账户:useradd 用户名

    useradd –g 组名 用户名 指定该用户所使用的私有组名,默认是与用户帐号同名的私有组。

    useradd –D [-g group][-b base][-s shell][-f inactive][-e expire] 用于显示和设置useradd该命令所使用的默认值。

    例如:#useradd sun //建立用户帐号

    #tail -l /etc/passwd //查询passwd中添加的用户账户的信息

    #tail –l /etc/shadow

    #ls /home //查看所建立帐号的主目录

    (2)修改用户帐号属性:usermod [-LU][-c ][-d ][-e ][-f ][-g ][-G][-l][-s][-u][用户帐号]

    (3)删除用户帐号:userdel [-r][用户帐号] //如果不加参数则只删除用户帐号,不删除文件,否则两者都删除。

    userdel [-r][用户帐号] //-r用来删除帐号登入目录和目录中所有文件

    举例:#grep sun /etc/passwd //查询用户帐号sun是否存在

    #userdel sun //删除用户帐号sun

    #grep sun /etc/passwd //再次查询用户帐号sun是否存在

    #ll –d /home //查询用户sun主目录是否存在

    #userdel –r sun //删除用户的同时,删除其工作主目录

    (4) 增加用户组帐号:groupadd [-r][组帐号]

    【注意】帐号ID唯一,数值不可为负,预设最小值不得小于500,且每增加一个,组帐号ID逐次自增1。其中-r参数是用来建立系统帐号的。0~499是给系统帐号准备的。

    举例:#groupadd magicSun //建立组账户magicSun

    #grep magicSun /etc/group //查询group文件中magicSun组账户是否建立

    #groupadd –r sysWang //建立系统组账户sysWang

    #grep sysWang /etc/group //查询group文件中sysWang系统组账户是否建立

    (5)修改组帐号:groupmod [-g ][-n][群组名称]

    其中-o表示重复使用群组识别码

    (6)删除组帐号:groupdel [群组名称]

    【注意】必须先删除组中的用户才能删除该组

    (7)口令维护:passwd [-s][-l][-u][-d][用户名] 超级用户可以为每一位新增的用户设置口令,普通用户只能用不带参数的passwd命令来修改自己的口令。其中参数-s表示用于查询指定用户帐号的状态,-l用户锁定帐号的口令,-u解锁帐号口令,-d删除指定帐号的口令。

    (8)组用户成员维护:将一个账户添加到组、或将一个账户从组中删除、将一个账户设为组管理员。

    添加用户到组:gpasswd –a 用户帐号名 组帐号名

    从组中删除用户:gpasswd –d用户帐号名 组帐号名

    设置用户为组管理员:gpasswd –A 组管理员用户列表 用户组

    (9)用户和组的状态命令:

    id [选项] [用户名称] 用于显示用户当前UID,gid以及所属群组的组列表

    [选项]参数有:

    -g :显示用户所属群组的id

    -G:显示用户所属附加群组的id

    -n:显示用户所属群组或附加群组的名称

    -r:显示实际ID

    -u:显示用户ID

    whoami 用于显示登录者自身的名称(=id -un)

    su [-flmp] [-][-c ][-s][用户帐号] //用来将当前用户转换为其他用户身份,暂时变更自己的登录身份,用其他人的身份来登录系统。前提是必须知道对方的口令。其中参数-c表示执行完指定的指令后恢复原来的身份。-f适用于csh和tsch,使shell不用去读取启动文件。-表示改变身份时也同时变更工作目录,以及 HOME,SHELL,USER,LOGNAME,此外也会变更PATH环境变量。-m,-p 变更身份时不变更环境变量。-s 指定要执行的shell。若不指定要变更的用户账户,那么预设为root超级用户。

    groups [用户名称] 用于显示指定用户所属的组,若未指定用户则显示当前用户所属组

  • 相关阅读:
    搭建集群时遇到各种奇葩问题的大招~~
    oracle初学心得(转)
    "小寒"饮食养生
    时刻修正自已的思想
    myeclipse使用
    从javascript语言本身谈项目实战(转)
    Java的内存泄漏(转)
    概念解释
    小穴位大健康——李智
    历史朝代表
  • 原文地址:https://www.cnblogs.com/ihongyan/p/4099370.html
Copyright © 2011-2022 走看看