Linux 用户和用户组管理之 修改用户名和用户组;修改用户密码

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

查看存在的账号:

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

 查看当前登录用户名命令:whoami

查看系统全部登录用户:who命令;这个可以看所有已经连接到系统的用户;不管是xshell 的标签页面还是其他

查看当前登录用户的ID:id命令

id -u daokr 查看daokr的id

切换用户命令:su 用户名

Ubuntu系统切换root: su  -i

daokr@DK:~$ id
uid=1000(daokr) gid=1000(daokr) 组=1000(daokr),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)
daokr@DK:~$ pidof daokr
daokr@DK:~$ whoami
daokr
daokr@DK:~$ who
daokr    tty7         2018-03-30 23:18 (:0)
daokr    pts/4        2018-03-31 16:39 (192.168.10.1)

添加用户账号命令: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

chsh命令: 修改默认启动的shell路径

daokr@DK:~$ chsh -s /bin/bash ikphp
您不能为“ikphp”更改 shell。
daokr@DK:~$ sudo chsh -s /bin/bash ikphp
daokr@DK:~$ cat /etc/passwd

使用-D参数修改创建新用户的默认配置 -D 意识是default;

这样新用户的默认启动路径 就是/bin/bash

sudo useradd -D -s /bin/bash

修改用户登录密码

root@daokr-sys:/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

4.查看用户组命令 groups 或者 直接查看  

/etc/group 这个目录下的文件
daokr@DK:~$ groups
daokr adm cdrom sudo dip plugdev lpadmin sambashare
daokr@DK:~$ cat /etc/groups
cat: /etc/groups: 没有那个文件或目录
daokr@DK:~$ cat /etc/group

 查看groups daokr 这个用所在的用户组

daokr@DK:~$ groups daokr
daokr : daokr adm cdrom sudo dip plugdev lpadmin sambashare ikphp

5.利用gpasswd 命令修改用户daokr 所在用户组

-d:参数 从指定的组里删掉指定用户

daokr@DK:~$ sudo gpasswd -d daokr ikphp
正在将用户“daokr”从“ikphp”组中删除

-a:参数 把用户daokr添加到指定用户组中

daokr@DK:~$ sudo gpasswd -a daokr ikphp
正在将用户“daokr”加入到“ikphp”组中
原文地址:https://www.cnblogs.com/wanglijun/p/8658661.html