Linux用户及用户组管理命令

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

每个用户账号都拥有一个唯一的用户名和各自的口令。

系统解析用户的时候,并不能直接的去解析用户名 root,能够识别解析的是ID号


一、Linux系统用户账号的管理

用户:

  • 管理员用户 UID:0

  • 普通用户
    - -->系统用户 UID:1-499
    - -->登录用户 UID:500-65535(在centos6中)

    1.添加用户 useradd

用法 : useradd 选项 用户名
选项:

-u 指定UID
-g 指定基本组,组先存在 ,如果没有指定,则使用与用户名相同的组名
-G 指明附加组
-c 添加注释信息
-d 指定家目录,复制/etc/skel并重命名实现
-s 指定默认shell
-r 创建系统用户
-D 显示创建用户的默认配置
  • -u UID:定义在/etc/login.defs
    如果没有指定UID则依次使用最近一次的UID
[root@xiaoagiao ~]# useradd -u 4230 gentoo
//添加一个用户,用户名为gentoo,uid为4230。
  • -g GID:指定基本组。
[root@xiaoagiao ~]# useradd -g  tom  gentoo
//指定用户gentoo在组tom组。
  • -G GROUP1,GROUP2:指定用户的附加组,可以有多个,用逗号隔开,组必须事前存在。
[root@xiaoagiao ~]# useradd -G tom  gentoo
//为用户gentoo指明附加组tom。
  • -d :指定用户的家目录
[root@xiaoagiao ~]# useradd -d /etc/gentoo
//为用户gentoo指指定家目录/etc/gentoo。
  • -c “ ” :用户的注释信息
[root@xiaoagiao ~]# useradd -c "测试用户" gentoo
//为用户gentoo添加注释信息。
  • -s SHELL:指定用户的默认shell,可用的shell列表在/etc/shells
[root@xiaoagiao ~]# useradd -s /bin/sh gentoo
//为用户gentoo指定shell环境。

2.修改用户属性 usermod

用法 :usermod 选项 用户名
选项:

-u 更改UID
-g 更改基本组
-G 更改附加组
-c 更改注释信息
-d 更改家目录
-s 更改默认shell
-r 更改系统用户
-l 锁定用户
-u 解锁用户
-m 与-d一起使用,将原来的家目录转移到新的位置,原来的家目录依然可用
-a 向用户中添加附加组,覆盖之前的附加组,和G同时用
  • -m -d
[root@xiaoagiao ~]# usermod -m -d /var/tmp/gentoo gentoo
//为用户gentoo家目录转移到 /var/tmp/gentoo之前的目录依然可用。

3.删除用户。userdel

用法 :userdel [-option] 用户

  • -r :与家目录下的所有内容一并删除。

4.创建或修改用户密码。passwd

  • passwd -->更改当前用户密码。
  • passwd username 修改指定用户密码 只有root有权限
    选项 :
-l 锁定用户
-u 解锁用户
-d 清除用户密码串
-e date 过期期限
-n days 最短使用期限
-x days 最长使用期限
-w days 告警时间
- -stdin 非交互式创建密码
[root@xiaoagiao ~]#echo "password" | passwd --stdin username
//非交互式为用户创建密码

二、Linux系统用户组的管理

1.添加组 groupadd

用法 ;groupadd [-option] groupname
选项 :

  • -g :指定GID, 默认是上一个组的GID+1
  • -r: 创建系统组。

2.修改组属性。groupmod

用法:groupmod [选项] groupname
选项 ;

  • -g GID:修改GID
  • -n new_name:修改组名
[root@xiao ~]# gruopmod -g 2300 gentoo
//修改gid为2300。
[root@xiao ~]# gruopmod -n jerry gentoo
//将gentoo名字改为jerry

3.删除组属性。groupdel

用法 : groupdel + groupname

4.创建或修改组密码。gpasswd

选项:

  • -a username groupname :向组中添加用户
  • -d username groupname :从组中删除用户
[root@xiao ~]# gruopmod -a tom jerry
//将tom用户添加到jerry组中
[root@xiao ~]# gruopmod -d tom jerry
//将tom用户从jerry组中删除

三. 查看用户id号。UID GID

id

用法 : id [-option]
选项 :

-u 仅显示有效的UID
-g 仅显示用户的基本组ID
-G 仅显示用户所属的所有组的ID
-n 需要和-u -g -G 配合使用显示名字而非ID

四 . 更改用户密码过期信息 chage

用法 :chage [选项] 登录名
选项 :

-d 指定用户密码修改日期
-E 设置密码到期日期,到期后不可用,0表示快过去,-1表示已过期
-W+天数 设置过期警告天数
-m+天数 设置两次改变密码之间相距的最小天数
-M+天数 设置两次改变密码之间相距的最大天数

如; chage -w 10 -->距离密码过期十天,提醒警告。


五.解析库文件。

/etc/passwd(每一行对应一个用户)

例如 ;
root: x: 0:0:root:/root:/bin/bash

解释 (以冒号为分隔符)
注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序

  • root(第一段):代表用户名长度不超过八个字符。
  • x(第一段): 口令:password 使用x占位符
  • 0(第一段): 用户的标识符UID
  • 0(第一段): 用户组的标识符GID
  • root(第一段): 注释信息
  • /root (第一段) :用户的家目录
  • /bin/bash/ (最后一段) : 默认的shell环境。

/etc/shadow(主要用来存放密码)

例如 :

root:$6$AJBYeS/80NGXHLft$YAym9primtpg4RPgEyzP05971JVZtCOs6GC5ICWqIkRn4aBhOTNaWCm/oOzAQqBTRCb7gr.skRCHldiKgok6f0:18301:0:99999:7:::


解释 : (以冒号为分隔符)

  • root (第一段):代表用户名。
  • $ 6$ AJBYeS/80NGXHLft$YAym9primtpg4RPgEyzP05971JVZtCOs6GC5ICWqIkRn4aBhOTNaWCm/oOzAQqBTRCb7gr.skRCHldiKgok6f0
    – ->(第二段)代表用户加密口令。
  • 18301(第三段):代表口令最后一次修改时间。
  • 0(第四段):代表两次口令修改的最小间隔天数。
  • 99999(第五段):代表两次口令修改的最大间隔天数。
  • 7(最后一段):警告天数(提前7天提醒警告。)。

注:口令组成
$ 6$ :—> 加密算法。
$ AJBYeS/80NGXHLft$ :—>加密因子。
YAym9primtpg4RPgEyzP05971JVZtCOs6GC5ICWqIkRn4aBhOTNaWCm :—>密码

/etc/group (组信息)

root:x:0:
bin:x:1:bin,daemon

解释 : (以冒号为分隔符)
第一段 :组名
第二段 :口令
第三段 : GID
最后 :附加组的组内用户

发布了20 篇原创文章 · 获赞 15 · 访问量 1940

猜你喜欢

转载自blog.csdn.net/wdwangye/article/details/104729924