声明:所有命令均引用自C语言中文网
1. 创建用户
- 在字符界面下创建新用户“wtest1”,密码设为“123456”,并对比密码设定前后/etc/shadow文件中wtest1的区别;
- 创建新用户“wtest2”,设其UID为580,归属于“liuao”群组,密码设为“123456”;
- 创建新用户“wtest3”,设其宿主目录为“/home/ttt”;
- 创建新用户“wtest4”,密码设为“123456”,设其UID为0,在tty4虚拟终端中登录此用户,并解释登录后的显示信息;
1) 在字符界面下创建新用户“wtest1”,密码设为“123456”,并对比密码设定前后/etc/shadow文件中wtest1的区别
用到的命令useradd,passwd
语法
①:useradd [选项] 用户名
②:passwd [选项] 用户名
①:选项
选项 | 意义 |
-u UID | 手工指定用户的 UID,注意 UID 的范围(不要小于 500)。 |
-d 主目录 | 手工指定用户的主目录。主目录必须写绝对路径,而且如果需要手工指定主目录,则一定要注意权限; |
-c 用户说明 | 手工指定/etc/passwd文件中各用户信息中第 5 个字段的描述性内容,可随意配置; |
-g 组名 | 手工指定用户的初始组。一般以和用户名相同的组作为用户的初始组,在创建用户时会默认建立初始组。一旦手动指定,则系统将不会在创建此默认的初始组目录。 |
-G 组名 | 指定用户的附加组。我们把用户加入其他组,一般都使用附加组; |
-s shell | 手工指定用户的登录 Shell,默认是 /bin/bash; |
-e 曰期 | 指定用户的失效曰期,格式为 “YYYY-MM-DD”。也就是 /etc/shadow 文件的第八个字段; |
-o | 允许创建的用户的 UID 相同。例如,执行 “useradd -u 0 -o usertest” 命令建立用户 usertest,它的 UID 和 root 用户的 UID 相同,都是 0; |
-m | 建立用户时强制建立用户的家目录。在建立系统用户时,该选项是默认的; |
-r | 创建系统用户,也就是 UID 在 1~499 之间,供系统程序使用的用户。由于系统用户主要用于运行系统所需服务的权限配置,因此系统用户的创建默认不会创建主目录。 |
②:选项
选项 | 意义 |
-S | 查询用户密码的状态,也就是 /etc/shadow 文件中此用户密码的内容。仅 root 用户可用; |
-l | 暂时锁定用户,该选项会在 /etc/shadow 文件中指定用户的加密密码串前添加 “!”,使密码失效。仅 root 用户可用; |
-u | 解锁用户,和 -l 选项相对应,也是只能 root 用户使用; |
–stdin | 可以将通过管道符输出的数据作为用户的密码。主要在批量添加用户时使用; |
-n 天数 | 设置该用户修改密码后,多长时间不能再次修改密码,也就是修改 /etc/shadow 文件中各行密码的第 4 个字段 |
-x 天数 | 设置该用户的密码有效期,对应 /etc/shadow 文件中各行密码的第 5 个字段; |
-w 天数 | 设置用户密码过期前的警告天数,对于 /etc/shadow 文件中各行密码的第 6 个字段; |
-i 日期 | 设置用户密码失效日期,对应 /etc/shadow 文件中各行密码的第 7 个字段。 |
实例
密码设定前/etc/shadow文件中wtest1
设置密码为123456后
2)创建新用户“wtest2”,设其UID为580,归属于“liuao”群组,密码设为“123456”
3) 创建新用户“wtest3”,设其宿主目录为“/home/ttt”;
4) 创建新用户“wtest4”,密码设为“123456”,设其UID为0,在tty4虚拟终端中登录此用户,并解释登录后的显示信息;
通过cat /etc/passwd可以看出 UID为0的是root用户,所以这里需要使用-o参数
2. 修改用户
- 用“usermod –d”命令把“wtest2”用户的宿主目录修改为“/home/wtest”,修改后在tty2虚拟终端中登录此用户,解释显示的登录信息,并找出解决办法;
- 把“wtest2”用户的宿主目录修改为“/etc/test”;
- 把“wtest3”的用户名修改为“www”,并从passwd文件中查看该用户信息;
- 设置“wtest4”的有效期限到2012年12月21日,并从shadow文件中查看修改结果;
- 把“wtest4”所属群组修改为“liuao”,并从passwd文件中查看修改结果;
- 锁定用户“wtest1”,并在tty2虚拟终端中验证,若验证该用户已锁定,再为该用户解锁
1) 用“usermod –d”命令把“wtest2”用户的宿主目录修改为“/home/wtest”,修改后在tty2虚拟终端中登录此用户,解释显示的登录信息,并找出解决办法;
usrmod命令
语法
①:usermod [选项] 用户名
①:选项
选项 | 意义 |
-c 用户说明 | 修改用户的说明信息,即修改 /etc/passwd 文件目标用户信息的第 5 个字段; |
-d主目录 | 修改用户的主目录,即修改 /etc/passwd 文件中目标用户信息的第 6 个字段,需要注意的是,主目录必须写绝对路径; |
-e 日期 | 修改用户的失效曰期,格式为 “YYYY-MM-DD”,即修改 /etc/shadow 文件目标用户密码信息的第 8 个字段; |
-g 组名 | 修改用户的初始组,即修改 /etc/passwd 文件目标用户信息的第 4 个字段(GID); |
-u UID | 修改用户的UID,即修改 /etc/passwd 文件目标用户信息的第 3 个字段(UID) |
-G 组名 | 修改用户的附加组,其实就是把用户加入其他用户组,即修改 /etc/group 文件 |
-l 用户名 | 修改用户名称 |
-L | 临时锁定用户(Lock) |
-U | 解锁用户(Unlock),和 -L 对应 |
-s shell | 修改用户的登录 Shell,默认是 /bin/bash |
这是因为我们在创建用户的时候没有创建目录,所以我们要创建目录。并且把启动文件复制到创建的文件夹里面
2) 把“wtest2”用户的宿主目录修改为“/etc/test”;
3) 把“wtest3”的用户名修改为“www”,并从passwd文件中查看该用户信息
、
4) 设置“wtest4”的有效期限到2012年12月21日,并从shadow文件中查看修改结果;
5) 把“wtest4”所属群组修改为“liuao”,并从passwd文件中查看修改结果;
6) 锁定用户“wtest1”,并在tty2虚拟终端中验证,若验证该用户已锁定,再为该用户解锁
3. 删除用户
删除用户“wtest1”并同步删除其宿主目录
命令userdel
userdel 命令功能很简单,就是删除用户的相关数据。此命令只有 root 用户才能使用。
语法
userdel -r 用户名
-r 选项表示在删除用户的同时删除用户的家目录。
四、 特殊方法创建用户和组群
- 用特殊方法创建用户“stest”,宿主目录为“/home/stest”,登录shell为“/bin/bash”,用户密码为“123456”;
- 测试用户是否创建成功,并在tty3虚拟终端中登录此用户;若测试过程中发现问题,查找原因并解决。
1)用特殊方法创建用户“stest”,宿主目录为“/home/stest”,登录shell为“/bin/bash”,用户密码为“123456”
收到操作passwd文件进行添加stest
一行的意义为:
用户名:密码:UID(用户ID):GID(组ID):描述性信息:主目录:默认Shell
2. 测试用户是否创建成功,并在tty3虚拟终端中登录此用户;若测试过程中发现问题,查找原因并解决。
这里会出现之前登陆不上的问题,所以我们先把文件复制到stets目录下
/etc/skel目录 用于存放新用户配置文件,该目录的默认文件为隐藏文件。在创建新用户的时候,该目录下的所有文件会自动复制到新用户的家目录中。
通过对该文件目录中的文件进行编辑、修改等操作,我们可以为用户提供一个统一标准化的用户初始环境。使用ll -a查看全部文件