Linux用户管理 、组账号管理、计划任务

一、 打开虚拟机
二、 构建本的Yum仓库
[root@localhost ~]# mkdir /nsd20
[root@localhost ~]# ls /nsd20
[root@localhost ~]# mount /dev/cdrom /nsd20
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# ls /nsd20
[root@localhost ~]# rm -rf /etc/yum.repos.d/*
[root@localhost ~]# vim /etc/yum.repos.d/my.repo
[centos]
name=hahaxixi
baseurl=file:///nsd20
enabled=1
gpgcheck=0
[root@localhost ~]# yum -y install xorg-x11-apps
[root@localhost ~]# xeyes

三、 用户管理简介
 用户账户
作用: 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❌0:0:root:/root:/bin/bash
用户名:密码占位符:UID:基本组GID:用户描述信息:家目录:解释器

四、 用户账号创建
 命令useradd
– 格式:useradd [选项]… 用户名
• 常用命令选项
– -u:指定 UID 标记号
– -d:指定宿主目录(家目录),缺省为 /home/用户名
– -G:指定所属的附加组
– -s:指定用户的登录解释器

-u:指定 UID 编号
[root@localhost ~]# useradd nsd01
[root@localhost ~]# ls /home/ #查看家目录的产生
lisi nsd01 zhangsan
[root@localhost ~]# grep nsd01 /etc/passwd #查看nsd01信息
nsd01❌1002:1002::/home/nsd01:/bin/bash
[root@localhost ~]# id nsd01 #查看nsd01用户基本信息
uid=1002(nsd01) gid=1002(nsd01) 组=1002(nsd01)
[root@localhost ~]# id gaga
id: gaga: no such user #无此用户

[root@localhost ~]# useradd -u 1500 nsd02 #指定UID创建用户
[root@localhost ~]# id nsd02 #查看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 ~]# useradd nsd03
[root@localhost ~]# grep nsd /etc/passwd
[root@localhost ~]# id nsd03

-d:指定宿主目录(家目录),缺省为 /home/用户名
[root@localhost ~]# useradd -d /opt/nsd04 nsd04
[root@localhost ~]# grep nsd04 /etc/passwd
[root@localhost ~]# ls /opt/

[root@localhost ~]# useradd -d /opt/haha05 nsd05
[root@localhost ~]# grep nsd05 /etc/passwd
[root@localhost ~]# ls /opt/

-G:指定所属的附加组
[root@localhost ~]# groupadd stugrp #单独创建stugrp组
[root@localhost ~]# useradd -G stugrp nsd06
[root@localhost ~]# id nsd06
uid=1504(nsd06) gid=1505(nsd06) 组=1505(nsd06),1504(stugrp)

[root@localhost ~]# useradd -G stugrp nsd07
[root@localhost ~]# id nsd07

-s:指定用户的登录解释器
shell:壳,解释器
用户---->解释器---->内核---->硬件
/sbin/nologin:禁止用户登录操作系统

[root@localhost ~]# useradd -s /sbin/nologin nsd10
[root@localhost ~]# grep nsd07 /etc/passwd

[root@localhost ~]# useradd -s /sbin/nologin nsd11
[root@localhost ~]# grep nsd09 /etc/passwd

 usermod命令
– 格式:usermod [选项]… 用户名
• 常用命令选项
– -l:更改用户帐号的登录名称
– -u:用户id
– -d:家目录路径
– -s:登录解释器
– -G:附加组 //重置附加组

-l:更改用户帐号的登录名称
-u:用户id
-s:登录解释器
]# useradd nsd13
]# id nsd13
]# grep nsd13 /etc/passwd

]# usermod -l stu13 nsd13 #修改用户名字
]# id stu13

]# usermod -u 1600 stu13 #修改用户的UID
]# id stu13

]# usermod -s /sbin/nologin stu13 #修改用户的解释器程序
]# grep stu13 /etc/passwd

-d:家目录路径(不会自动创建家目录)
[root@localhost ~]# useradd nsd15
[root@localhost ~]# grep nsd15 /etc/passwd
nsd15❌1601:1601::/home/nsd15:/bin/bash
[root@localhost ~]# ls /home/

[root@localhost ~]# usermod -d /etc/abc nsd15
[root@localhost ~]# grep nsd15 /etc/passwd
nsd15❌1601:1601::/etc/abc:/bin/bash
[root@localhost ~]# ls /etc/abc
ls: 无法访问/etc/abc: 没有那个文件或目录

-G:修改用户的附加组 #重置附加组
[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)

五、 设置密码
 passwd命令
– 格式:passwd [选项]… 用户名
[root@localhost ~]# passwd nsd01 #交互式设置
更改用户 nsd01 的密码 。
新的 密码: #输入新密码
无效的密码: 密码少于 8 个字符
重新输入新的 密码: #重新输入新密码
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# su - nsd01 #临时切换用户身份
[nsd01@localhost ~]$ passwd
更改用户 nsd01 的密码 。
为 nsd01 更改 STRESS 密码。
(当前)UNIX 密码: #输入旧密码
新的 密码: #输入新密码
重新输入新的 密码: #重新输入新密码
passwd:所有的身份验证令牌已经成功更新。
[nsd01@localhost ~]$ exit #退出。回到root用户身份

 passwd命令,支持非交互式设置密码
– --stdin:从标准输入(比如管道)取密码
[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 6 6NVe937Nd$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/

[root@localhost ~]# touch /etc/skel/haxi.txt
[root@localhost ~]# mkdir /etc/skel/test
[root@localhost ~]# ls -A /etc/skel/

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

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

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

[root@localhost ~]# vim /root/.bashrc #定义永久别名
alias haha=‘echo haha’

开启新的终端进行测试:
[root@localhost ~]# haha
haha

– /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
登出
[root@localhost ~]#

七、 删除用户
 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 tarena #新建一个组
[root@localhost ~]# grep tarena /etc/group #查看组信息
tarena❌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:定义组管理员列表
[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
[root@localhost ~]#
 /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

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

 使用 crontab 命令
– 编辑:crontab -e [-u 用户名]
– 查看: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小时运行一次

*:匹配范围内任意时间
,:分隔多个不连续的时间点
-:指定连续时间范围
/n:指定时间频率,每n …

案例:
每分钟记录当前的系统时间,写入/opt/time.txt
[root@localhost ~]# date
[root@localhost ~]# date >> /opt/time.txt
[root@localhost ~]# cat /opt/time.txt
[root@localhost ~]# crontab -e #编写计划任务

          • date >> /opt/time.txt

[root@localhost ~]# crontab -l #查看计划任务内容

          • date >> /opt/time.txt

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值