linux新增、修改用户和组的方法
linux用户和组相关的命令
文章目录
- linux用户和组相关的命令
- 0.介绍
- 1.用户管理
- useradd创建用户
- su切换用户
- whoami查看当前用户
- $SHELL显示shell类型
- id查看用户属性
- passwd修改密码
- passwd
- chage
- usermod
- usermod 修改用户属性
- userdel 删除用户
- 2.组管理
- groupadd 创建组
- groupmod 修改组
- groupdel 删除组
- gpasswd 修改组的密码
- newgrp 切换用户的基本组
- 3.示例
0.介绍
linux是多用户,多任务系统。文件系统是一种数据抽象
文件权限针对下面三种对象:属主,属组,其他人
- 属主:拥有者
- 属组:所属的组
- 其他人:不属于上述两类
用户:分为管理员和普通用户
- 管理员:root用户,id=0
- 普通用户分为系统用户(用来执行系统程序,不能登录用来管理系统,id在1-499),可登录用户(id >500)
组:容器,映射用户群和访问权限
1.用户管理
可以创建用户,修改用户属性,删除用户,创建组,修改组属性,删除组等操作
useradd创建用户
useradd或adduser都可以用户创建用户
useradd tom
创建用户时,系统自动创建同名的组,用户的私有组,只为用户一个人使用
用户数据保存在/etc/passwd文件夹,格式如下
fedora:x:2003:2003:Fedora Community:/home/fedora:/bin/tcsh
用户名:密码占位符:UID:GID:注释信息:家目录:默认shell
useradd USERNAME:-u UID 指定uid,有效范围 0-65535,不能重复;如果没有给用户指定基本组,且与UID相同的GID没有被占用,这GID同UID-g GID 有效范围已有的GID的基本组-G GID 有效范围已有的GID,可以有多个额外组-c COMMENT 指定注释信息-d /path/to/somewhere 指定家目录的路径-s /path/to/shell_command 指定shell路径-r 创建系统用户,ID号为1-499之间的用户系统用户的家目录有路径,但是不会被创建-M 不为用户创建家目录-m 必须为用户创建家目录
创建用户示例:
点击跳转示例1
点击跳转示例2
su切换用户
su (switch user) 命令,管理员su到普通用户,不需要用户密码;反之,不行
su USERNAME
su -l USERNAME
su - USERNAME
whoami查看当前用户
显示当前登录的用户名
$SHELL显示shell类型
echo $SHELL
id查看用户属性
id USERNAME
:显示的用户uid gid等
id suse -u 显示uid-g 显示gid-gn 显示组名finger 查看用户信息
finger suse
passwd修改密码
linux没有密码的用户不允许登录
passwd # 修改当前用户的密码
passwd USERNAME # 修改指定用户的密码,只有管理员有这个权限 passwd -l USERNAME # 锁定用户账号
passwd -u USERNAME # 锁定用户账号
修改密码示例:
点击跳转示例4
用户密码在/etc/shadow文件夹中,通常改文件没有任何权限,每一行格式如下
fedora:$6$CEJ63Rfa$UEsHnz/cx/tDRTFAfEawjEI7yGiOzedpMEXcjWvkRvDx14FmXceqquhmAtMWuv764zgtufgdUaNVEokrFkTfu1:19112:2:50:7:::
登录名 : 加密的密码串 : 最近一次修改密码的时间 : 密码最短使用期限 : 密码最长使用期限 : 密码到期警告天数 : 账号非活动天数 : 账号过期期限 : 预留段
- 加密密码串
$ 加密方法 $ 8位随机数salt $ 密码
$分隔符,加密方法:1代表MD5加密,6代表sha-512 - 最近一次修改密码的时间:1970/1/1开始到上次修改密码时间
- 账号非活动天数:密码到期后,账号没有立即锁定账户,但是用户登录必须修改密码
- 加密算法:
- 对称加密:加密解密使用同一个秘钥,例如:3DES,AES;
缺点:秘钥管理和分发不利 - 非对称加密:公钥加密,秘钥是成对的,私钥(s)/公钥§,公钥可以从私钥中提取得到,公钥加密,私钥解密。例如:RSA,DSA;
特点:加密速度慢,安全性高;能完成秘钥分发 - 单项加密:只能加密,不能解密,类似于hash,用于实现提取数据特征码;例如:md5(128位),sha,SHA1(160位),SHA256(256位),SHA512
特点:无论输入多大数据,输出是定长的;输入一样,结果一定一样,反正输入数据微小改变,结果巨大改变(雪崩效应)
通常密码加密,还需要加salt,salt不同,密码加密后hash值也不一样。防止hash值相同时,密码被破解。所以即使看到salt和加密后hash值,也不能推出原密码
加密命令
openssl passwd -1 -salt 12345678 redhat
密码安全策略
足够复杂:
1.密码长度至少5位以上;
2.要包含大小写,数字,特殊字符至少三类;
3.要定期更换,不要重复使用此前用过的密码
查看passwd和shadow文件的帮助文件
[root@node1 ~]# whatis shadow
shadow (3) - 加密密码文件工具函数
shadow (5) - 影子化了的密码文件
[root@node1 ~]# man 5 shadow 可以查看相关用法
[root@node1 ~]# whatis passwd
sslpasswd (1ssl) - compute password hashes
passwd (1) - update user's authentication tokens
passwd (5) - password file
[root@node1 ~]# man 5 passwd
passwd
修改秘钥属性有passwd,chage,usermod方法,但是只有管理员可以操作
passwd USERNAME-e YYYY-MM-DD-i 非活动天数-n 密码最短使用天数-x 最长使用天数-w 警告天数
修改密码示例:
点击跳转示例4
chage
chage USERNAME-d 修改最近一次密码修改时间-m 最短使用天数-M 修改最长使用天数-W 警告天数-I 非活动天数-E 过期时间
usermod
usermod USERNAME-e YYYY-MM-DD 过期时间 -i day 非活动天数
usermod 修改用户属性
可以修改用户属性
usermod:-u UID-g GID-G GID 修改额外组,覆盖原来的额外组-a -G 保留原来的额外组,并追加新GID -c COMMENT-s /PATH/TO/SHELL-l NEW_NAME 修改用户的登录名称-d /path/to/somewhere 修改家目录-m -d /path/to/somewhere 修改家目录,并将原家目录中的文件移动过去-r 创建系统组
每个家目录是由系统从/etc/skel
目录中的隐藏文件生成的默认家目录。
修改用户属性示例:
点击跳转示例3
点击跳转示例5
userdel 删除用户
不会删除用户家目录
userdel USERNAME
2.组管理
groupadd 创建组
创建用户时,会给用户创建一个私有组(用户基本的组),除此之外的组成为额外组,系统用户的组称为系统组。
groupadd GRPNAME-g 创建组的时候指定GID
/etc/group文件存放组的信息
组名:密码占位符:GID:以此组为额外组的用户列表
新建组示例:
点击跳转示例1
groupmod 修改组
相当于操作/etc/group文件夹
groupmod 修改组属性-g GID-n NEW_NAME
groupdel 删除组
groupdel GRPNAME
gpasswd 修改组的密码
当其他用户不属于这个组时,但需要临时使用这个组,就需要组密码,才能使用这个组
gpasswd GROUPNAME
组密码存放在/etc/gshadow目录下,格式如下
hellogrp:$6$Lt7iB/9mtcO/$AJ1NGZFNOSO7dN96ZUrGThD6vN.1r0IpIUDfgfRA9WUBAScaBz3RrFXns.q.wMp4DOxfkv2KzfJMVb3o5u6Fe0::
组名:组密码:管理员:成员
newgrp 切换用户的基本组
newgrp GROUPNAME
临时切换当前用户的基本组,退出使用exit
修改组密码示例:
点击跳转示例6
3.示例
示例1
创建一个用户mandriva,其ID号为2002,基本组为distro(组ID为3003),附加组为linux
groupadd -g 3003 distro
groupadd linux
useradd -u 2002 -g distro -G linux mandriva
创建结果如下
[root@node1 ~]# tail -2 /etc/group
linux:x:1001:mandriva
distro:x:3003:
[root@node1 ~]# tail -1 /etc/passwd
mandriva:x:2002:3003::/home/mandriva:/bin/bash
示例2
创建一个用户fedora,其全名为Fedora Community,默认shell为tcsh;
useradd -c "Fedora Community" -s /bin/tcsh fedora
创建结果如下
[root@node1 ~]# tail -1 /etc/passwd
fedora:x:2003:2003:Fedora Community:/home/fedora:/bin/tcsh
示例3
修改mandriva的ID号为4004,基本组为linux,附加组为distro和fedora
usermod -u 4004 -g linux -G distro,fedora mandriva
创建结果如下
[root@node1 ~]# id mandriva
uid=4004(mandriva) gid=1001(linux) 组=1001(linux),3003(distro),2003(fedora)
示例4
给fedora加密码,并设置其密码最短使用期限为2天,最长为50天
passwd fedora
passwd -n 2 -x 50 fedora
或者
chage -m 2 -M 50 fedora
结果如下
[root@node1 ~]# id fedora
uid=2003(fedora) gid=2003(fedora) 组=2003(fedora)
[root@node1 ~]# passwd fedora
更改用户 fedora 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@node1 ~]# passwd -n 2 -x 50 fedora
调整用户密码老化数据fedora。
passwd: 操作成功
示例5
将mandriva的默认shell改为/bin/bash
usermod -s /bin/bash mandriva
示例6
创建一个hellogrp组,设置密码;并且使用fedora用户基本组切换为hellogrp,创建一个1.txt文件
[root@node1 ~]# groupadd hellogrp
[root@node1 ~]# gpasswd hellogrp
正在修改 hellogrp 组的密码
新密码:
请重新输入新密码:
[root@node1 ~]# su - fedora
[fedora@node1 ~]$ cd /tmp
[fedora@node1 /tmp]$ id
uid=2003(fedora) gid=2003(fedora) 组=2003(fedora)
[fedora@node1 /tmp]$ touch 1.txt
[fedora@node1 /tmp]$ ls -l
总用量 0
-rw-rw-r-- 1 fedora fedora 0 5月 1 15:45 1.txt
[fedora@node1 /tmp]$ newgrp hellogrp
密码:
[fedora@node1 /tmp]$ touch 2.txt
[fedora@node1 /tmp]$ ls -l
总用量 0
-rw-rw-r-- 1 fedora fedora 0 5月 1 15:45 1.txt
-rw-r--r-- 1 fedora hellogrp 0 5月 1 15:46 2.txt
[fedora@node1 /tmp]$ id
uid=2003(fedora) gid=4006(hellogrp) 组=4006(hellogrp),2003(fedora)
[fedora@node1 /tmp]$ exit
exit
如果切换到该用户已有的额外组,则不需要输入组密码
linux新增、修改用户和组的方法相关推荐
- Linux centos修改用户所属组的方法
Linux修改用户所属组1.设置某个用户所在组1 usermod -g 用户组 用户名 注:-g|--gid,修改用户的gid,该组一定存在2.把用户添加进入某个组(s)1 usermod -a -G ...
- linux usermod修改用户所在组方法
usermod 用户名 -g 组名 -g<群组> 修改用户所属的群组. -G<群组> 修改用户所属的附加群组. 转载于:https://www.cnblogs.com/wuyo ...
- Linux中修改用户UID和组GID的方法
Linux中修改用户UID和组GID的方法 http://www.sijitao.net/2401.html 发表时间:2016-04-20 21:30 | 分类: Linux | 浏览:2,344 ...
- linux 添加用户主目录,linux下修改用户主目录的方法
linux下修改用户主目录的方法 第一,修改/etc/passwd文件 第二,usermod命令 具体方法: 第一种方法:vi /etc/passwd 找到要修改的用户那几行,修改掉即可.此法很暴力, ...
- linux基础入门---用户和组管理命令
计算机中用户的作用:主要实现资源分享,在分享资源同时涉及到资源安全,又新增用户密码认证,使其资源由特定权限的用户或用户组才可访问. linux系统中用户和组分类: 用户分为:管理员用户(root).普 ...
- linux能修改用户的权限,linux怎样修改用户权限
ls -l 查看目录下的文件详细信息 ll 同上 whoami 功能说明:先似乎用户名称. 语 法:whoami [--help][--version] 补充说明:显示自身的用户名称,本指令相当于执 ...
- Linux——万字总结用户与组相关知识!建议收藏!
目录 用户和组 用户账户 用户的家目录 组账号 创建用户背后发生了什么? 小练习:# 截取第七字段并查找出几种 useradd命令 userdel -r 用户名 -->家目录和本地邮件目录全 ...
- linux 查看当前用户和组的信息,Linux查看所有用户和组信息
主要通过以下两个命令: cat /etc/passwd cat /etc/group 步骤一:cat /etc/passwd查看所有的用户信息,详情如下图: 步骤2:cat /etc/passwd|g ...
- linux下创建用户及组
linux下创建用户及组: 1.创建组 groupadd 组名 2.创建用户,并将用户添加到组 useradd 用户名 -g 组名 3.更改用户的密码 password 用户名 4.修改目录 ...
最新文章
- 基于微软开源深度学习算法,用 Python 实现图像和视频修复
- python求圆柱表面积_python基础知识-字典
- linux日常运维手册_Linux日常运维上传下载工具lrzsz
- 设置IDEA中各种线条颜色
- 阿里云在应用扩缩容下遇到的挑战与选型思考
- 计算机科学的大部分研究是基于,计算机科学
- php try catch 作用域,php作用域
- 攻防演练中的业务逻辑漏洞及检测思路
- 第六章勘误以及Normalization算法不完整
- [注]什么是用户?估计90%人不知道
- Github上好的Android开源框架
- synchronized可重入锁
- linux socket版本 can,linux socket can程序cantool
- 推荐好用的ssh远程连接 linux的工具
- 开学必备宿舍神器,续航好的蓝牙耳机推荐
- 计算机硬盘容量分配,电脑磁盘分区容量大小怎么调整
- 《python股票量化交易从入门到实践》摘要
- 数学小故事之 柯西的故事
- 每当我夜深人静的时候下载小电影,总是会卡在百分之九十九,这是正义的制裁么?
- linux服务器之间文件传输scp