Linux用户管理、计划任务

用户管理简介

*用户账户*

作用: 1.可以登陆操作系统 2.不同的用户具备不同的权限

唯一标识:UID(编号从0开始的编号,默认最大60000)

zhangsan(UID 1200)

管理员root的UID:永远为0

普通用户的UID:默认从1000开始

*组账户*

作用: 方便管理用户

唯一标识:GID(编号从0开始的编号,默认最大60000)

sg(1500)

原则:Linux一个用户必须至少属于一个组

组账户的分类:

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

附加组(从属组):由管理员创建,由管理员进行加入

]# useradd zhangsan

  组: zhangsan

  组:sg  xs  mn  haha xixi 

本地账户的数据文件

/etc/passwd、/etc/shadow、– /etc/group、/etc/gshadow**

/etc/passwd:存放用户基本信息配置文件

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

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

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

用户账号创建

*命令useradd*

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

• 常用命令选项

– -u:指定 UID 标记号

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

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

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

[root@localhost ~]# useradd nsd01
[root@localhost ~]# id nsd01  #查看nsd01用户基本信息
uid=1002(nsd01) gid=1002(nsd01) 组=1002(nsd01)
]# usermod -s /sbin/nologin   stu13    #修改用户的解释器程序
]# grep  stu13   /etc/passwd

[root@localhost ~]# useradd -u 1500 nsd02
#-u 指定UID
[root@localhost ~]# id nsd02
uid=1500(nsd02) gid=1500(nsd02) 组=1500(nsd02)
[root@localhost ~]# grep nsd /etc/passwd
nsd01❌1002:1002::/home/nsd01:/bin/bash
nsd02❌1500:1500::/home/nsd02:/bin/bash
[root@localhost ~]# id nsd02
uid=1500(nsd02) gid=1500(nsd02) 组=1500(nsd02)


-d指定用户目录  用户可以没有家

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

-d指定用户目录

[root@localhost ~]# grep nsd04 /etc/passwd
nsd04❌1501:1501::/opt/nsd04:/bin/bash

[root@localhost ~]# ls /opt
1.txt nsd04 rh test test.txt
[root@localhost ~]# useradd -d /opt/hh05 nsd05

[root@localhost ~]# grep nsd05 /etc/passwd
nsd05❌1502:1502::/opt/hh05:/bin/bash
[root@localhost ~]# ls /opt
1.txt hh05 nsd04 rh test test.txt


-G:指定所属的附加组

[root@localhost ~]# groupadd stugrp #单独创建 stugrp组
[root@localhost ~]# useradd -G stugrp nsd06


groupadd 名 单独创建一个组

[root@localhost ~]# groupadd stugrp


[root@localhost ~]# useradd -G stugrp nsd07
[root@localhost ~]# id nsd07
uid=1505(nsd07) gid=1506(nsd07) 组 =1506(nsd07),1503(stugrp)


-G:修改用户的附加组    #重置附加组
(nsd16加入其他组时会重置、加-a 不重置)

[root@localhost ~]# useradd nsd16
[root@localhost ~]# id nsd16
uid=1602(nsd16) gid=1602(nsd16) 组=1602(nsd16)
[root@localhost ~]# usermod -G stugrp nsd16
[root@localhost ~]# id nsd16
uid=1602(nsd16) gid=1602(nsd16) 组=1602(nsd16),1504(stugrp)
[root@localhost ~]# groupadd tmooc
[root@localhost ~]# usermod -G tmooc nsd16
[root@localhost ~]# id nsd16
uid=1602(nsd16) gid=1602(nsd16) 组=1602(nsd16),1603(tmooc)


将一个已有用户 nsd01增加到一个已有用户组stugrp中,使此用户组成为该用户的附加用户组,可以使用带 -a 参数的 `usermod` 指令。

usermod -a -G stugrp nsd01


# 设置密码

passwd命令
–格式:passwd  [选项]...  用户名
[root@localhost ~]# passwd  nsd01       
## 交互式设置
更改用户 nsd01 的密码 。
新的 密码:                             #输入新密码
无效的密码: 密码少于 8 个字符
重新输入新的 密码:                #重新输入新密码
passwd:所有的身份验证令牌已经成功更新。

```powershell
[root@localhost ~]# su  -  nsd01       #临时切换用户身份
[nsd01@localhost ~]$ passwd 

更改用户 nsd01 的密码 。
为 nsd01 更改 STRESS 密码。
(当前)UNIX 密码: #输入旧密码
新的 密码: #输入新密码
重新输入新的 密码: #重新输入新密码
passwd:所有的身份验证令牌已经成功更新。
[nsd01@localhost ~]$ exit #退出。回到root用户身份

passwd命令,支持非交互式设置密码

––stdin:从标准输入(比如管道)取密码
~]# echo 123 | passwd --stdin nsd01
更改用户 nsd01 的密码 。
passwd:所有的身份验证令牌已经成功更新。

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

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

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

[root@localhost ~]# grep nsd01  /etc/shadow
nsd01:$6$NVe937Nd$B0n94XrpQ.LipQHTpYh0iV/M4jCLdccfHxzRLprdxDzwk8WDDh/TzdTfh8lA9y9WKJ.8Ls/l5.w/1W.nV6CFX/:18481:0:99999:7:::

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

字段1:用户帐号的名称
字段2:加密后的密码字符串
字段3:上次修改密码的时间
字段4:密码的最短有效天数,默认0
字段5:密码的最长有效天数,默认99999
字段6:密码过期前的警告天数,默认7
字段7:密码过期后多少天禁用此用户账号
字段8:帐号失效时间,默认值为空
字段9:保留字段(未使用)

用户初始配置文件

配置文件来源

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

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

```powershell
.bash_logout  .bash_profile  .bashrc  .mozilla
[root@localhost ~]#touch /etc/skel/员工手册.txt
[root@localhost ~]#mkdir /etc/skel/test
[root@localhost ~]#ls -A /etc/skel
.bash_logout  .bash_profile  .bashrc  .mozilla  test  员工手册.txt
[root@localhost ~]# useradd nsd20
[root@localhost ~]# ls -A /home/nsd20
.bash_logout  .bash_profile  .bashrc  .mozilla  test  员工手册.txt

主要的初始配置文件

–~/.bash_profile:每次登录系统时执行,定义初始变量值
–~/.bashrc:每次进入新的Bash环境时执行(开启新的终端)

[root@localhost ~]# vim /root/.bashrc  定义永久别名
[root@localhost ~]# haha
bash: haha: 未找到命令...

此处需要关闭终端重新打开才生效、在root中更改,若更改普通用户.bashre只在普通用户中生效

[root@localhost ~]# haha
hello xixi

/etc/bashrc:全局配置文件,影响全体用户 (开启新的终端)

[root@localhost ~]# vim   /etc/bashrc 
alias   xixi='echo xixi'

[root@localhost ~]# useradd  nsd20
[root@localhost ~]# su  -  nsd20      #相当于开启新的终端
[nsd20@localhost ~]$ xixi
xixi
[nsd20@localhost ~]$ exit
登出

删除用户

userdel命令

格式:userdel [-r] 用户名
添加 -r 选项,宿主目录/用户邮件也一并删除

[root@localhost ~]# userdel -r nsd01 #连同家目录一并删除
[root@localhost ~]# userdel nsd02 #不删除家目录,只删除用户信息

组账户管理

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

每个组记录一行,以:分割为4个字段
[root@localhost ~]# grep stugrp /etc/group
stugrp❌1504:nsd06
组名:组密码占位符:组的GID:组成员列表
[root@localhost ~]# groupadd aa 添加组
[root@localhost ~]# groupdel aa 删除组

[root@localhost ~]# groupadd tarena     #新建一个组
[root@localhost ~]# grep tarena  /etc/group  #查看组信息
tarena:x:1607:
[root@localhost ~]# useradd  kaka
[root@localhost ~]# useradd  nb
[root@localhost ~]# useradd  jack
[root@localhost ~]# useradd  kenji

gpasswd命令

–格式:gpasswd [选项]… 组名
•常用命令选项
–-a:添加组成员,每次只能加一个
–-d: 删除组成员,每次只能删一个
–-M:定义组成员用户列表,可设置多个
–-A:定义组管理员列表

]# gpasswd -a kaka tarena     #添加用户kaka到tarena组
]# grep tarena /etc/group     #查看组信息
]# id kaka
]# gpasswd -a nb  tarena         #添加用户nb到tarena组
]# grep tarena /etc/group

]# gpasswd  -M ‘jack,kenji’  tarena   #定义组成员列表
]# grep   tarena   /etc/group

]# gpasswd -a nb  tarena
]# grep  tarena  /etc/group

]# gpasswd -d nb  tarena      #将nb用户从tarena组中删除
]# grep   tarena  /etc/group   
]# gpasswd  -M ‘’  tarena   #删除组中所有成员
]# grep   tarena   /etc/group

-A:定义组管理员列表

组管理员可以不属于这个组
可以设置多个组管理员

gpasswd -A  ‘nb,jack’   tarena

gpasswd -A ‘ ’ tarena 删除组管理员

[root@localhost ~]# su - nb
[nb@localhost ~]$ gpasswd -a kaka tarena
gpasswd:没有权限。
[nb@localhost ~]$ exit
[root@localhost ~]# gpasswd -A nb tarena   #设置组管理员
[root@localhost ~]# su - nb
[nb@localhost ~]$ gpasswd -a kaka tarena
正在将用户“kaka”加入到“tarena”组中
[nb@localhost ~]$ exit

/etc/gshadow:组的管理信息配置文件

[root@localhost ~]# grep tarena  /etc/gshadow
tarena:!:nb:

组名:密码加密字符串:组的管理员列表:组成员列表

删除组账号:删除组的时候,不可以删除基本组

[root@localhost ~]# groupdel  tarena
[root@localhost ~]# groupdel  tmooc
[root@localhost ~]# grep  tmooc  /etc/group
[root@localhost ~]# grep  tarena  /etc/group

删除组账号:删除组的时候,不可以删除基本组

[root@localhost ~]# groupdel jack
groupdel:不能移除用户“jack”的主组

[root@localhost ~]# groupdel  tarena
[root@localhost ~]# groupdel  tmooc
[root@localhost ~]# grep  tmooc  /etc/group
[root@localhost ~]# grep  tarena  /etc/group

计划任务

用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务
软件包:cronie、crontabs
系统服务:crond
日志文件:/var/log/cron

使用 crontab 命令
–编辑:crontab -e [-u 用户名](edit不写默认root)
–查看:crontab -l [-u 用户名]
–清除:crontab -r [-u 用户名]

计划任务书写格式
分 时 日 月 周 任务命令行(绝对路径)

  九、计划任务

用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务
软件包:cronie、crontabs
系统服务:crond
日志文件:/var/log/cron

使用 crontab 命令
–编辑:crontab -e [-u 用户名](edit不写默认root)
–查看:crontab -l [-u 用户名]
–清除:crontab -r [-u 用户名]

计划任务书写格式
分 时 日 月 周 任务命令行(绝对路径)

      *     *    *    *   *         
      30   8   *    *   *         #每天早上8:30 执行一次
      30   23   *    *   *       #每天晚上23:30 执行一次
      30   23   *    *   5       #每周的周五23:30 执行一次
      30   23   *    *   1-5     #每周的周一至周五23:30 执行一次
      30   23   *    *   1,3,6   #每周的周一周三周六23:30 执行一次
      30   23   1    *   1       #每月的1号或每周一晚上23:30 执行一次
      *     *    *    *   *          #每分钟运行一次
      */5     *    *    *   *          #每隔5分钟运行一次
      1     */2    *    *   *          #每隔2小时第一分钟运行一次
 *   */2    *    *   *          #每隔2小时运行一次60次

当有冲突是满足其一即可
*:匹配范围内任意时间
,:分隔多个不连续的时间点
-:指定连续时间范围
/n:指定时间频率,每n …

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值