Day 04 用户和组的管理及帮助手册

用户

多用户多任务:多个用户在同一个系统中同一时间执行的不同的任务,他们互不影响

权限管理机制:每一个用户拥有自己的权限

系统默认自带的超级管理用户:root

企业中,一般使用普通用户来对系统进行管理

用户的分类

以CentOS 7为例

超级管理员用户

享有最高权限,具备系统中的所有权限(一般为root),UID为0

root的用户信息:uid=0(root)   gid=0(root)   组=0(root)

系统用户

别称“伪用户”,无法登录系统,一般系统默认持有如bin,nobody等,其主要作用是支撑系统运行,方便系统管理,系统用户没有家目录和/var/mail/下的邮件目录,UID为1-999

普通用户

有权限限制,只能对自己目录下的文件进行操作,可以登录系统,UID>=1000

用户和用户组的关系

一个用户至少包含一个组,一个组里可以有多个用户,同一个用户可以同时属于多个组

添加用户

useradd [参数] 用户名

[参数]:

创建一个不能登录的用户:useradd -s /sbin/nologin 用户名

指定家目录创建用户:useradd -d 指定的家目录 用户名

指定唯一的UID创建用户:useradd -u uid  用户名

指定已存在的GID创建用户:useradd -g gid/组名 用户名

创建用户时同时为其添加附加组:useradd -G gid/组名 用户名

创建系统用户:useradd -r 用户名

指定用户的登录shell为/sbin/nologin:useradd -s /sbin/nologin 用户名

指定用户的描述字段:useradd -c 描述字段 用户名

创建该用户时不为其创建家目录:useradd -M 用户名

查看用户

id:直接使用id命令,默认查看当前用户的信息  UID GID Groups

id 用户名:查看指定用户的信息  UID GID Groups

重点:可以使用id命令判断一个用户是否存在

whoami:也可查看当前正在使用的用户

查看系统中所有用户的信息:cat /etc/passwd

依次为:用户名:密码占位符:用户标识UID:组标识GID:描述:用户家目录:登录shell

判断一个用户是否可以登录,看 登录shell

如果登录shell为

/bin/sh

/bin/bash

/usr/bin/sh

/usr/bin/bash   则该用户可以登录到系统

如果登录shell为

/bin/nologin

/sbin/nologin 则该用户不能登录到系统

查看可用的登录shell:cat /etc/shells

若某用户为服务器上的某个服务提供支持,那么出于安全起见该用户不被允许登录

useradd -s /sbin/nologin -r 用户名

修改用户

usermod [参数] 用户名

[参数]

修改某用户登录shell,使其不可登录:usermod  -s /sbin/nologin 用户名

修改用户的UID:usermod -u uid 用户名

修改用户名:usermod -l 新名字 旧名字

用户正在被使用导致无法修改其属性的报错

usermod: user user01 is currently used by process 6684

解决方案:利用pkill 指定用户将该用户对应的进程杀死:pkill -9 -u 用户名

修改用户所属的主组:usermod -g gid/组名 用户名

修改用户的附加组(覆盖修改):usermod -G gid/组名 用户名

修改用户的附加组(在原有基础上添加):usermod -aG gid/组名 用户名

锁定用户密码,使其密码无效:usermod -L 用户名

解除用户密码锁定:usermod -U 用户名

修改用户描述字段:usermod -c 描述字段 用户名

修改并移动用户家目录:usermod -md 修改后的家目录路径 用户名

-m是修改,-d是移动,通常情况下二者连用

删除用户

userdel [参数] 用户

删除该用户所有的内容,包括用户的家目录,用户本身,用户邮件文件:userdel -r 用户名

关于用户密码

修改用户密码:passwd 用户名

直接使用passwd命令不加用户名,修改当前用户密码

/etc/shadow中存放是用户的密码信息(第二列为已被加密的密码)

非交互式修改密码(脚本):echo "密码" | passwd --stdin 用户名

切换用户:su - 用户名 

添加组

groupadd [参数] 组名

创建组并指定组的gid:groupadd -g gid 组名

查看组

查看系统中所有组的信息:cat /etc/groups

依次为:组名:密码占位符:GID:用户,成员

查看用户的组:groups 用户名

修改组

修改组名:groupmod -n 新组名 旧组名

修改组的gid:groupmod -g 新的gid 组名

添加用户到组:gpasswd -a 用户名 组名

添加多个用户到同一个组:gpasswd -M 用户①,用户② 组名

从组中删除用户:gpasswd -d 用户名 组名

指定组的管理员:gpasswd -A 用户名 组名

组密码文件:/etc/gshadow

依次为:组名:密码:组管理员:组员

删除组

groupdel 组名

如果该组是某个用户的主组,也就是说这个组是在创建用户的时候创建的,那么不能用groupdel删除,用 userdel -r ,删除用户,组自然就被删除
 

实例:给普通用户提权

方法一

①使用 visudo 命令 或 vim /etc/sudoers,编辑配置文件

②用 :100 将光标定位到100行,按i键进入编辑模式,在下面的空行处添加    用户名   ALL=(ALL)   ALL  ,wq!保存退出

方法二

将普通用户添加至  wheel组

wheel组:系统自带的组,该组的成员具有管理员权限,gid为10

给用户添加wheel组:usermod -aG wheel/10 用户名

给wheel组添加用户:gpasswd -a 用户名 wheel

在创建用户时添加wheel组为附加组:useradd -G wheel/10 用户名

提权成功后,普通用户执行命令时在命令的前面加sudo

帮助手册

help

指令 --help

[  ]     表示可选项,即需要则用,不需要不用

{ }     表示必选项,即里面的选项为必用

|       表示或者,比如:a|b的意思是a或者b只能选其中一个

特殊情况: ​             

    {a | b}   意思是a或b必选一个 ​              

     [a | b]    意思是要么一个不选,要么选a或b其中一个

     <>    这个符号有些特殊,有些命令中是必选,但是有些命令中是可选

     ...     表示多个,此符号前面是什么就是多个什么,比如:file...那就表示多个文件

man手册

man 指令

man手册比help更加详细

八类man手册:

1.一般命令

2.系统调用库

3.c标准库

4.设备文件

5.配置文件

6.游戏相关

7.杂项                //所谓杂项,其大部分都是没办法很好分给其他8类的帮助

8.系统管理相关命令

9.内核(rhel5)     //从rhel6开始,因为内核类的命令较少,将其废弃

其中,一类,八类可以获取命令的使用方法 ,五类可以获取配置文件的使用方法或相关信息

可以通过上方两侧知道该命令在第几类man手册中

进入man手册后常用快捷键:   

空格键翻页

enter键翻行

g:定位到手册顶部

G:定位到手册底部

q:退出

/关键字:高亮所有关键字

关键字之间切换:      

 n   按关键字往下翻           

 N   按关键字往上翻

free:查看系统中内存的使用情况

df:查看系统磁盘使用情况
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值