Linux系统是一个多用户多任务的分时操作系统,每个账户拥有一个唯一的用户名和各自的口令。用户的管理主要包括以下:

  • 用户组的管理
  • 用户账号的添加、删除与修改
  • 用户口令的管理

用户组的管理

1.创建用户组

groupadd [options] groupname-g: 指定用户组的标志号
-o: 一般与-g同时使用,表示新的用户组可以与已有用户组的GID相同

groupadd -g 101 test3 添加一个用户组,GID 101

2.删除用户组

groupdel groupeg.groupdel test3 删除用户组test3


3.修改用户组

groupmod [options] group
-g:GID-n:将用户组名字改为新名字

4.切换用户组

如果一个用户属于多个用户组,用户可以在登录后,使用命令切换到其他用户组newgrp group

用户组的删除、添加,实际上会改动/etc/group文件

输入命令: cat /etc/group可以查看用户组

...

cc:x:1000:cc
test1:x:1001:
test2:x:1002:
test3:x:101:

用户管理

1.用户增加

useradd [options] user

  • -c 用户描述
  • -d 用户的主目录,如果目录不存在,可指定-m创建
  • -g 所属的用户组,可用使用组名或者GID,用户组需存在,否则会报错useradd: group 'test1' does not exist
  • -G 附加用户组
  • -s指定用户的shell文件
  • -u用户号,如果有-o,可重复使用其他用户的标志号

useradd -c test1user -d /home/cc1 -g test1 cc1 为组test添加用户cc1

2.删除用户

userdel -r user 删除用户(从/etc/passwd删除)以及它的主目录

3.修改账号

usermod [options] user

  • -c 用户描述
  • -d 用户的主目录,如果目录不存在,可指定-m创建
  • -g 所属的用户组,可用使用组名或者GID,用户组需存在,否则会报错useradd: group 'test1' does not exist
  • -G 附加用户组
  • -s指定用户的shell文件
  • -u用户号,如果有-o,可重复使用其他用户的标志号

4.用户的口令管理

用户刚创建时被锁定,无法使用。管理员可以修改用户的口令,而无需验证旧的口令,其他用户只能修改自己的口令

命令格式:passwd [options] user

  • -l 锁定用户
  • -f 强制用户下次登录时必须修改口令
  • -u 口令解锁
  • -d 账号无口令
  • passwd 修改当前用户的口令

与账户有关的文件

账户和用户组的修改主要涉及文件/etc/passwd、/ect/group、/etc/shadow

1./etc/passwd

每个账户在这个文件中有个对应行,这个文件记录了用户的一些基本属性。

cat /etc/passwd可查看

...

cc:x:1000:1000:CC:/home/cc:/bin/bash
cc1:x:1001:1001:test1user:/home/cc1:/bin/bash
cc2:x:1002:1002:changetotest2:/home/cc2:/bin/bash
cc4:x:1003:1002:test1user:/home/cc4:/bin/bash
cc3:x:1004:1001:test2user:/home/cc3:/bin/bash
cc5:x:1005:101::/home/cc5:/bin/bash
cc6:x:1006:101::/home/cc6:/bin/bash

从左往右,分别是 账户名:口令秘钥:用户标志号:组标志号:描述:主目录:登录shell

  • 用户名 代表用户的字符串,由字母、数字或者“/”组成,不能有冒号、.、-和+
  • 口令 一些系统中会直接在这里存储用户的口令加密串,但是/etc/passwd是所以用户都可以访问的,所以部分系统会把真正加密后的加密串存放到/etc/shadow,而/etx/passwd中用代号x替代
  • 用户标志号,一个整数,如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登录Shell等。通常用户标识号的取值范围是0~65 535。0是超级用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500。
  • 组标识号,记录用户所属的用户组
  • 主目录,用户的起始工作目录
  • 用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。Linux的Shell有许多种,每种都有不同的特点。常用的有sh(Bourne Shell), csh(C Shell), ksh(Korn Shell), tcsh(TENEX/TOPS-20 type C Shell), bash(Bourne Again Shell)等。如果不指定shell,系统使用sh为默认的登录shell

标签: Linux, etc, 用户, home, Shell, 用户组, 口令

相关文章推荐

添加新评论,含*的栏目为必填