linux 用户、用户组及相关命令(useradd 、passwd、userdel 、groupadd 、groupdel、usermod 、gpasswd 、 id、su)
linux是一个多用户系统,用于权限管理(权限最小化);
相关命令:
7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|
useradd | passwd | userdel | groupadd | groupdel | usermod | gpasswd | id | su |
1、linux系统中主组和附加组
在Linux系统中创建每个用户时,将自动创建一个与其同名的基本用户组,而且这个基本用户组只有该用户一个人。如果该用户以后被归纳入其他用户组,则这个其他用户组称之为扩展用户组。一个用户只有一个基本用户组,但是可以有多个扩展用户组;
用户的基本组(主组)
用户的附加组:用户额外属于的组,一个用户可以加入多个附加组
2、Linux中的用户类别
在linux系统中共有3种用户:
管理员用户(root) | uid=0 | 可以登录系统 | 有管理权限 |
---|---|---|---|
普通用户 | 1000<uid | 可登录系统 | 没有管理权限 |
系统用户 | 1<uid<999 | 不可以登录用户 | 没有管理权限 |
注意:是否可以登录系统由shell类型决定,详见:本文中useradd命令讲解
3、用户管理相关文件
文件位置 | 文件信息 |
---|---|
/etc/passwd | 用户基本信息 |
/etc/shadow | 用户密码信息、过期时间等 |
/etc/group | 用户组信息 |
/etc/gshadow | 用户组密码 |
/etc/default/useradd | 创建用户的默认配置信息 |
/etc/skel/ | 用户家目录模板 |
/etc/login.defs | 全局用户设定信息 |
4、/etc/passwd文件详解
/etc/passwd: 每行是一个用户,用来记录用户的基本信息,每行的格式
account:password:UID:GID:GECOS:directory:shell
其中:
accout:用户名
password:用户密码,密码位置默认是x
UID:用户身份id,用来唯一的标识一个用户
GID:用户组id,用来在系统中唯一的标识一个用户组(这里指的是其基本组的组ID)
GECOS:用户描述信息,可以空白,也可以随意写(useradd -c )
directory:用户家目录
shell:用户所使用的shell类型
/bin/bash–>可以登录系统
/sbin/nologin–>该用户一定无法登录系统
╭─root@localhost.localdomain ~
╰─➤ cat /etc/passwd
root:x:0:0:root:/root:/bin/zsh
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
du:x:1000:1000:du:/home/du:/bin/bash
root : x : 0 : 0 : newuser : /root : /bin/bash
用户名 : 密码 : 用户id : 用户所在组的id : 描述信息 : 家目录 : shell类型
5、/etc/group文件详解
用户组信息
linux,用户一定是属于一个组的在linux中,创建用户的时候,会自动创建一个组,组名和组id都和所创建的用户相同,而且,该用户会自动加入到这个组中;
groupname:password:GID: [user1, user2…..]
组成:
groupname:组名
password:组密码
GID:组id
[user1, user2…..]:该组中的用户列表
╭─root@localhost.localdomain ~
╰─➤ cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
mail:x:12:postfix
tcpdump:x:72:
du:x:1000:du
6、/etc/shadow文件详解
zxhk: $6$dgnPoZ0s$6xNKEWz : 17729 : 0 : 99999 : 7 : : :
第一段:用户名:
第二段:加密后的密码
第三段:上次修改密码举例元年经过的天数1970年1月1日(如果该字段空,意味着该用户密码被禁用)
第四段:密码最短使用时间(0表示不限制)
第五段:密码最长有效期(99999表示不限制)(如果第5的值小于第四段,那么用户无法修改自己的密码)
第六段:密码到期前几天开始发送告警,提示密码即将过去,请立即修改
第七段:非活动期间,密码到期后的宽限时间(登录系统的时候必须先修改密码,才能登录)
第八段:密码过期时间(也是举例计算机元年经过的天数)(这里和前面的几个时间没有联系)
第九段:保留字段
╭─root@localhost.localdomain ~
╰─➤ cat /etc/shadow
root:$6$8.xhQ.jTum4dlHEi$fM.SZ2c7mEx7pfCNRJbOrwGBDM5OUySnv7pXIGrjhDbCWEk8Omba3atvGw8GexM/IhEyxskiPx4sE4beJPVKK.::0:99999:7:::
bin:*:17110:0:99999:7:::
daemon:*:17110:0:99999:7:::
du:$6$0RkDAuAfxyCuINAA$3PokksZIeoqccUXseqJBhhHoQEjT0G97IvztZNupUwBC4cxN3JtZkLlsaExH7Api0GTmDcASMZnCG/mVsa3dJ.::0:99999:7:::
7、Useradd命令
useradd [options] username
options:
-d:指定用户家目录 –home
-c:用户说明信息–comment
-e: 指的账号的过期时间–expiredate ;时间格式 YYYY/MM/DD
-g:指的用户的基本组的组id –gid #1
-G:指的用户的附加组列表 –groups #2
-u :指的用户的uid #3
-r :创建一个系统用户 #4 不创建家目录,不会复制 /etc/skel 下的文件;
-s :指定用户的shell类型(/bin/bash/,/sbin/nologin) #5
/bin/bash–>可以登录系统
/sbin/nologin–>该用户一定无法登录系统
useradd -s /sbin/nologin -r user1 #创建一个系统用户user1
8、passwd 修改用户密码
passwd [[options] username]
options:
-l:锁定用户
-u:解锁用户
-d:删除用户密码
-e:让用户密码过期
:如果不指定用户名,那么就是修改当前用户的密码
--stdin
echo “ 123“ | passwd --stdin user1 #表示给user1 用户设置密码123 (user1 用户必须存在)
9、Userdel命令
userdel [-r] username #-r:在删除用户的时候,连同用户数据一并删除
rm -rf /home/username 删除用户名
rm -rf /var/spool/mail/* 删除邮件mail
10、 groupadd 创建用户组
groupadd [-g] groupname # -g 指定组ID
11、 groupdel 删除用户组
groupdel groupname
12、Usermod命令
usermod [options] username
options:
-g, –gid 基本组组id #1
-G, –groups 附加组组id #2
-u, –uid user的id #3
-s, –shell 更改shell类型 #4
-L, –lock: 锁定用户账号
-U : 解锁用户账号
-l, –login变更使用者login时的名称为login_name
-e, –expiredate 加上使用者帐号停止日期 ,日期格式为MM/DD/YY.
-d, –home 更新使用者新的登入目录
-m, –move-home:移动用户家目录至新的位置
╭─root@localhost.localdomain ~
╰─➤ useradd -s /sbin/nologin test1
╭─root@localhost.localdomain ~
╰─➤ usermod -s /bin/bash test1
╭─root@localhost.localdomain ~
╰─➤ id test1
uid=1001(test1) gid=1001(test1) group=1001(test1)
13、gpasswd 命令
option:
-a, --adduser
向名为 group 的组中添加用户 user
-d, --deleteuser
从名为 group 的组中移除用户 user
╭─root@localhost.localdomain ~
╰─➤ usermod -G root du
╭─root@localhost.localdomain ~
╰─➤ id du
uid=1000(du) gid=1000(du) 组=1000(du),0(root)
╭─root@localhost.localdomain ~
╰─➤ usermod -G du du
╭─root@localhost.localdomain ~
╰─➤ id du
uid=1000(du) gid=1000(du) 组=1000(du)
╭─root@localhost.localdomain ~
╰─➤ man gpasswd
╭─root@localhost.localdomain ~
╰─➤ gpasswd -a du root
正在将用户“du”加入到“root”组中
╭─root@localhost.localdomain ~
╰─➤ id du
uid=1000(du) gid=1000(du) 组=1000(du),0(root)
╭─root@localhost.localdomain ~
╰─➤ gpasswd -a root du
正在将用户“root”加入到“du”组中
╭─root@localhost.localdomain ~
╰─➤ gpasswd -d du root
正在将用户“du”从“root”组中删除
╭─root@localhost.localdomain ~
╰─➤ gpasswd -d root du
正在将用户“root”从“du”组中删除
14、id命令
作用:用来查看指定的用户的信息(或判断用户是否存在)
id [-u|-g|-G] username
option:
-u:仅仅显示用户uid
-g:仅仅显示用户gid
-G:仅仅显示用户全部组id
15、su命令(switch user)
- 作用:进行切换用户
- 格式:su – 目标用户
- su命令和su -命令最大的本质区别就是:
前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了;只有切换了Shell环境才不会出现PATH环境变量错误;su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了;用echo $PATH命令看一下su和su -以后的环境变量有何不同;以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令.
╭─root@localhost.localdomain ~
╰─➤ su - du
上一次登录:五 5月 10 20:30:49 CST 2019pts/0 上
[du@localhost ~]$
linux 用户、用户组及相关命令(useradd 、passwd、userdel 、groupadd 、groupdel、usermod 、gpasswd 、 id、su)的更多相关文章
- 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令
Linux用户以及权限相关命令 查看身份 id:Display user identity. 这个命令的输出会显示uid,gid和用户所属的组. uid即user ID,这是账户创建时被赋予的. gi ...
- linux学习16 Linux用户和组管理命令演练和实战应用
一.上集回顾 1.bash globing,IO重定向及管道 glob:*,?,[],[^] IO重定向: >,>>, 2>,2>> &>,& ...
- linux 目录结构及其相关命令
目录也是一个文件,它的唯一功能是用来保存文件及其相关信息.所有的文件,包括普通文件.设备文件和目录文件,都会被保存到目录中. 主目录 登录后,你所在的位置就是你的主目录(或登录目录),如果是root用 ...
- Linux 查看磁盘空间 相关命令
Linux 查看磁盘空间 相关命令 实际工作中,我们经常需要查看磁盘空间的使用情况,以防止磁盘空间不足,导致的系统崩溃或者服务异常等问题. 常用的磁盘空间查看命令如下: 1.查看磁盘空间的整体使用情况 ...
- Linux用户名、用户组的相关命令
whoami 查看当前登录用户 id 用户名 查看用户名的id 及所属组 groups 查看当前登录用户的所有所属组 groups 用户名 查看指定用户的所有所属组 cat /etc/passwd ...
- Linux用户和组管理命令-用户创建useradd
用户管理命令 useradd usermod userdel 组帐号维护命令 groupadd groupmod groupdel 用户创建 useradd 命令可以创建新的Linux用户 格式: u ...
- Linux 用户和用户组管理(useradd userdel groupadd groupdel)
Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. Linux系统用户账户的 ...
- Linux 用户&用户组
用户和用户组的概念 用户 ---> 使用操作系统的人 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系 ...
- linux用户和组管理,/etc/passwd 、/etc/shadow和/etc/group 文件内容解释
与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是用户资讯的加密文件,比如用户的密码口令的加密保存等: /etc/passwd 和/etc/s ...
随机推荐
- Android——几种数据存储应用浅谈
(1)android中的数据存储主要有五种方式: 第一种.sharedPreferences存储数据, 适用范围:保存少量的数据,且这些数据的格式非常简单:字符串型.基本类型的值.比如应用程序的各种配 ...
- kafka的概念
1.生产者: 生产者发送消息到broker,有三种确认方式(request.required.acks)acks = 0: producer不会等待broker(leader)发送ack .因为发送消 ...
- vue element 表单验证不通过,滚动到固对应位置
我们在使用elementIUI实现表单验证,内容比较多的时候,提示内容会被遮挡,这时候用户不清楚什么情况,还会连续点击提交按钮.这个时候需求来啦:我们需要在表单验证不通过的时候,页面滚动到对应的位置. ...
- Spring中的@Valid 和 @Validated注解你用对了吗
1.概述 本文我们将重点介绍Spring中 @Valid和@Validated注解的区别 . 验证用户输入是否正确是我们应用程序中的常见功能.Spring提供了@Valid和@Validated两个注 ...
- 关于vuex的数据不直接给data而要通过computed
# 为什么vuex的数据不直接给data而要通过computed计算 ## 疑惑 其实一直以来使用vue的状态管理vuex都有一个疑惑,文档中介绍,vue的状态数据`$store.state.xx`的 ...
- 【Oracle】常见等待事件处理
1.查看数据库中需要关注的等待事件: select sw.seq#,sw.sid||','||s.serial# sids,s.username,sw.event,sw.P1,sw.p2,sw.p3, ...
- 爬虫系列 | 6、详解爬虫中BeautifulSoup4的用法
bs4,全称BeautifulSoup 4 , 它是Python独有的一种解析方式.也就是说只有Python语言才可以通过这种方式去解析数据. BeautifulSoup 3 只支持Python2,所 ...
- PeleeNet:精修版DenseNet,速度猛增至240FPS | NeurIPS 2018
PeleeNet是DenseNet的一个变体,没有使用流行的深度可分离卷积,PeleeNet和Pelee仅通过结构上的优化取得了很不错的性能和速度,读完论文可以学到很多网络设计的小窍门. 来源:晓 ...
- 人工智能"眼睛"——摄像头
摄像头机器视觉人工智能的"眼睛",其重要性在嵌入式领域不言而喻.但是如何理解和使用摄像头却是一个非常棘手的问题.本文主要针对调试摄像头过程中遇到的问题,对摄像头的基本原理及概述进行 ...
- Rancher On K3s 高可用架构部署
Rancher 推荐部署架构 k3s 模式 RKE 和 k8s 模式 备注: 我对 RKE 的理解就是 Ansible + kubeadm 的打包,首先 rke 需要到每一个节点都可以免密 ssh , ...