Linux的用户和组管理:创建、删除用户,用户密码修改和用户模板文件 环境Centos7

版权声明:作者-傲娇天子 博文主页地址:https://blog.csdn.net/qq_41116956 欢迎转载,转载请在文章页面明显位置给出原文链接,谢谢 https://blog.csdn.net/qq_41116956/article/details/82782379
  • 用户和组的配置文件:

存放用户ID信息的文件:/etc/passwd

存放用户组ID信息的文件:/etc/group

存放用户密码的文件:/etc/shadow

备注:root的ID是0;在Centos7中创建的用户UID是从1000开始的

注意:本文实验环境为Centos7

创建用户:

[root@localhost ~]# useradd yasuo
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
...
avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
ad:x:1000:1000:ad:/home/ad:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
yasuo:x:1001:1001::/home/yasuo:/bin/bash

可以看到的是,yasuo用户的UID和GID都是1001

下面是表示含义:

yasuo:    x:            1001:    1001:          :    /home/yasuo    :/bin/bash
用户名    密码占位符      UID      GID     描述信息    家目录           shell

创建用户并指定UID:

[root@localhost ~]# useradd -u 1010 yasuo_1
[root@localhost ~]# tail /etc/passwd
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:988:983::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
ad:x:1000:1000:ad:/home/ad:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
yasuo:x:1001:1001::/home/yasuo:/bin/bash
yasuo_1:x:1010:1010::/home/yasuo_1:/bin/bash

创建用户并指定家目录:

注意:-m是创建~,-M是不创建~,所以-m并不能指定~;-d指定~

如下:使用-m修改~会报错,因为-m只是需要创建~

[root@localhost ~]# useradd -m /media/yasuo_2 yasuo_2
用法:useradd [选项] 登录
      useradd -D
      useradd -D [选项]

选项:
  -b, --base-dir BASE_DIR	新账户的主目录的基目录
  -c, --comment COMMENT         新账户的 GECOS 字段
  -d, --home-dir HOME_DIR       新账户的主目录
  -D, --defaults		显示或更改默认的 useradd 配置
 -e, --expiredate EXPIRE_DATE  新账户的过期日期
  -f, --inactive INACTIVE       新账户的密码不活动期
  -g, --gid GROUP		新账户主组的名称或 ID
  -G, --groups GROUPS	新账户的附加组列表
  -h, --help                    显示此帮助信息并推出
  -k, --skel SKEL_DIR	使用此目录作为骨架目录
  -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默认值
  -l, --no-log-init	不要将此用户添加到最近登录和登录失败数据库
  -m, --create-home	创建用户的主目录
  -M, --no-create-home		不创建用户的主目录
  -N, --no-user-group	不创建同名的组
  -o, --non-unique		允许使用重复的 UID 创建用户
  -p, --password PASSWORD		加密后的新账户密码
  -r, --system                  创建一个系统账户
  -R, --root CHROOT_DIR         chroot 到的目录
  -s, --shell SHELL		新账户的登录 shell
  -u, --uid UID			新账户的用户 ID
  -U, --user-group		创建与用户同名的组
  -Z, --selinux-user SEUSER		为 SELinux 用户映射使用指定 SEUSER

所以,指定用户~的方法是:

[root@localhost ~]# useradd -d /media/yasuo_2 yasuo_2
[root@localhost ~]# tail /etc/passwd
gnome-initial-setup:x:988:983::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
ad:x:1000:1000:ad:/home/ad:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
yasuo:x:1001:1001::/home/yasuo:/bin/bash
yasuo_1:x:1010:1010::/home/yasuo_1:/bin/bash
yasuo_2:x:1011:1011::/media/yasuo_2:/bin/bash

创建用户并指定组:

[root@localhost ~]# useradd -g yasuo yasuo_3

注意:所指定的组是必须要存在的

[root@localhost ~]# tail /etc/group
slocate:x:21:
avahi:x:70:
postdrop:x:90:
postfix:x:89:
tcpdump:x:72:
ad:x:1000:ad
apache:x:48:
yasuo:x:1001:
yasuo_1:x:1010:
yasuo_2:x:1011:
[root@localhost ~]# useradd -g yasuo yasuo_3
[root@localhost ~]# tail /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
ad:x:1000:1000:ad:/home/ad:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
yasuo:x:1001:1001::/home/yasuo:/bin/bash
yasuo_1:x:1010:1010::/home/yasuo_1:/bin/bash
yasuo_2:x:1011:1011::/media/yasuo_2:/bin/bash
yasuo_3:x:1012:1001::/home/yasuo_3:/bin/bash
[root@localhost ~]# tail -1 /etc/group
yasuo_2:x:1011:
[root@localhost ~]# tail /etc/group
slocate:x:21:
avahi:x:70:
postdrop:x:90:
postfix:x:89:
tcpdump:x:72:
ad:x:1000:ad
apache:x:48:
yasuo:x:1001:
yasuo_1:x:1010:
yasuo_2:x:1011:

可以看到,创建的新用户没有分配组ID,但是UID是分配了的

指定用户的附加组:

[root@localhost ~]# useradd -G yasuo,root yasuo_4
[root@localhost ~]# id yasuo_4
uid=1013(yasuo_4) gid=1013(yasuo_4) 组=1013(yasuo_4),0(root),1001(yasuo)

yasuo_4用户,有UID和对应的GID,不过,还包括在了yasuo和root的组里面

用户存在多个组中时候,可以在/etc/group文件中看到对应的组和用户的关系

[root@localhost ~]# cat /etc/group
root:x:0:yasuo_4
bin:x:1:
daemon:x:2:
......
postdrop:x:90:
postfix:x:89:
tcpdump:x:72:
ad:x:1000:ad
apache:x:48:
yasuo:x:1001:yasuo_4
yasuo_1:x:1010:
yasuo_2:x:1011:
yasuo_4:x:1013:

可以看到的是在yasuo组中有yasuo_4这个用户

yasuo:x:1001:yasuo_4

删除用户:

注意userdel -r表示删除用户的时候删除用户的~和该用户的相关文件

[root@localhost home]# ls
ad  yasuo  yasuo_1  yasuo_3  yasuo_4
[root@localhost home]# userdel yasuo_4    #不会删除~
[root@localhost home]# ls
ad  yasuo  yasuo_1  yasuo_3  yasuo_4
[root@localhost home]# userdel -r yasuo_3    #会删除~
[root@localhost home]# ls
ad  yasuo  yasuo_1  yasuo_4
  • 用户修改密码:

修改用户密码:

[root@localhost ~]# passwd yasuo
更改用户 yasuo 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

针对交互式修改密码:

[root@localhost ~]# echo 123456 | passwd --stdin yasuo
更改用户 yasuo 的密码 。
passwd:所有的身份验证令牌已经成功更新。

用户登录时强制修改密码:

[root@localhost ~]# chage -d 0 yasuo
[root@localhost ~]# su yasuo
[yasuo@localhost root]$ su yasuo
密码:
您需要立即更改密码(root 强制)
为 yasuo 更改 STRESS 密码。
(当前)UNIX 密码:
新的 密码:
  • 用户模板文件

小技巧:以下都可以直接去修改文件更加快捷

修改UID:

[root@localhost ~]# usermod -u 1234 yasuo_1
[root@localhost ~]# tail /etc/passwd
gnome-initial-setup:x:988:983::/run/gnome-initial-setup/:/sbin/nologin
......
yasuo:x:1001:1001::/home/yasuo:/bin/bash
yasuo_1:x:1010:1010::/home/yasuo_1:/bin/bash
yasuo_2:x:1011:1011::/media/yasuo_2:/bin/bash
[root@localhost ~]# usermod -u 1234 yasuo_1
[root@localhost ~]# tail /etc/passwd
gnome-initial-setup:x:988:983::/run/gnome-initial-setup/:/sbin/nologin
......
yasuo:x:1001:1001::/home/yasuo:/bin/bash
yasuo_1:x:1234:1010::/home/yasuo_1:/bin/bash
yasuo_2:x:1011:1011::/media/yasuo_2:/bin/bash

修改shell:

[root@localhost ~]# usermod -s /sbin/nologin yasuo_1
[root@localhost ~]# tail /etc/passwd
......
yasuo:x:1001:1001::/home/yasuo:/bin/bash
yasuo_1:x:1234:1010::/home/yasuo_1:/bin/bash
yasuo_2:x:1011:1011::/media/yasuo_2:/bin/bash
[root@localhost ~]# usermod -s /sbin/nologin yasuo_1
[root@localhost ~]# tail /etc/passwd
......
yasuo:x:1001:1001::/home/yasuo:/bin/bash
yasuo_1:x:1234:1010::/home/yasuo_1:/sbin/nologin
yasuo_2:x:1011:1011::/media/yasuo_2:/bin/bash

解决模板文件被删除之后的方法:

[root@localhost ~]# rm -rf /home/yasuo/.bash*
[root@localhost ~]# su yasuo
bash-4.2$ exit
exit
[root@localhost ~]# cp /etc/skel/.bash* /home/yasuo/
[root@localhost ~]# chown yasuo:yasuo /home/yasuo/.bash*
[root@localhost ~]# su yasuo
[yasuo@localhost root]$ exit
exit
[root@localhost ~]# 

猜你喜欢

转载自blog.csdn.net/qq_41116956/article/details/82782379