Linux上天之路(八)之用户和组
主要内容、
用户创建,删除,修改
密码及密码文件
组创建,删除,修改
组密码及组配置文件
相关文件
Linux用户分类
超级管理员: UID为0 root用户拥有至高无上的命令,root用户不能改名
系统用户:UID小于1000,用于管理服务,一般不允许登陆
普通用户:UID大于或等于1000,权限较小,允许登陆,只能使用bin下命令
1. 用户的创建、删除。修改
- useradd
useradd - create a new user or update default new user information
-c, --comment 描述
-d, --home HOME_DIR 家目录
-e, --expiredate EXPIRE_DATE 过期时间
-f, --inactive INACTIVE 是否启用过期机制
-g, --gid GROUP 指定组ID号
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]] 附加组
-m, --create-home 建立家目录
-M 不建立家目录
Do not create the user′s home directory, even if the system wide
setting from /etc/login.defs (CREATE_HOME) is set to yes.
-N, --no-user-group 不指定用户同名组
-r, --system 指定该帐号是系统帐号
-s, --shell SHELL 指定登录shell
-u, --uid UID 指定用户ID号
-U, --user-group 指定用户创建用户同名组
-o 创建用户是可以uid重复
注意:用户名不能超过 32 个字符 example
建立一个新用户账户testuser1,并设置UID为544,主目录为/usr/testuser1,属于users组:
useradd -u 544 -d /usr/testuser1 -g users -m testuser1
使用管理员账号登陆系统,建立用户tmp_3452 密码3sdt5:Eawhg
[root@ptr228 ~]# adduser tmp_3452
[root@ptr228 ~]# passwd tmp_3452
- usermod
usermod - modify a user account
-a, --append
-L, --lock
-U, --unlock
-m, --move-home with -d
- userdel
userdel - delete a user account and related files
-f, --force
-r, --remove 删除主目录及邮箱
- chage命令
chage
-h, --help display this help message and exit
-m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M 密码保持有效的最大天数。
-W 用户密码到期前,提前收到警告信息的天数。
-E 帐号到期的日期。过了这天,此帐号将不可用。
-d 上一次更改的日期 如果设置为0 用户下次登录必须改密码
-i 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用
-l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
2. 密码设置及密码文件
- passwd
passwd - set user password
-l lock
-u unlock
-d delete a passwd for an account
-S This will output a short information about the status of the password for a given account.
--stdin
echo linux |passwd --stdin vfast 1 > 0
- 密码文件
/etc/passwd
User account information.
[用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell]
/etc/shadow
Secure user account information.
用户名:这是用户登录系统时使用的用户名,它在系统中是惟一的
口令:此字段存放加密的口令
最后一次修改的时间:标识从某一时刻起到用户最后一次修改口令的天数
最小时间间隔:两次修改口令之间的最小天数
最大时间间隔:口令保持有效的最多天数,即多少天后必须修改口令
警告时间:从系统开始警告到口令正式失效的天数
不活动时间:口令过期多少天后,该账号被禁用
失效时间:指示口令失效的绝对天数(从1970年1月1日开始计算)
标志:未使用
3. 组的管理
- groupadd
groupadd - create a new group
命令语法
groupadd [选项] 组名
命令选项
-g, --gid GID 指定GID
-r, --system 创建一个系统组
-o, --non-unique 此选项允许添加一个使用非唯一 GID 的组
注意:组名最长为 32 个字符
- groupmod
groupmod - modify a group definition on the system
命令语法
groupmod [选项] 组名
命令选项
-g, --gid GID
-n, --new-name NEW_GROUP 给组改名
-o, --non-unique
例子
1、将组名为test3的名字改为baism
groupmod test3 -n baism
- groupdel
groupdel - delete a group
4. 组密码和组配置文件
- gpasswd
gpasswd - administer /etc/group and /etc/gshadow
-a, --add USER add USER to GROUP
-d, --delete USER remove USER from GROUP
-r, --remove-password remove the GROUP's password
-R, --restrict restrict access to GROUP to its members 限制用户登录该组,除了组成员。
-M, --members USER,... set the list of members of GROUP
-A, --administrators ADMIN,...
set the list of administrators for GROUP
案例:
设置组root密码 #gpasswd root
用户组身份切换为root $newgrp root
组管理员设置 #gpasswd test -A user3
限制陌生用户切换到组 #gpasswd -R test
指定组的成员列表 # gpasswd test -M user3,user2
/etc/group
Group account information.
[组名]:[密码域]:[GID]:[组员列表] /etc/gshadow
Secure group account information.
5. 相关文件
/etc/passwd
用户账户信息。
/etc/shadow
安全用户账户信息。
/etc/group
组账户信息。
/etc/gshadow
安全组账户信息。
/etc/default/useradd
账户创建的默认值。
/etc/skel/
包含默认文件的目录。
/etc/login.defs
Shadow 密码套件配置。
6. 问题
当一个用户同时属于多个组,如何切换组身份 newgrp 命令
su - user1
newgrp test 切换到test组
如何临时切换到某个外组【用户本身不属于这个组】
1)首先给外组设置一个组密码
gpasswd root
正在修改 root 组的密码
新密码:
请重新输入新密码
su - user1
newgrp root
Linux上天之路(八)之用户和组的更多相关文章
- Linux上天之路系列目录
Linux上天之路系列目录 Linux上天之路(一)之Linux前世今生 Linux上天之路(二)之Linux安装 Linux上天之路(三)之Linux系统目录 Linux上天之路(四)之Linux界 ...
- linux学习之(四)-用户、组的操作,给文件文件夹设置组,更改目录权限、文件权限
命令帮助查看: man 命令(查看一个命令的详细帮助信息) 例:man useradd 或者用 -h 格式 命令 -h(查看一个命令的简要帮助) 例:useradd -h 用户: 在user ...
- 开发环境入门 linux基础 (部分) 复制 用户和组操作 权限更改
复制 用户和组操作 权限更改 CP 复制命令 cp 源文件 目标文件 a) –r(recursive,递归的):递归地复制目录.当复制一个目录时,复制该目录中所有的内容,其中包括子目录的全部内容. b ...
- linux分配文件文件夹所属用户及组
ls -l 可以查看当前目录文件.如:drwxr-xr-x 2 nsf users 1024 12-10 17:37 下载文件备份分别对应的是:文件属性 连接数 文件拥有者 所属群组 文件大小 文件修 ...
- Linux上天之路(十八)之自动化部署
pexpect Pexpect 是 Don Libes 的 Expect 语言的一个 Python 实现,是一个用来启动子程序,并使用正则表达式对程序输出做出特定响应,以此实现与其自动交互的 Pyth ...
- Linux上天之路(一)之Linux前世今生
0. Linux的前世今生 linux是什么 linux是一个计算机的操作系统,与windows类似,是一款系统软件 操作系统 说到操作系统其实我们首先要思考三个问题: 1)操作系统是什么? 2)操作 ...
- Linux上天之路(十二)之服务管理
主要内容 服务介绍 独立服务 非独立服务 1. 服务介绍 服务:常驻在内存中的程序,且可以提供一些系统或网络功能,那就是服务. 计算机中的系统服务有很多,比如: apache提供web服务 ftp提供 ...
- Linux上天之路(二)之Linux安装
1. vmware workstation使用 VMware是全球领先的虚拟化公司,为客户提供虚拟化解决方案,个人虚拟化产品workstation,可以让用户通过虚拟化的方式在一台物理电脑中安装多个操 ...
- Linux上天之路(三)之Linux系统目录
1. Linux设计思想 1) 程序应该小而专一,程序应该尽量的小,且只专注于一件事上,不要开发那些看起来有用但是90%的情况都用不到的特性: 2) 程序不只要考虑性能, 程序的可移植性更重要,she ...
随机推荐
- Linux驱动实践:一起来梳理中断的前世今生(附代码)
作 者:道哥,10+年嵌入式开发老兵,专注于:C/C++.嵌入式.Linux. 关注下方公众号,回复[书籍],获取 Linux.嵌入式领域经典书籍:回复[PDF],获取所有原创文章( PDF 格式). ...
- 解决Tomcat10.0.12源码编译问题进而剖析其优秀分层设计架构
概述 Tomcat.Jetty.Undertow这几个都是非常有名实现Servlet规范的应用服务器,Tomcat本身也是业界上非常优秀的中间件,简单可将Tomcat看成是一个Http服务器+Serv ...
- JAVA根据A星算法规划起点到终点二维坐标的最短路径
工具类 AStarUtil.java import java.util.*; import java.util.stream.Collectors; /** * A星算法工具类 */ public c ...
- JAVA实现导出excel功能,封装通用导出工具类
引入maven <!--excel导出--> <dependency> <groupId>net.sourceforge.jexcelapi</groupId ...
- 基于sqlitecpp的sqlite3 c++封装
Github: 人富水也甜 感谢GitHub大佬: sqlitecpp github: https://github.com/SRombauts/SQLiteCpp sqlite: https:// ...
- 【LeetCode】259. 3Sum Smaller 解题报告 (C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 二分查找 双指针 日期 题目地址:https://le ...
- 【九度OJ】题目1078:二叉树遍历 解题报告
[九度OJ]题目1078:二叉树遍历 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1078 题目描述: 二叉树的前序.中序.后序遍历 ...
- 【LeetCode】347. Top K Frequent Elements 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 解题方法 解题方法 字典 优先级队列 日期 题目地址:https://l ...
- Misaki's Kiss again(hdu5175)
Misaki's Kiss again Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Othe ...
- Flink 实践教程-进阶(5):排序(乱序调整)
作者:腾讯云流计算 Oceanus 团队 流计算 Oceanus 简介 流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发.无缝连接.亚 ...