Linux 用户和用户组管理

Posted 王小麦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 用户和用户组管理相关的知识,希望对你有一定的参考价值。

一、用户账号包括(查看已经存在的账号 | 添加用户账号 |  修改用户账号 | 删除用户账号)

查看存在的账号:

more /etc/passwd
#或者是
awk -F: { print $1} /etc/passwd

 

添加用户账号命令:useradd 

useradd -d /home/uhome -m ikphp

创建了一个ikphp的用户账号

参数选项:

useradd --help
用法: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
--extrausers Use the extra users database

1、创建后用 more /etc/passwd 查看

daokr:x:1000:1000:daokr,,,:/home/daokr:/bin/bash
sshd:x:121:65534::/var/run/sshd:/usr/sbin/nologin
ikphp:x:1001:1001::/home/uhome:

---------------------------------
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

2、用more /etc/group 查看下 所有的用户组

daokr:x:1000:
sambashare:x:128:daokr
ikphp:x:1001:

---------------------------------
组名:口令:组标识号:组内用户列表

然后看到上面这些;分别对应的是组名和口令 组的标识符;还有组内用户列表

ikphp是刚才创建的用户 她属于1001的用户组 他的用户表示是1001

3、用more /etc/shadow 命令行查看下用户ikphp的密码文件

usbmux:*:16911:0:99999:7:::
daokr:$6$5WFBWzId$qZF3/lmwl/2qTJgS./dyk7LzIqrZc/MXEeybmzGTv21Co9jTgm6jJZ/BMiUZK0uGFqOF175Umcguo4TJqwCKM/:17617:0:99999:7:
::
sshd:*:17617:0:99999:7:::
ikphp:!:17617:0:99999:7:::

上面全是密码文本:
---------------------------------
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

登录名:daokr

加密字符串:$6$5WFBWzId$qZF3/lmwl/2qTJgS./dyk7LzIqrZc/MXEeybmzGTv21Co9jTgm6jJZ/BMiUZK0uGFqOF175Umcguo4TJqwCKM/

最后一次修改时间:17617

其他。。。。

  1. "登录名"是与/etc/passwd文件中的登录名相一致的用户账号
  2. "口令"字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合 { ./0-9A-Za-z }中的字符,则对应的用户不能登录。
  3. "最后一次修改时间"表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCO Linux 中,这个时间起点是1970年1月1日。
  4. "最小时间间隔"指的是两次修改口令之间所需的最小天数。
  5. "最大时间间隔"指的是口令保持有效的最大天数。
  6. "警告时间"字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
  7. "不活动时间"表示的是用户没有登录活动但账号仍能保持有效的最大天数。
  8. "失效时间"字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。

删除账号

  删除刚才创建的ikphp账号命令

  

userdel  -r ikphp

如上命令会把 ikph的主目录 /home/uhome 一起删除 

或者用

userdel ikphp

只删除账号;不删除目录;然后再 用刚才的more命令看下 passwd 和 /etc/group 和 /etc/shadow 里面 肯定没有了ikphp的资料

 

修改账号

  和添加账号一样的参数

常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
另外,有些系统可以使用选项:-l 新用户名
这个选项指定一个新的账号,即将原来的用户名改为新的用户名。
例如:

# usermod -s /bin/bash -d /home/IK –g mygroup ikphp

此命令将用户ikphp的登录Shell修改为bash,主目录改为/home/IK,用户组改为mygroup。

下面的命令将把 用户ikphp 添加到用户组 mygroup中 并且知道启动程序的 开始目录是 uhome ;而且启动用的shell是bash

# useradd -d /home/uhome -s /bin/bash -g mygroup ikphp

如果修改就把 useradd 改成 usermod 即可。

#usermod -d /home/uhome -s /bin/bash -g daokr ikphp

 

修改用户登录密码

[email protected]:/home# passwd ikphp
输入新的 UNIX 密码: 
重新输入新的 UNIX 密码: 
passwd:已成功更新密码

使用passwd指定用户名修改;具体参数如下

  • 可使用的选项:
  • -l 锁定口令,即禁用账号。
  • -u 口令解锁。
  • -d 使账号无口令。
  • -f 强迫用户下次登录时修改口令。
  • 如果默认用户名,则修改当前用户的口令。

 

二、用户组管理(查看已经存在用户组 | 添加用户组 |  修改用户组 | 删除用户组)

1.添加一个组

groupadd -g 1001 mygroup

可以使用的选项有:
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

此命令向系统中增加了一个新组mygroup,同时指定新组的组标识号是1001。

2.删除用户组

 groupdel mygroup

3.修改用户组

groupmod 选项 用户组

实例1:
# groupmod -g 102 group2
此命令将组group2的组标识号修改为102。
实例2:
# groupmod –g 10000 -n group3 group2
此命令将组group2的标识号改为10000,组名修改为group3。

修改mygroup 名称为ikphp 新组名称

groupmod -n ikphp mygroup













































以上是关于Linux 用户和用户组管理的主要内容,如果未能解决你的问题,请参考以下文章

Oracle-常用数据库对象笔记(片段)

《java精品毕设》基于javaweb宠物领养平台管理系统(源码+毕设论文+sql):主要实现:个人中心,信息修改,填写领养信息,交流论坛,新闻,寄养信息,公告,宠物领养信息,我的寄养信息等(代码片段

Linux 用户和用户组管理

VSCode 如何操作用户自定义代码片段(快捷键)

VS code自定义用户代码片段snippet

SnippetsLab for Mac 1.9 中文共享版 – 强大的代码收藏管理工具