Linux用户和组管理,添加修改用户,添加修改组,加入组,移除组
1.安全介绍3A
Authentication: 认证,用户名和对应口令
Authorization: 授权,不同用户权限不同
Accouting/Audition: 审计
2. 所属者和所属组
user: 用户
用户标识: UserID, UID(16bits二进制,0-65535)
管理员: root, UID=0
普通用户: 1-65535(又分系统用户和登陆用户两种)
系统用户: 1-499(centos6), 1-999(centos7)由系统保留,作为管理账号,对守护进程获取资源进行权限分配;
登陆用户:500-60000(centos6), 1000-60000(centos7)
名称转换: username<>UID,通过/etc/passwd
group: 组
组标识: groupid, gid
管理员组: root, UID=0
用户主要组(主组):
- 用户必须属于一个且只有一个主组(基本组);
- 基本组名同用户名,且仅包含一个用户,也叫私有组(即,新建的用户,也会新建要给组,但组里只有用户自己)
用户的附加组: secondary group
基本组以外的组属于用户的附加族。
注意:
- 一个用户只有一个主组,但可以属于0或者多个附加组。
- 一般第一个为用户的主组,后面是附加组。
- 系统识别用户不是看用户名,而是id编号。
配置文件
1. 主要配置文件
/etc/passwd
: 用户及其属性信息(名称,UID,主组ID)
/etc/shadow
: 用户密码及相关属性。
/etc/group
: 组及其属性信息。
/etc/gshadow
: 组密码及相关属性。
2. /etc/passwd
格式:
name:password:UID:GID:GECOS:directory:shell
/etc/passwd
由“:”分割成7段,每个字段含义如下:
①login name:
登录用户名(wang)
②passwd:
密码,口令(x) 现在放在 /etc/shadow 如果要想回到之前的状态用(命令 pwunconv)但是这样的话/etc/shadow文件就没有了,恢复使用(命令 pwconv)
③UID:
用户身份编号 管理员:0,系统默认为root,但是可以修改。普通用户:500+;1000+
④GID:
组标识号登录默认所在组编号(1000)
⑤GECOS:
用户全名或注释;
用命令chfn 可以修改注释信息;
用命令 finger 可以更加详细的查看修改和用户信息;
⑥home directory:
用户主目录(/home/wang)
root 的家目录是/root ,普通用户的家目录则为/home/username,用户家目录可以自己定义。
⑦shell:
用户默认使用shell (/bin/bash)
用 chsh命令 可以直接修改用户的shell
示例
[root@localhost home]# getent passwd ryan
ryan:x:500:500:centos6:/home/ryan:/bin/bash
[root@localhost home]#
[root@localhost home]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
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
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
3. /etc/shadow
/etc/shadow和/etc/passwd类似,由":"分割成9段,只有管理员可以查看。
1.登陆用户名;2.用户密码,一般sha512加密; 3.从1970.1.1起,密码最近一次被更改的时间; 4.密码再过多少天就可以被更改,默认0,即不受限制; 5.密码多少天后过期,默认99999表示永远不用; 6.密码过期前几天提醒用户,默认一周; 7.密码过期几天后被锁定; 8.生命周期,从1970.1.1之后,多少天后账号失效; 9.没有意义,保留。
示例
[root@localhost home]# getent shadow ryan
ryan:$1$w7vV7KvG$kaxEMBMaLna7Iaf59NCQl1:17670:0:99999:7:::
[root@localhost home]#
[root@localhost home]# cat /etc/shadow
root:$1$w7vV7KvG$kaxEMBMaLna7Iaf59NCQl1:17670:0:99999:7:::
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::
adm:*:15980:0:99999:7:::
lp:*:15980:0:99999:7:::
sync:*:15980:0:99999:7:::
4. /etc/group组
1.组群名称; 2.组群密码,通常不设定,密码记录在/etc/gshadow; 3. GID. 组id; 4. 以当前组为附加组的用户列表。
示例
[root@localhost home]# getent group ryan
ryan:x:500:
[root@localhost home]# cat /etc/group
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
adm:x:4:adm,daemon
tty:x:5:
disk:x:6:
lp:x:7:daemon
5. /etc/gshadow
1.群组名称; 2.群组密码,一般不设置,如果设置了,普通用户知道口令后可以直接加进来,不设置反而安全; 3. 组管理员列表; 4.以当前组为附加组的用户列表;
示例
[root@localhost home]# cat /etc/gshadow
root:::
bin:::bin,daemon
daemon:::bin,daemon
sys:::bin,adm
adm:::adm,daemon
tty:::
disk:::
lp:::daemon
mem:::
kmem:::
wheel:::
mail:::mail,postfix
添加用户和删除用户user
创建用户
useradd username
-g groupname: 指定用户的基本组(事先存在), 没指定则使用与用户名相同的组名;
-G group1,group2: 指定用户所属的附加组,要事先存在;
-c "comment": 注释信息;
-d HOME_DIR: 家目录;
-s SHELL: 指定用户默认的shell,可用的所有shell列表在/etc/shells中;
useradd -D显示默认配置。
创建/修改密码
passwd username
修改自己密码passwd
usermod, userdel用户属性修改和删除用户
修改
usermod username
-u UID: 修改用户id为新的;
-g GID: 修改用户基本组为新的;
-G group1, group2: 修改用户附加组,原来的被覆盖;
删除
userdel username
-r: 删除用户时,一起删除家目录
添加组和删除组group
创建组
groupadd groupname
修改组
groupmod -n new_name: 修改组名
删除组
groupdel groupname
更改查看组成员
groupmems -g groupname [action]
-a,--add username: 指定用户加入组;
-d,--delete username: 从组中删除用户;
-p,--purge :从组中清除所有成员;
-l,--list: 显示组成员列表;
groups
查看当前用户所在全部组。
参考
Linux用户和组管理,添加修改用户,添加修改组,加入组,移除组的更多相关文章
- linux如何通过脚本来修改用户的密码?脚本自动化修改用户密码?
需求描述: linux环境中在创建用户的时候,涉及到修改用户的密码,一般是通过passwd命令进行修改,需要多次的确认,这里考虑通过一条命令直接对密码进行修改 不需要进行交互的方式.在此记录. 操作过 ...
- linux中用户、组的管理(密码管理、权限管理及其修改用户、组)(转)
process(进程) 1 计算资源 权限 用户(获取资源或服务的凭证或标识) 用户,容器,关联权限:用户组(标识符),方便地指派权限 2 用户.组.权限 安全上下文(secure context ...
- Linux 用户和用户组管理之 修改用户名和用户组;修改用户密码
一.用户账号包括(查看已经存在的账号 | 添加用户账号 | 修改用户账号 | 删除用户账号) 查看存在的账号: more /etc/passwd #或者是 awk -F':' '{ print $1 ...
- Linux用户和组管理命令-切换用户su
切换用户或以其他用户身份执行命令 su: 即 switch user,命令可以切换用户身份,并且以指定用户的身份执行命令 格式: su [options...] [-] [user [args...] ...
- linux的用户扩充权限管理acl和用户使用系统资源的限制
用户扩充权限管理 acl 1.扩充权限的方式 文件扩充权限 ACL 磁盘配额 2.文件扩充权限 1.安全位 安全位 ---set位 SUID SGID set仅可以加给 u.g, 如: ...
- Linux chpasswd (批量或单一修改用户密码)和passwd(直接修改用户密码)
Linux命令:chpasswd 批量或者单一修改用户密码 语法: 1:# echo 用户名:密码 | chpasswd 2:# chpasswd < doiido.txt 实例 1.直接修改d ...
- Linux命令----su(切换用户)以及passwd(修改用户密码)
一.su命令登录root 用户在使用telnet命令可以远程登录,但不可以登录root,这样就需要使用su命令来登录root用户. telnet登录(不能登录root)--- 1.启动终端 输入 te ...
- 无责任Windows Azure SDK .NET开发入门篇三[使用Azure AD 管理用户信息--3.4 Edit修改用户信息]
3.4 Edit修改用户信息 我们用FormCollection简化了表单提交,非常方便的进行用户信息修改. [HttpPost, Authorize] public async Task<Ac ...
- mysql数据库创建用户、赋权、修改用户密码
创建新用户 create user lisi identified by '123456'; 查看创建结果: 授权 命令格式:grant privilegesCode on dbName.tableN ...
随机推荐
- PM2 Quick Start
PM2教程 @(Node)[负载均衡|进程管理器] [TOC] PM2简介 PM2 是一个带有负载均衡功能的Node应用的进程管理器. 当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永 ...
- mongodb3.6 (四)net 客户端如何连接、访问mongodb集群
前言 在是一篇文章mongodb如何做数据备灾 中已经介绍mongodb集群是如何工作,可能很多人都有这样一个疑问:客户端如何知道主服务挂了呢?这一篇文章将介绍如何在net中访问这个集群. 第一步.安 ...
- jsp面试题
1, JSP中有那些内置对象,以及作用? 共有9种基本内置组件: request 用户端请求,此请求会包含来自GET/POST请求的参数: response 网页传回用户端的回应: pageConte ...
- svn path already exists的解决办法
这种问题的一般原因是这个path所指的目录在服务器端是一个空目录,对客户端不可见,客户端如果新建了这个目录,而且向服务器端commit的时候就会报错,服务器端此目录已存在,这个时候就会存在一个问题:就 ...
- Java Spring Boot 上传文件和预览文件地址解析
@RequestMapping(value ="/upload",method = RequestMethod.POST) @Permission(isAjax=false) pu ...
- 微信小程序入门一
基本的准备工作 -知识储备 --基础:HTML+JS+CSS --进阶:React.Vue -工具安装 --工具由微信官方提供 ---下载地址:https://github.com/zce/weapp ...
- SSH密钥认证添加方法和一些实用配置
更改SSH端口号 用账号密码进入主机 sudo nano /etc/ssh/sshd-config 再其中添加Port 22等或改变该条 添加公钥到主机 cd ~ sudo mkdir .ssh 此处 ...
- Nginx负载均衡和反向代理
1:反向代理 代理就是中介,那有反向代理就有正向代理,两者的区别是什么嘞? 正向代理隐藏真实客户端,服务端不知道实际发起请求的客户端.,proxy和client同属一个LAN,对server透明: 反 ...
- Python(Django)项目与Apache的管理
(开开心心每一天~ ---虫瘾师) Python(Django)项目交给Apache的管理(一) 准备:Django的环境(Python).Apache.Wsgi(必须文件) 首先需要电脑有Pytho ...
- 在C++98基础上学习C++11新特性
自己一直用的是C++98规范来编程,对于C++11只闻其名却没用过其特性.近期因为工作的需要,需要掌握C++11的一些特性,所以查阅了一些C++11资料.因为自己有C++98的基础,所以从C++98过 ...