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=(daokr) gid=(daokr) 组=(daokr),(adm),(cdrom),(sudo),(dip),(plugdev),(lpadmin),(sambashare)
daokr@DK:~$ pidof daokr
daokr@DK:~$ whoami
daokr
daokr@DK:~$ who
daokr tty7 -- : (:)
daokr pts/ -- : (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
其他。。。。
- "登录名"是与/etc/passwd文件中的登录名相一致的用户账号
- "口令"字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合 { ./0-9A-Za-z }中的字符,则对应的用户不能登录。
- "最后一次修改时间"表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCO Linux 中,这个时间起点是1970年1月1日。
- "最小时间间隔"指的是两次修改口令之间所需的最小天数。
- "最大时间间隔"指的是口令保持有效的最大天数。
- "警告时间"字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
- "不活动时间"表示的是用户没有登录活动但账号仍能保持有效的最大天数。
- "失效时间"字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。
删除账号
删除刚才创建的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 mygroup
可以使用的选项有:
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
此命令向系统中增加了一个新组mygroup,同时指定新组的组标识号是1001。
2.删除用户组
groupdel mygroup
3.修改用户组
groupmod 选项 用户组
实例1:
# groupmod -g group2
此命令将组group2的组标识号修改为102。
实例2:
# groupmod –g -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”组中
Linux 用户和用户组管理之 修改用户名和用户组;修改用户密码的更多相关文章
- LInux下设置账号有效时间 以及 修改用户名(同时修改用户组名和家目录)
在linux系统中,默认创建的用户的有效期限都是永久的,但有时候,我们需要对某些用户的有效期限做个限定!比如:公司给客户开的ftp账号,用于客户下载新闻稿件的.这个账号是有时间限制的,因为是付费的.合 ...
- Linux 下如何修改用户名(同时修改用户组名和家目录)
有时候,由于某些原因,我们可能会需要重命名用户名.我们可以很容易地修改用户名以及对应的家目录和 UID.-- Shusain 本文导航◈ 修改用户名12%◈ 修改家目录43%◈ 更改用户 UID52% ...
- Linux 完整的修改用户名,用户组的方法记录
今天将虚拟机内所有的用户都是统一规划自己的名字,方便识别操作,特记录相关修改Linux 用户名以及修改用户组的方法 第一种方式,直接改相关文件: /etc/passwd 如图所示,改为自己想用户名,描 ...
- 总结描述用户和组管理类命令的使用方法,系统用户相关信息,取出主机IP地址
1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. [root@db146 ~]# who|cut -f1 -d' ' |sort -u root 2.取出最后 ...
- MacOS修改用户名后变为普通用户,无法创建管理员账号
摘要:有的时候用户修改原电脑用户名,会把该用户降为普通用户,点击下方的锁会弹出下方图示,导致无法修改任何设置 解决方案: 重启电脑Restart按Command+S进入终端terminal输入以下命令 ...
- Linux用户和权限——管理用户和用户组的命令
Linux用户和权限——管理用户和用户组的命令 摘要:本文主要学习了在Linux系统中管理用户和用户组的命令. useradd命令 useradd命令可以用来创建新用户. 基本语法 useradd [ ...
- linux 用户及用户组管理
主要分为以下三部分: 1. 用户账号的添加.修改及删除 2. 用户口令的管理 3. 用户组管理 用户管理 1.添加新用户账号 $ useradd 选项 用户名 选项: -c comment 指定一段注 ...
- linux用户及权限管理
[文件管理.管道.用户及组管理.用户及权限管理]\用户及组管理 用户与组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这 ...
- Linux用户与组管理命令
1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. who | cut -d" " -f1 | sort -u 或 who | cut -d ...
随机推荐
- oracle数据库 TIMESTAMP(6)时间戳类型
时间戳类型,参数6指的是表示秒的数字的小数点右边可以存储6位数字,最多9位.由于时间戳的精确度很高,我们也常常用来作为版本控制. 插入时,如下方式:insert into test4 values(t ...
- PHP敏感信息脱敏函数
测试 $name = '王刚'; $mobile = '13817558198'; $name = desensitize($name,1,1); $mobile = desensitize($mob ...
- Expanded, SingleChildScrollView, CustomScrollView, container, height, width
SingleChildScrollView, CustomScrollView, container, init: double.inifinity. then use Expanded to con ...
- BUAA OO 2019 第四单元作业总结
目录 第四单元总结 总 UML UML 类图 UML 时序图 UML 状态图 架构设计 第十三次作业 第十四次作业 课程总结 历次作业总结 架构设计 面向对象方法理解 测试方法理解与实践 改进建议 尽 ...
- iOS自动签名网站
node.js作为服务端,调用shell脚本进行iOS包重签名. 需要安装:nodejs ,forever 安装环境: 安装nodejs 安装forever: npm install forever ...
- SQL*Plus 格式化查询结果
为了在 SQL*Plus 环境中生成符合用户需要规范的报表,SQL*Plus 工具提供了多个用于格式化查询结果的命令,使用这些命令可以实现设置列的标题.定义输出值的显示格式和显示宽度.为报表增加头标题 ...
- QTableWidget数据表格
void setRowHeight(int row, int height); //行高 void setVerticalHeaderLabels(const QStringList &lab ...
- SQL月度统计
select Convert ( VARCHAR(7),CreateTime,120) as Date ,sum(Money) as M FROM [LBAmmeterDB].[dbo].Am_Tas ...
- git/github安装与使用教程
新学习了Git和GitHub的使用,记一下笔记,也希望可以帮助他人,这里只是初级阶段,以后还会不断的修改和完善. 1.什么是git 开源的分布式版本控制系统,与svn比独特的地方: 1.解决了svn后 ...
- ubuntu-网络配置文件
vim /etc/NetworkManager/system-connections/Wired connectione 1