Linux中用户管理命令-详解

admin 2024年8月12日21:22:08评论2 views字数 5937阅读19分47秒阅读模式

满招损,谦受益。——《尚书》

Linux中用户管理命令-详解

图片来源:中国·北京

【目录】

一 useradd

二 passwd

三 usermod

四 userdel

 1 useradd

    1.1 参数说明

[root@achao ~]# useradd --help用法:useradd [选项] 登录名      useradd -D      useradd -D [选项]选项:      --badname                 do not check for bad names  -b, --base-dir BASE_DIR       新账户的主目录的基目录      --btrfs-subvolume-home    use BTRFS subvolume for home directory  -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 到的目录  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files  -s, --shell SHELL             新账户的登录 shell  -u, --uid UID                 新账户的用户 ID  -U, --user-group              创建与用户同名的组  -Z, --selinux-user SEUSER     为 SELinux 用户映射使用指定 SEUSER

     1.2 使用默认选项创建用户

[root@achao ~]# useradd achao[root@achao ~]# ll -d /home/achao/drwx------. 3 achao achao 78  626 02:04 /home/achao/[root@achao ~]# grep achao /etc/passwd /etc/shadow /etc/group/etc/passwd:achao:x:1003:1003::/home/achao:/bin/bash/etc/shadow:achao:!!:19899:0:99999:7:::/etc/group:achao:x:1003:

    解释:

    1. 在/etc/passwd里边建立一行与账户相关的数据,包括建立UID,GID,家目录等。

    2. 在/etc/shadow里边将此账号的密码相关参数写入,此时无密码。

    3. 在/etc/group里边加入一个与账号名称一摸一样的组名。

    4. 在/home目录下边建立一个与账号同名的目录作为用户的家目录,权限为700

    1.3   已知用户组achao,使用UID=1016创建一个名为yezi的账号

[root@achao ~]# useradd -u 1016 -g achao yezi[root@achao ~]# ll -d /home/yezi/drwx------. 3 yezi achao 78  626 02:15 /home/yezi/[root@achao ~]# grep yezi /etc/passwd /etc/shadow /etc/group/etc/passwd:yezi:x:1016:1003::/home/yezi:/bin/bash/etc/shadow:yezi:!!:19899:0:99999:7:::

    1.4 创建系统账号

[root@achao ~]# useradd -r huohuazi1016[root@achao ~]# ll -d /home/huohuazi1016ls: 无法访问 '/home/huohuazi1016': 没有那个文件或目录[root@achao ~]# grep huohuazi1016 /etc/passwd /etc/shadow /etc/group/etc/passwd:huohuazi1016:x:980:979::/home/huohuazi1016:/bin/bash/etc/shadow:huohuazi1016:!!:19899::::::/etc/group:huohuazi1016:x:979:

    发现,系统账户的UID值小于1000。因为系统账号主要用来执行系统所需要的服务的权限设置,所以系统账号默认都不会主动建立家目录。

    以上是个别参数的使用,还有很多参数供同学们自行研究,这里不做展开说明。

 2 passwd

    使用useradd创建账号以后,默认默认情况下,该账号是无法登录的。要向使用此账号登录,就需要设置密码。

    2.1 参数选项说明

[root@achao ~]# passwd --help用法: passwd [选项...] <帐号名称>  -k, --keep-tokens       保持身份验证令牌不过期  -d, --delete            删除命名帐户的密码(仅限 root 用户);也删除密码锁(如果有)  -l, --lock              锁定指名帐户的密码(仅限 root 用户)  -u, --unlock            解锁指名帐户的密码(仅限 root 用户)  -e, --expire            终止指名帐户的密码(仅限 root 用户)  -f, --force             强制执行操作  -x, --maximum=DAYS      密码的最长有效时限(只有 root 用户才能进行此操作)  -n, --minimum=DAYS      密码的最短有效时限(只有 root 用户才能进行此操作)  -w, --warning=DAYS      在密码过期前多少天开始提醒用户(只有 root 用户才能进行此操作)  -i, --inactive=DAYS     当密码过期后经过多少天该帐号会被禁用(只有 root 用户才能进行此操作)  -S, --status            报告已命名帐号的密码状态(只有 root 用户才能进行此操作)      --stdin             从标准输入读取令牌(只有 root 用户才能进行此操作)

    2.2 给achao账户设置密码

[root@achao ~]# passwd achao更改用户 achao 的密码 。新的密码: #第一次输入密码重新输入新的密码:#第二次再次输入密码确定passwd:所有的身份验证令牌已经成功更新。

    修改密码的时候用root也同样可以的。

    2.3 使用achao账户登录并修改密码

[achao@achao ~]$ passwd 更改用户 achao 的密码 。当前的密码:#输入旧密码新的密码:#第一次输入新密码重新输入新的密码:#第二次再次确认新密码passwd:所有的身份验证令牌已经成功更新。

    特别提醒:如果使用root给普通用户修改密码,一定记得在passwd后边加上要修改用户的用户名,如果不加,则会是修改root用户的密码。

    2.4 使用--stdin修改用户密码

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

    此命令的优点是不会反复确认,缺点是此命令会留在历史命令中,如果将history命令关闭使用,这样修改用户密码无疑是最简洁高效的办法了。

    2.6 设置密码的有效时间和密码过期后的失效时间设置

[root@achao ~]# passwd -S achaoachao PS 2024-06-25 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

    解释:密码建立时间2024-06-25,0最小天数,99999修改天数,警告天数7与“-1”密码不会失效

[root@achao ~]# passwd -x 30 -i 10 achao调整用户密码老化数据achao。passwd: 操作成功[root@achao ~]# passwd -S achaoachao PS 2024-06-25 0 30 7 10 (密码已设置,使用 SHA512 算法。)

    2.7 参数-l是账户失去登录功能

[root@achao ~]# passwd -l achao锁定用户 achao 的密码 。passwd: 操作成功[root@achao ~]# passwd -S achaoachao LK 2024-06-25 0 30 7 10 (密码已被锁定。)[root@achao ~]# grep achao /etc/shadowachao:!!$6$/2pPAO6DHEhng5Nv$5ASYic64q7W1Cx.4GcGTzsJxEQvy1wu7uNJ1xk06si7vgvtLdvs1nI6isKBjn.dHUeGlF35y8Q6IaVafD9wFX1:19899:0:30:7:10::[root@achao ~]# passwd -u achao解锁用户 achao 的密码。passwd: 操作成功[root@achao ~]# grep achao /etc/shadowachao:$6$/2pPAO6DHEhng5Nv$5ASYic64q7W1Cx.4GcGTzsJxEQvy1wu7uNJ1xk06si7vgvtLdvs1nI6isKBjn.dHUeGlF35y8Q6IaVafD9wFX1:19899:0:30:7:10::

    发现密码前边加了!,此时的密码就是不可用的。

 3 usermod

[root@achao ~]# usermod --help用法:usermod [选项] 登录名选项:  -b, --badname                 allow bad names  -c, --comment COMMENT         GECOS 字段的新值  -d, --home HOME_DIR           用户的新主目录  -e, --expiredate EXPIRE_DATE  设定帐户过期的日期为 EXPIRE_DATE  -f, --inactive INACTIVE       过期 INACTIVE 天数后,设定密码为失效状态  -g, --gid GROUP               强制使用 GROUP 为新主组  -G, --groups GROUPS           新的附加组列表 GROUPS  -a, --append GROUP            将用户追加至上边 -G 中提到的附加组中,                                并不从其它组中删除此用户  -h, --help                    显示此帮助信息并退出  -l, --login NEW_LOGIN         新的登录名称  -L, --lock                    锁定用户帐号  -m, --move-home               将家目录内容移至新位置 (仅于 -d 一起使用)  -o, --non-unique              允许使用重复的(非唯一的) UID  -p, --password PASSWORD       将加密过的密码 (PASSWORD) 设为新密码  -R, --root CHROOT_DIR         chroot 到的目录  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files  -s, --shell SHELL             该用户帐号的新登录 shell  -u, --uid UID                 用户帐号的新 UID  -U, --unlock                  解锁用户帐号  -v, --add-subuids FIRST-LAST  添加子 UID 范围  -V, --del-subuids FIRST-LAST  移除子 UID 范围  -w, --add-subgids FIRST-LAST  添加子 GID 范围  -W, --del-subgids FIRST-LAST  移除子 GID 范围  -Z, --selinux-user SEUSER     用户的新的 SELinux 用户映射

    选项很多,这次阿超安装了汉语版本,同学们自己练习便可以掌握。

 4 userdel

[root@achao ~]# userdel --help用法:userdel [选项] 登录名选项:  -f, --force                   force some actions that would fail otherwise                                e.g. removal of user still logged in                                or files, even if not owned by the user  -h, --help                    显示此帮助信息并退出  -r, --remove                  删除主目录和信件池  -R, --root CHROOT_DIR         chroot 到的目录  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files  -Z, --selinux-user            为用户删除所有的 SELinux 用户映射

    删除用户dufu

[root@achao ~]# grep dufu /etc/passwd /etc/shadow /etc/group /etc/gshadow /home/dufu//etc/passwd:dufu:x:1002:1002::/home/dufu:/bin/bash/etc/shadow:dufu:!!:19899:0:99999:7:::/etc/group:dufu:x:1002:/etc/gshadow:dufu:!::grep: /home/dufu/: 是一个目录[root@achao ~]# userdel -r dufu[root@achao ~]# grep dufu /etc/passwd /etc/shadow /etc/group /etc/gshadow /home/dufu/grep: /home/dufu/: 没有那个文件或目录

    发现删除的很是干净,此命令也是简单。

    注意:实际生产环境中,一定要确保该用户在操作系统上边不在使用任何数据了。

---结束

点赞关注分享宝子如果觉得还OK,可以动动可爱的小手分享给身边的好朋友!我们一起进步,每一个点赞关注分享都是小编前进的动力!

【往期回顾】

Linux破解root密码---精读篇(值的收藏)

Linux中将shell脚本放入后台运行还在用&符号吗?nohup表示不答应

一篇搞懂Linux中su与sudo---建议收藏

原文始发于微信公众号(网络安全与取证研究):Linux中用户管理命令---详解

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月12日21:22:08
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Linux中用户管理命令-详解http://cn-sec.com/archives/3054980.html

发表评论

匿名网友 填写信息