Linux账号管理(笔记)
来源:互联网 发布:java多线程优点 编辑:程序博客网 时间:2024/05/21 02:35
Linux账号和用户组
每个登录的用户都会有两个ID : UID(UserID,用户ID)、GID(GroupID,用户组ID)
用户ID(UID)
/etc/passwd
用户密码数据
/etc/shadow
用户组ID(GID)
/etc/group
用户组密码
/etc/gshadow
/etc/passwd文件结构:
每一行都代表一个账号,有几行就代表几个账号,很多账号本来就是系统正常运行所必须的,可以简称为系统账号,不可随意删除;每一行使用 " : "分隔开,共有7个字段,分别是:
账号名称:密码:UID:GID:用户信息说明列:主文件夹:Shell
账号名称
账号,对应UID
密码
早期Unix密码就放在此字段,但因为此文件特性是所有程序可读取,为了数据安全,后来将这个字段密码数据改放到/etc/shadow中
UID
id范围:
0(系统管理员)、1~ 499(系统账号)、500~ 65535(可登录账号,2的23次方-1)
Tip :一个系统上的系统管理员不见得只有root,UID为0即为系统管理原;
GID
/etc/group ,用来规定组名和GID的对应信息
用户信息说明列
没什么重要用途,只是解释这个账号的意义
主文件夹
用户的住文件夹,默认为:/home/yourIDname
Shell
/etc/shadow文件结构:
账号名称:密码:最近更动密码日期:密码不可被更动天数:密码需重新更改天数:密码需要更改期限前的警告天数:密码过期后的账号宽限时间:账号失效日期:保留
/etc/group文件结构:
用户组名称:用户组密码:GID:此用户组支持的账号名称
/etc/gshadow文件结构:
用户组名:密码列:管理员账号:此用户组支持的账号名称
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
用户
useradd:新增用户
useradd [-u UID] [-g初始用户组] [-G次要用户组] [-mM] [-c说明栏] [-d主文件夹绝对路径] [-s shell]用户账户名
-M:强制不创建用户主文件夹(系统账号默认值)
-m:强制创建用户主文件夹(一般账号默认值)
-c: /etc/passwd第五列内容,可随意设置;
-s:后面接一个shell,默认/bin/bash
使用“useradd账号”命令创建用户,系统会进行如下默认操作:
1 . 在 /etc/passwd 中创建一行与账号相关的数据,包括创建UID/GID/主文件夹等;
2 . 在 /etc/shadow 中将账号的密码相关参数填入,但是尚未有密码;
3 . 在 /etc/group 中加入一个与账号名称一模一样的组名;
4 . 在 /home 下创建一个与账号同名的目录作为用户主文件夹,且权限为700;
passwd:设置密码
使用 "passwd"表示修改root密码
使用 "passwd账号"表示修改一般用户密码
userdel:删除用户相关数据
userdel -r username # -r连同主文件夹一起删除;
usermod:账号数据微调
usermod [-cdegGlsuLU] username
-c:/etc/passwd第五列
-d:修改账号主文件夹/etc/passwd第六列
-e:账号失效日期,/etc/shadow第八段
-l:修改账号名称
-s:shell如/bin/bash
用户组
groupadd:新增用户组;
-g:设定特定GID
-r:新建系统用户
groupmod:group相关参数的修改;
-g:修改既有的GID
-n:修改既有的组名
groupdel:删除用户组
groupdelgroupname
当某个账号的初始用户组(/etc/passwd第四个部分)使用该用户组时,用户组无法删除;反言之,只要确定/etc/passwd内的账号没有任何人使用该用户组作为初始用户组即可删除,故解决办法1、修改用户GID2、删除用户;
gpasswd:用户组管理功能,可以指定一个用户作为某个用户组的管理员,从而管理账户的加入/移除用户组功能;
gpaaswd [-rR] groupname
#没有任何参数时,表示给予groupname一个密码(/etc/gshadow)
-r:删除groupname密码
-R:让groupname密码栏失效;
gpasswd [-A user1,…] [-M user3,…] groupname
-A:指定管理员(交付用户组主控权)
-M:将一些用户加入该用户组
gpasswd [-ad] username groupname
-a:将某位用户加入用户组
-d:将某位用户删除出用户组;
groups:有效与支持用户组查看
第一个输出的用户组即为有效用户组(effectivegroup)
newgrp:有效用户组的切换
想要切换的用户组必须是已经支持的用户组;
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
用户身份切换
身份切换的原因:
1、使用一般账号,避免做错一些严重的命令;
2、用较低权限启动系统服务;
3、软件本身限制(程序不允许root用户登录);
一般身份用户转换root主要有两种方式:
1、以“su -”直接将身份变成root,需要root密码;
2、以“sudo命令”执行root命令串,需要事先设置妥当,且需要输入用户自己的密码。因此多人共同管理一台主机,sudo比su要好;
tip:仅仅使用“su”切换root身份时,为non-login shell变量文件读取方式来登录系统;
su [-lm] [-c命令] [username]
-:后可不加用户名称,代表以root登录,login-shell
-l:与-类似,后面要加用户名称,login-shell
-m:不读取新用户配置文件;
-c:仅进行一次命令,后面跟命令;
tip:
1、想要完整地切换到新用户的环境,必须要使用“su -username”或“su -l username”,才会连同PATH/USER/MAIL等变量都转换成新用户的环境;
2、想要仅执行一次root命令,可以用“su - -c "命令"”来处理;
3、使用root转换称为任何用户,不需要输入密码;
sudo [-b] [-u新用户账号]
-b:将后续的命令让系统自动执行,而不与目前的shell产生影响 ;
-u:后面可以接想要切换的用户,若无此项则代表切换身份为root ;
能否使用sudo的关键:/etc/sudoers的设置值;
通过输入用户自己的密码来执行后续的命令串;
sudo的执行流程:
1、当用户执行sudo时,系统在/etc/sudoers文件中查找该用户是否有执行sudo的权限;
2、若用户具有可执行sudo的权限后,让用户输入自己的密码来确认;
3、密码输入成功,便开始执行sudo后续接的命令(root执行sudo时不需要输入密码);
4、欲切换的身份与执行者的身份相同,也不需要输入密码;
- Linux账号管理(笔记)
- 【Linux学习笔记】账号管理
- Linux学习笔记(四)账号管理之管理用户账号
- linux笔记十( Linux 账号管理)
- Linux-Linux账号管理
- Linux学习笔记之 7 Linux用户账号管理
- linux管理普通账号
- linux账号管理
- Linux账号管理
- linux账号管理1
- linux账号管理
- Linux账号管理
- linux账号管理
- linux账号管理
- linux账号管理
- Linux账号管理
- Linux 账号管理
- Linux中的账号管理
- oj Problem D: 顺序表基本运算(线性表)
- GraphicsMagick + NodeJs + Croppic实现对图片的剪裁功能
- 非类型模板形参
- B1066. 图像过滤(15)
- Android中的Window类型
- Linux账号管理(笔记)
- 面试智力题
- (Leetcode)Longest Increasing Subsequence——dp,bisearch
- Git仓库入门之基本用法(二)
- Databus Relays
- Max 文件制作三维场景
- thinkphp与Yii比较,框架之间的选择
- hibernate 表与表之间的关系
- BIM与三维GIS结合