本机root用户免密_Linux 基础 用户管理

本文详细介绍了Linux系统中的用户和组管理,包括用户账户和组账户的作用、标识、分类,以及用户数据的存放位置。讲解了useradd、usermod、passwd、userdel等关键命令的使用,同时涉及到了用户初始配置文件的设置。此外,还讨论了组管理,如gpasswd命令的运用和组管理文件/etc/group、/etc/gshadow。最后,简要提到了计划任务的使用和crontab命令。
摘要由CSDN通过智能技术生成

一、用户管理

•用户账户简介

作用:1.可以登录操作系统 2.不同用户登录操作系统权限不同

唯一标识:UID

管理员UID为0,默认情况下普通用户从1000开始

•组账户简介

作用:方便管理众多的用户

唯一标识:GID

Linux系统一个用户必须至少属于一个组

•组分类

基本组:由系统创建与用户同名

附加组(从属组):由管理员创建,由管理员后期将用户加入

[root@localhost ~]# useradd zhangsan

组:zhangsan 将zhangsan用户加入到zhangsan组

组:销售组 财务组 技术组

•账号数据的存放

–存储在本机磁盘中 —— 本地账户

•本地账户的数据文件

–用户信息:/etc/passwd、/etc/shadow

–组信息:/etc/group、/etc/gshadow

•/etc/passwd,保存用户帐号的基本信息

–每个用户记录一行,以:分割为7个字段

[root@localhost ~]# head -1 /etc/passwd

root:x:0:0:root:/root:/bin/bash

用户名:密码占位符x:用户的UID:用户所属的基本组的GID:用户的描述信息:家目录:解释器

b0447b6c61d6ee7ebdccc8a730d7344d.png

•useradd命令

–格式:useradd [选项]... 用户名

•常用命令选项

–-u:指定 UID 标记号

–-d:指定宿主目录(家目录),缺省为 /home/用户名

–-G:指定所属的附加组

–-s:指定用户的登录解释器

[root@localhost ~]# useradd nsd01

[root@localhost ~]# grep nsd01 /etc/passwd

[root@localhost ~]# id nsd01

[root@localhost ~]# useradd nsd02

[root@localhost ~]# id nsd02

[root@localhost ~]# grep nsd02 /etc/passwd

[root@localhost ~]# useradd -u 1400 nsd03 #指定UID创建用户

[root@localhost ~]# id nsd03

[root@localhost ~]# grep nsd03 /etc/passwd

[root@localhost ~]# ls /home

[root@localhost ~]# useradd -d /opt/nsd04 nsd04 #指定用户家目录,创建该用户

[root@localhost ~]# ls /opt/

[root@localhost ~]# useradd -d /opt/xixi nsd05

[root@localhost ~]# ls /opt/

[root@localhost ~]# grep nsd /etc/passwd

[root@localhost ~]# groupadd study

[root@localhost ~]# useradd -G study nsd06

[root@localhost ~]# id nsd06

/sbin/nologin:禁止用户登录操作系统

[root@localhost ~]# useradd -s /sbin/nologin nsd07

[root@localhost ~]# grep nsd07 /etc/passwd

•usermod命令

–格式:usermod [选项]... 用户名

•常用命令选项

–-l:更改用户帐号的登录名称

–-u:用户id

–-s:登录解释器

–-d:家目录路径

–-G:附加组 //重置附加组

[root@localhost ~]# useradd nsd08

[root@localhost ~]# id nsd08

[root@localhost ~]# grep nsd08 /etc/passwd

[root@localhost ~]# usermod -l abc08 nsd08 #修改nsd08的用户名为abc08

[root@localhost ~]# id abc08

[root@localhost ~]# usermod -u 1600 -s /sbin/nologin abc08 #修改UID与解释器程序

[root@localhost ~]# id abc08

[root@localhost ~]# grep abc08 /etc/passwd

usermod命令的-d选项:修改家目录路径 ,不会创建家目录,仅仅修改了/etc/passwd文件内容

[root@localhost ~]# useradd nsd09

[root@localhost ~]# grep nsd09 /etc/passwd

[root@localhost ~]# ls /home/

[root@localhost ~]# usermod -d /opt/stu09 nsd09

[root@localhost ~]# grep nsd09 /etc/passwd

usermod命令的-G选项:修改附加组 #重置附加组

[root@localhost ~]# useradd nsd10

[root@localhost ~]# id nsd10

[root@localhost ~]# usermod -G study nsd10

[root@localhost ~]# id nsd10

[root@localhost ~]# groupadd tarena #创建tarena组

[root@localhost ~]# usermod -G tarena nsd10

[root@localhost ~]# id nsd10

•passwd命令

交互式设置密码

[root@localhost ~]# passwd nsd01

更改用户 nsd01 的密码 。

新的 密码:

无效的密码: 密码少于 8 个字符

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

非交互式设置密码

[root@localhost ~]# echo 123456 | passwd --stdin nsd01

[root@localhost ~]# echo 456789 | passwd --stdin nsd01

临时切换用户身份的命令

[root@localhost ~]# su - nsd01

[nsd01@localhost ~]$ exit

登出

[root@localhost ~]#

•/etc/shadow,保存密码字串/有效期等信息

–每个用户记录一行,以:分割为9个字段

[root@localhost ~]# grep nsd01 /etc/shadow

nsd01:$6$lHa.ITxk$.........:18390:0:99999:7:::

用户名:密码加密字符串:上一次修改密码的时间

54bd16669c7c35074e58ef152ad58854.png

上一次修改密码的时间:从1970-1-1到达上一次修改密码时间,所经历的天数

[root@localhost ~]# useradd nsd11

[root@localhost ~]# grep nsd11 /etc/shadow

[root@localhost ~]# echo 123 | passwd --stdin nsd11

[root@localhost ~]# grep nsd11 /etc/shadow

二、用户初始配置文件

•配置文件来源

–新建用户时,根据 /etc/skel 模板目录复制

[root@localhost ~]# touch /etc/skel/hahaxixi.txt

[root@localhost ~]# ls -A /etc/skel/

[root@localhost ~]# useradd nsd13

[root@localhost ~]# ls -A /home/nsd13

[root@localhost ~]# useradd nsd14

[root@localhost ~]# ls -A /home/nsd14

•主要的初始配置文件

–~/.bash_profile:每次登录时执行

–~/.bashrc:每次进入新的终端时执行,一般用于设置永久的别名

[root@localhost ~]# vim /root/.bashrc

alias haha='echo haha'

开启一个新的终端进行验证:

[root@localhost ~]# haha #可以运行

[root@localhost ~]# su - nsd14

[nsd14@localhost ~]$ haha #运行失败

bash: haha: 未找到命令...

[nsd14@localhost ~]$ exit

登出

[root@localhost ~]# vim /home/nsd14/.bashrc

alias xixi='echo xixi'

[root@localhost ~]# su - nsd14

[nsd14@localhost ~]$ xixi #可以运行

•全局配置文件:/etc/bashrc #开启新的终端生效

[root@localhost ~]# vim /etc/bashrc

alias haxi='echo hahaxixi'

开启新的终端生效

[root@localhost ~]# haxi

hahaxixi

[root@localhost ~]# useradd nsd16

[root@localhost ~]# su - nsd16

[nsd16@localhost ~]$ haxi

hahaxixi

[nsd16@localhost ~]$ exit

登出

[root@localhost ~]#

三、删除用户

•userdel命令

–格式:userdel [-r] 用户名

–添加 -r 选项,家目录也一并删除

[root@localhost ~]# userdel nsd01

[root@localhost ~]# userdel nsd02

[root@localhost ~]# id nsd01

id: nsd01: no such user

[root@localhost ~]# id nsd02

id: nsd02: no such user

[root@localhost ~]# ls /home

四、组管理

•/etc/group,保存组帐号的基本信息

–每个组记录一行,以:分割为4个字段

[root@localhost ~]# groupadd stugrp

[root@localhost ~]# grep stugrp /etc/group

stugrp:x:1609:

81fcbe1d56107834144c2ab23cb66f56.png

[root@localhost ~]# useradd harry

[root@localhost ~]# useradd natasha

[root@localhost ~]# useradd kenji

•/etc/gshadow,保存组帐号的管理信息

–每个组记录一行,以:分割为4个字段

[root@svr7 /]# grep stugrp /etc/gshadow

stugrp:!::

42d8665806dced4e4ecaf12e25e55e66.png

•gpasswd命令

–格式:gpasswd [选项]... 组名

•常用命令选项

–-A:定义组管理员列表

–-a:添加组成员,每次只能加一个

–-d:删除组成员,每次只能删一个

–-M:定义组成员用户列表,可设置多个

[root@localhost ~]# gpasswd -a harry stugrp #将用户harry加入到stugrp

[root@localhost ~]# grep stugrp /etc/group

[root@localhost ~]# id harry

[root@localhost ~]# gpasswd -a kenji stugrp #将用户kenji加入到stugrp

[root@localhost ~]# grep stugrp /etc/group

[root@localhost ~]# gpasswd -d harry stugrp #将用户harry从stugrp组中删除

[root@localhost ~]# grep stugrp /etc/group

[root@localhost ~]# gpasswd -M 'natasha,harry' stugrp #重新定义组成员

[root@localhost ~]# grep stugrp /etc/group

[root@localhost ~]# gpasswd -M '' stugrp #定义组成员列表为空

[root@localhost ~]# grep stugrp /etc/group

-A:定义组管理员列表

[root@localhost ~]# su - harry

[harry@localhost ~]$ gpasswd -a kenji stugrp

gpasswd:没有权限。

[harry@localhost ~]$ exit

[root@localhost ~]# gpasswd -A harry stugrp #设置harry用户为stugrp组的组管理员

[root@localhost ~]# su - harry

[harry@localhost ~]$ gpasswd -a kenji stugrp

[harry@localhost ~]$ grep stugrp /etc/group

[harry@localhost ~]$ exit

[root@localhost ~]# grep stugrp /etc/gshadow

stugrp:!:harry:kenji

•groupdel命令

–格式:groupdel 组名

–删除的目标组不能是用户的基本组

[root@localhost ~]# groupdel stugrp

[root@localhost ~]# grep stugrp /etc/group

五、计划任务

•用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务

•软件包:cronie、crontabs

•系统服务:crond

•日志文件:/var/log/cron

•使用 crontab 命令

–编辑:crontab -e [-u 用户名] #与vim文本编辑器用法一致

–查看:crontab -l [-u 用户名]

–清除:crontab -r [-u 用户名] #删除该用户的所有的计划任务

•计划任务书写的格式

–分 时 日 月 周 任务命令行(绝对路径)

0 8 * * * #每天上午8:00 ,执行一次

0 21 * * * #每天晚上9:00 ,执行一次

0 21 * * 5 #每周的周五晚上9:00 ,执行一次

0 21 * * 1,3,5 #每周的周一、周三、周五晚上9:00 ,执行一次

0 21 * * 1-5 #每周的周至周五晚上9:00 ,执行一次

*/5 * * * * #每隔5分钟执行一次

*/2 * * * * #每隔2分钟执行一次

* 8 * * * #每天上午8:00,开始执行,执行60次

0 8 1 * 2 #每月的1号上午8:00执行一次,每周的周二上午8:00执行一次

*:匹配范围内任意时间

,:分隔多个不连续的时间点

-:指定连续时间范围

/n:指定时间频率,每n ...

执行周期

配置说明

分钟

从0到59之间的整数

小时

从0到23之间的整数

日期

从1到31之间的整数

月份

从1到12之间的整数

星期

0~7之间的整数,0或7代表星期日

每分钟记录当前的系统时间,将记录的时间写入到/opt/abc.txt

[root@localhost ~]# date >> /opt/abc.txt

[root@localhost ~]# cat /opt/abc.txt

[root@localhost ~]# crontab -e #书写计划任务

*/1 * * * * date >> /opt/abc.txt

[root@localhost ~]# crontab -l -u root #查看root用户书写的计划任务

*/1 * * * * date >> /opt/abc.txt

[root@localhost ~]# cat /opt/abc.txt

[root@localhost ~]# crontab -e #进入编辑计划任务的模式,可以删除计划任务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值