linux用户组登录,linux用户和用户组

1.用户组和权限管理

用户分为三类:

1.1 超级用户:root uid=0,简单来说uid为0的用户就是超级用户。

1.2 虚拟用户:存在linux中,满足文件或者程序运行的需要,而创建的。不能登录,不能使用。

uid=1-499,1-999(centos7)

1.3 普通用户:管理员root创建的用户。uid=500+,1000+(centos7)

用户组就是具有相同特征的用户的集合。一个组可以包含多个用户,每个用户也可以属于不同的组。用户组的目的方便管理员对用户进行集中管理。用户组也分为两类:系统组和普通组。

用户及用户组配置文件介绍

/etc/passwd 用户及其属性信息

584720f09228

image.png

第一列(以冒号为分隔符):用户名

第二列:密码位

第三列:UID号 CentOS6 1-499为系统用户,预留

CentOS7 1-999为系统用户,预留

第四列:GID号 主组和辅助组

第五列:用户全名或注释

第六列:用户的家目录

第七列:用户默认的shell类型

/etc/group 组及其属性信息

584720f09228

image.png

第一列:用户名

第二列:密码位 ‘’ 加密方式salt$password

‘!!’代表账户被锁定

第三列:更改密码时间(天数计算)---距离1970年1月1号时间

第四列:密码最短口令有效期

第五列:口令过期时间,更改口令往后的时间

第六列:口令到期前提前多少天提醒

第七列:口令过期后多少天账户过期

第八列:帐号的有效期

/etc/gshadow 组密码及其相关属性

584720f09228

image.png

第一列:组名

第二列:组密码

第三列:管理员列表,可以更改组密码和成员

第四列:将该组作为辅助组的成员列表

2.用户和组管理命令

用户管理命令

2.1 useradd

-u uid 创建用户时指定uid

-g gid 指明用户所属基本组

-c 用户的注释信息

-M 不建家目录

-s 指定用户的默认shell

-e 用户过期时间

-G 为用户指明附加组,组须事先存在

案例1:创建用户gentpp,附加组为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution"。

[root@centos7 ~]#useradd gentpp -G bin,root -s /bin/csh -c "hello"

[root@centos7 ~]#cat /etc/passwd|tail -n1 #查看/etc/passwd最后一行

[root@centos7 ~]#id gentpp

uid=1007(gentpp) gid=1008(gentpp) groups=1008(gentpp),0(root),1(bin)

2.2 usermod

-u UID: 新UID

-g GID: 新主组

-G 新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项

-s 新的默认SHELL

-c 新的注释信息

-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项

-l login_name: 新的名字

-L: lock指定用户,在/etc/shadow 密码栏的增加!

-U: unlock指定用户,将/etc/shadow 密码栏取消!centos7不可以解锁

案例:修改gentpp的默认shell和描述信息

[root@centos7 ~]#cat /etc/passwd | tail -n1

gentpp:x:1007:1008:Gentoo Distribution:/home/gentpp:/bin/csh

[root@centos7 ~]#usermod -s /bin/sh gentpp

[root@centos7 ~]#cat /etc/passwd | tail -n1

gentpp:x:1007:1008:new world:/home/gentpp:/bin/sh

2.3 userdel

-r 删除用户时,连同其家目录一同删除

2.4 passwd命令

passwd命令用于修改用户密码、过期时间、认证信息等,格式为“passwd [选项] [用户名]”。

普通用户只能使用passwd命令修改自身的系统密码,而root管理员则有权限修改其他所有人的密码。更酷的是,root管理员在Linux系统中修改自己或他人的密码时不需要验证旧密码,这一点特别方便。既然root管理员可以修改其他用户的密码,就表示完全拥有该用户的管理权限。

passwd命令中的参数以及作用

参数 作用

-l 锁定用户,禁止其登录

-u 解除锁定,允许用户登录

--stdin 允许通过标准输入修改用户密码,如echo "NewPassWord" | passwd --stdin Username

-d 使该用户可用空密码登录系统

-e 强制用户在下次登录时修改密码

-S 显示用户的密码是否被锁定,以及密码所采用的加密算法名称

假设您有位同事正在度假,而且假期很长,那么可以使用passwd命令禁止该用户登录系统,等假期结束回归工作岗位时,再使用该命令允许用户登录系统,而不是将其删除。这样既保证了这段时间内系统的安全,也避免了频繁添加、删除用户带来的麻烦:

[root@linuxprobe ~]# passwd -l linuxprobe

Locking password for user linuxprobe.

passwd: Success

[root@linuxprobe ~]# passwd -S linuxprobe

linuxprobe LK 2017-12-26 0 99999 7 -1 (Password locked.)

[root@linuxprobe ~]# passwd -u linuxprobe

Unlocking password for user linuxprobe.

passwd: Success

[root@linuxprobe ~]# passwd -S linuxprobe

linuxprobe PS 2017-12-26 0 99999 7 -1 (Password set, SHA512 crypt.)

3. 组帐号管理命令

3.1 创建用户组

用户和用户组属于多对多关系,一个用户可以同时属于多个用户组,一个用户组可以包含多个不同的用户

创建用户组使用groupadd命令,其命令用法为:

groupadd [-r] 用户组名称

若命令带有-r参数,则创建系统用户组,该类用户组的GID值小于500;若没有-r参数,则创建普通用户组,其GID值大于或等于500.

584720f09228

image.png

3.2 修改用户组属性

用户组创建后,根据需要可对用户组的相关属性进行修改。对用户组属性的修改,主要是修改用户组的名称和用户组的GID值。

(1)改变用户组的名称

若要对用户组进行重命名,可使用带-n参数的groupmod命令来实现,其用法为:

groupmod -n 新用户组名 原用户组名

对于用户组改名,不会改变其GID的值

比如,若要将student用户组更名为teacher用户组,则操作命令为:

[root@localhost ~]# tail -3 /etc/group

student:x:501:

lijie:x:502:

vodup:x:503:

[root@localhost ~]# groupmod -n teacher student

[root@localhost ~]# tail -3 /etc/group

lijie:x:502:

vodup:x:503:

teacher:x:501:

(2)重设用户组的GID

用户组的GID值可以重新进行设置修改,但不能与已有用户组的GID值重复。对GID进行修改,不会改变用户名的名称。

要修改用户组的GID,可使用带-g参数的groupmod命令,其用法为:

groupmod -g new_GID 用户组名称

例如,若要将teacher组的GID更改为504,则操作命令为:

[root@localhost ~]# tail -3 /etc/group

lijie:x:502:

vodup:x:503:

teacher:x:501:

[root@localhost ~]# groupmod -g 504 teacher

[root@localhost ~]# tail -3 /etc/group

lijie:x:502:

vodup:x:503:

teacher:x:504:

3.3 删除用户组

删除用户组使用groupdel命令来实现,其用法为:

groupdel 用户组名

在删除用户组时,被删除的用户组不能是某个账户的私有用户组,否则将无法删除,若要删除,则应先删除引用该私有用户组的账户,然后再删除用户组。

[root@localhost ~]# groupdel teacher

groupdel: cannot remove the primary group of user 'zhangjie'

[root@localhost ~]# userdel -r zhangjie

[root@localhost ~]# groupdel teacher

[root@localhost ~]# grep teacher /etc/group #没有输出,说明teacher用户组已不存在,删除成功

3.4添加用户到指定的组/从指定的组中移除用户gpasswd:

-a user 将user添加至指定组中

-d user 从指定组中移除用户user

584720f09228

image.png

Adding user ma to group zhu #将用户qb2添加到组qian2中

Removing user ma from group zhu #将用户qb2从组qian2中删除

3.5. groupmems[options] [action]

options:

-g 更改为指定组

actions:

-a 指定用户加入组

-d 从组中删除用户

-p 从组中清除所有成员

-l 显示组成员列表

案例:

[root@centos7 ~]#groupmems -g admins -a ma

[root@centos7 ~]#groupmems -g admins -a zhu #将ma和zhu用户添加到admins中

[root@centos7 ~]#groupmems -g admins -l #查看admins中的用户列表

ma zhu

[root@centos7 ~]#groupmems -g admins -d ma #将ma从admins中删除

[root@centos7 ~]#groupmems -g admins -l

zhu

[root@centos7 ~]#groupmems -g admins -p #清空admins中的所有组成员

[root@centos7 ~]#groupmems -g admins -l

3.5 groups 查看用户所属组列表

[root@centos7 ~]#groups ma

ma : ma

root@centos7 ~]#groups zhu

zhu : zhu

4. 修改文件属主和属组

chown 修改文件的属主(也可以改组)

用户 文件或者目录 <==仅仅授权用户

:组 文件活目录 <==仅仅授权组

用户:组 文件或目录 <==表示授权用户和组

-R 递归

--reference=源文件 目标文件

强调:

1)其中的冒号“:”可以用点好“.”代替

2)要授权的用户和组名,必须是linux系统里实际存在的

案例:

[root@centos7 app]#ll

-rw-r--r--. 1 root root 0 Jul 29 16:27 f1

-rw-r--r--. 1 root root 0 Jul 29 16:27 f2

[root@centos7 app]#chown ma:ma f1

[root@centos7 app]#chown :zhu f2

[root@centos7 app]#ll

-rw-r--r--. 1 ma ma 0 Jul 29 16:27 f1

-rw-r--r--. 1 root zhu 0 Jul 29 16:27 f2

[root@centos7 app]#chown --reference=/app/f1 f2 #将f1的用户和属组信息复制给f2

[root@centos7 app]#ll

-rw-r--r--. 1 ma ma 0 Jul 29 16:27 f1

-rw-r--r--. 1 ma ma 0 Jul 29 16:27 f2

chgrp 修改文件的属组(只能改组)

----reference=源文件 目标文件

-R 递归

案例:

[root@centos7 app]#chgrp ma f1 <==将f1的属组直接修改成ma

[root@centos7 app]#ll

-rw-r--r--. 1 ma ma 0 Jul 29 16:27 f1

-rw-r--r--. 1 ma ma 0 Jul 29 16:27 f2

-rw-r--r--. 1 root root 0 Jul 29 16:37 f3

[root@centos7 app]#chgrp --reference=/app/f3 f1

[root@centos7 app]#chgrp --reference=/app/f3 f2

[root@centos7 app]#ll

-rw-r--r--. 1 ma root 0 Jul 29 16:27 f1

-rw-r--r--. 1 ma root 0 Jul 29 16:27 f2

-rw-r--r--. 1 root root 0 Jul 29 16:37 f3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497828.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能和厨房电器的结合:厨房助理机器人

来源&#xff1a;人工智能学家AItists概要&#xff1a;从智能家居到无人驾驶&#xff0c;人工智能正在落地的道路上。而其中一个让人觉得有点意外也很有趣的场景是&#xff1a;厨房。从智能家居到无人驾驶&#xff0c;人工智能正在落地的道路上。而其中一个让人觉得有点意外也很…

查找N个数中第K大的数

方法一&#xff1a;将一组数放入数组中&#xff0c;升排序。并返回第 ( length - k )个元素这里消耗的时间就是排序用的时间&#xff0c;用快速排序则为&#xff1a;O( N log N )代码&#xff1a; /*** 先排序后获取* return** Date :2012-7-4* Author :GongQiang*/public in…

美国科学院学报:如何在竞争激烈的环境下维持稳定的群体

行为决策演化示意图。最上面一行是混合群体&#xff0c;下面两行是网络群体。相比于混合群体&#xff0c;网络促使合作者聚集成团簇&#xff0c;但是惩罚的加入将破坏合作环境。来源&#xff1a;中国科学院西安光机所李学龙研究员同合作者在数据驱动的行为决策研究方面取得阶段…

linux文本处理脚本题,Linux文本处理工具sed练习题

1、使用sed命令打印出ifconfig ens33的ip地址解:(1)ifconfig ens33 | sed -n 2p | sed s/.*inet // | sed s/netmask.*//(2)ifconfig ens33 | sed -n 2p | sed -r s/.*inet (.*)netmask.*/\1/(3)ifconfig ens33 | sed -r -n 2s/.*inet (.*)netmask.*/\1/p2、使用sed命令打印出系…

全球首个Magic Leap One体验:吓到你不敢进房间

来源&#xff1a;智东西概要&#xff1a;业内备受关注的AR技术公司Magic Leap&#xff0c;在获得19亿美元融资历经七年之后&#xff0c;终于放出其第一款头盔产品Magic Leap One&#xff0c;很快在科技圈、VR圈引起刷屏式关注。昨夜&#xff0c;业内备受关注的AR技术公司Magic …

ftp+linux+使用webdav,群晖-win/mac/nfs ftp tftp webdav文件服务的概念及设置

应用程序级别WebDAV 是一个 HTTP 的扩充服务&#xff0c;可让用户编辑和管理存储在远程服务器上的文件。通过 Synology DiskStation Manager 的 WebDAV 服务&#xff0c;支持 WebDAV 的客户端程序(如 Windows 资源管理器、Mac OS Finder、Linux 资源管理器)将能够远程访问 Syno…

二叉堆

满足如下结构性和堆序性&#xff0c;即为二叉堆。 结构性质&#xff1a;堆是一棵被完全填满的二叉树&#xff0c;有可能的例外是在底层&#xff0c;底层上的元素从左到右填入。这样的树称为完全二叉树。 容易证明&#xff0c;一棵高为 h 的完全二叉树有 2h 到 2h1-1 个节点。这…

linux模式匹配运算符,linux之正则表达式

文件查找的需要&#xff1a;grep:(GLOBAL Research) 根据模式(网)去搜索文本&#xff0c;而后将符合模式的文本行显示出来。【部分匹配&#xff0c;显示时显示一行】Pattern&#xff1a;模式。(文本字符以及正则表达式元字符组合而成的匹配条件)例子&#xff1a;grep‘root’/e…

伯克利AI研究院解析「反向课程学习」,改善「强化学习智能体」并应用于机器人技术

原文来源&#xff1a;arXiv作者&#xff1a;Wieland Brendel、Jonas Rauber、Matthias Bethge「雷克世界」编译&#xff1a;嗯~阿童木呀、哆啦A亮众所周知&#xff0c;强化学习&#xff08;RL&#xff09;是一种强大的技术&#xff0c;它能够解决诸如移动&#xff08;locomotio…

《Science》评选2017年十大科学突破,看看有哪些吧!

来源&#xff1a;材料科学与工程概要&#xff1a;美国《科学》杂志21日公布了其评选出的2017年十大科学突破&#xff0c;人类首次观测到双中子星并合事件被选为头号科学突破。美国《科学》杂志21日公布了其评选出的2017年十大科学突破&#xff0c;人类首次观测到双中子星并合事…

linux 第三章红帽子,红帽子 Linux_命令全解

118.Ctrlz 把程序放入后台运行-暂停状态&#xff0c;Ctrlc 终止进程&#xff0c;整洁关闭119.jobs 作业列表120.bg [%作业号] 后台恢复运行121.fg [%作业号] 前台恢复运行122.(date;who | wc -l ) >> logfile 聚集命令()&#xff0c;生成subshell全部发送123.echo $? 保…

PL/SQL-FOR UPDATE 与 FOR UPDATE OF的区别

数据库 oracle for update of 和 for update区别 select * from TTable1 for update 锁定表的所有行&#xff0c;只能读不能写 2 select * from TTable1 where pkid 1 for update 只锁定pkid1的行 3 select * from Table1 a join Table2 b on a.pkidb.pkid for u…

2017年深度学习重大研究进展全解读

来源&#xff1a;机器之心概要&#xff1a;想知道哪些深度学习技术即将影响我们的未来吗&#xff1f;本文将给你作出解答。2017 年只剩不到十天&#xff0c;随着 NIPS 等重要会议的结束&#xff0c;是时候对这一年深度学习领域的重要研究与进展进行总结了。来自机器学习创业公司…

linux管道符加空格吗,管道符,作业控制,变量以及变量配置文件

一、管道符前面已经提过过管道符 “|”, 就是把前面的命令运行的结果丢给后面的命令。# cat 1.txt | wc -l //显示1.txt文件行数二、作业控制当运行进程时&#xff0c;你可以使它暂停(按CtrlZ组合键)&#xff0c;然后使用fg(foreground的简写)命令恢复它&#xff0c;或是利用bg…

PL/SQL 连接配置

PLSQL连接oracle数据库配置 方法一&#xff1a; 1&#xff09;点击Net Configuration Assistant 2) 在弹出的对话框中选择本地Net服务名配置&#xff0c;点下一步 3&#xff09; 在服务名配置对话框中选择添加&#xff0c;点下一步 4&#xff09;在如下对话框中填写要访问的ora…

自动驾驶汽车硬件与软件技术介绍

来源&#xff1a;知乎概要&#xff1a;本文详细介绍了自动驾驶汽车的硬件和软件&#xff0c;以及所需要做的准备工作&#xff0c;每个研发者或者准备投身于无人驾驶领域的人都应该好好看一下。全球有数不清的公司在忙着研发自动驾驶汽车&#xff0c;他们的产品也千奇百怪&#…

linux数组随机数,随机数与数组

随机数数组变量清屏时间延迟静态网站HTML随机数srand()函数用于播种函数头文件: stdlib.h函数定义: void srand(unsigned int seed)函数功能:设置随机数种子函数说明:通常可以用getpid(获取当前进程的进程识别码)或者time(NULL)(获取当前系统的时间信息)来充当种子&#xff0c;…

DeepMind 的2017:有 AlphaGo,更有社会责任

来源&#xff1a;AI科技评论概要&#xff1a;DeepMind 相信 AI 在更复杂的问题上也能起到同样的作用&#xff0c;它可以是科学技术工具&#xff0c;也可以是人类创造力的倍增器。AlphaGo 团队现在已经把注意力转向了另一组宏伟的目标&#xff0c;DeepMind 自己也希望这些研究人…

脏读、不可重复读和幻读

1. 脏读 &#xff1a;脏读就是指当一个事务正在访问数据&#xff0c;并且对数据进行了修改&#xff0c;而这种修改还没有提交到数据库中&#xff0c;这时&#xff0c;另外一个事务也访问这个数据&#xff0c;然后使用了这个数据。2. 不可重复读 &#xff1a;是指在一个事务内…

c++语言中break的作用,C++ break和continue用法详解

用于 switch 中的 break 语句也可以放在循环中&#xff0c;当遇到 break 时&#xff0c;循环立即停止&#xff0c;程序跳转到循环后面的语句。以下是一个带有 break 语句的循环示例。程序段中的 while 循环看起来要执行 10 次&#xff0c;但 break 语句导致它在第 5 次迭代后即…