当前位置:首页 > 有云笔记 > ADMIN > 正文内容

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

小白3年前 (2021-12-11)ADMIN298100

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

1 案例1:添加用户账号

1.1 问题

  1. 创建一个名为tedu01的用户账号

  2. 检查/etc/passwd、/etc/shadow文件的最后一行

  3. 检查/home/新增加的宿主目录(家目录)

  4. 新建用户tedu02,宿主目录位于/opt/tedu02

  5. 新建系统账号system01,将UID设为1234,登录Shell设为/sbin/nologin

  6. 新建用户admin,附加组设为adm、root

1.2 方案

在Linux同添加一个用户账户的命令为useradd,常用的选项较多。可以利用man命令查看其帮助信息。

本题涉及的选项:

  • -u:设置 UID 标记号

  • -d:指定宿主目录,缺省为 /home/用户名

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

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

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:添加一个tedu01的用户账号

命令操作如下所示:

[root@localhost ~]# useradd   tedu01

步骤二:/etc/passwd、/etc/shadow文件的最后一行

[root@localhost ~]# grep  tedu01 /etc/passwd /etc/shadow   //查看是否创建成功

步骤三:检查/home/新增加的宿主目录(家目录)

[root@localhost ~]# ls /home                     //查看家目录是否创建成功[root@localhost ~]#

步骤四:新建用户tedu02,宿主目录位于/opt/tedu02



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


步骤五:新建系统账号system01,将UID设为1234,登录Shell设为/sbin/nologin



[root@localhost ~]# useradd  -u  1234  -s  /sbin/nologin  system01
[root@localhost ~]# id  system01
[root@localhost ~]# grep system01 /etc/passwd
[root@localhost ~]#


步骤四:新建用户admin,附加组设为adm、root


[root@localhost ~]# useradd  -G  adm,root  admin
[root@localhost ~]# id  admin


2 案例2:设置用户密码

2.1 问题

  1. 为用户tedu01设置一个密码:123456

  2. 过滤/etc/shadow文件中包含tedu01的内容

  3. 为用户system01设置密码,并测试是否能够登录

  4. 非交互式给用户tedu02设置密码123456

  5. 交互式给用户admin,设置密码为redhat

2.2 方案

为账户设置密码的命令为passwd,管理员root可以修改任何用户的口令,所有用户(包括普通用户)都可以修改自己的口令。

常用命令选项:

  • --stdin:从标准输入(比如管道)取密码

查看结果可以利用grep命令,从/etc/shadow筛选。

2.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:为用户tedu01设置一个密码:123456

命令操作如下所示:

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

步骤二:过滤/etc/shadow文件中包含tedu01的内容

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

步骤三:为用户system01设置密码,并测试是否能够登录

由于登录的解释器为/sbin/nologin,所以是无法登录系统

[root@localhost ~]# echo 123456  |  passwd –stdin  system01

步骤四:新建用户tedu02,宿主目录位于/opt/tedu02



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


步骤五:非交互式给用户tedu02设置密码123456

[root@localhost ~]# echo 123456  |  passwd –stdin  tedu02

步骤六:交互式给用户admin,设置密码为redhat


[root@localhost ~]# passwd admin更改用户 admin 的密码 。新的 密码:无效的密码: 密码少于 8 个字符重新输入新的 密码:passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]#


3 案例3:配置用户和组账号

3.1 问题

本例要求创建下列用户、组以及组的成员关系:

  1. 新建用户 alex,其用户ID为3456,密码是flectrag

  2. 创建一个名为 adminuser 的组

  3. 创建一个名为 natasha 的用户,其属于 adminuser 组,这个组是该用户的从属组

  4. 创建一个名为 harry 的用户,其属于 adminuser 组,这个组是该用户的从属组

  5. 创建一个名为 sarah 的用户,其在系统中没有可交互的 Shell,并且不是 adminuser 组的成员

  6. natasha 、harry、sarah 的密码都要设置为 flectrag

3.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:创建组账号

[root@server0 ~]# groupadd  adminuser

步骤二:按照要求的属性创建用户账号



[root@server0 ~]# useradd  -u  3456  alex
[root@server0 ~]# useradd  -G  adminuser  natasha
[root@server0 ~]# useradd  -G  adminuser  harry
[root@server0 ~]# useradd  -s  /sbin/nologin  sarah


步骤三:为用户设置登录密码



[root@server0 ~]# echo  flectrag  |  passwd  --stdin  alex更改用户 alex 的密码 。passwd:所有的身份验证令牌已经成功更新。
[root@server0 ~]# echo  flectrag  |  passwd  --stdin  natasha更改用户 natasha 的密码 。passwd:所有的身份验证令牌已经成功更新。
[root@server0 ~]# echo  flectrag  |  passwd  --stdin  harry更改用户 harry 的密码 。passwd:所有的身份验证令牌已经成功更新。
[root@server0 ~]# echo  flectrag  |  passwd  --stdin  sarah更改用户 sarah 的密码 。passwd:所有的身份验证令牌已经成功更新。



一、 计划任务

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

软件包: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

4 案例4:配置一个cron任务

4.1 问题

本例要求为用户 natasha 配置一个定时任务,具体要求如下:

  1. 每天在本地时间 14:23 执行

  2. 需要完成的任务操作为 /bin/echo hiya

4.2 方案

配置格式可参考 /etc/crontab 文件:

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

在表示各段的时间点时,除了明确的数值以外,还可以参考以下形式:

  • *:匹配范围内任意时间

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

  • -:指定连续时间范围

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

4.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:配置crontab任务记录

1)确保系统服务crond可用


[root@server0 ~]# systemctl  restart  crond
[root@server0 ~]# systemctl  enable  crond


2)为用户natasha添加计划任务

[root@server0 ~]# crontab  -e  -u  natasha23  14  *  *  *  /bin/echo hiya

步骤二:检查任务是否执行

1)将系统日期时间临时调整到任务时间点前10秒左右


[root@server0 ~]# date  -s  '14:22:50'              //设置Sat Nov 26 14:22:50 CST 2016
[root@server0 ~]# date                              //确认日期时间Sat Nov 26 14:22:55 CST 2016


2)等待10秒后查看/var/log/cron日志,应该会有执行记录

[root@server0 ~]# tail  /var/log/cron.. ..Nov 26 14:23:02 localhost CROND[3818]: (natasha) CMD (/bin/echo hiya)

over

linux 用户管理 、 组账号管理 、 计划任务  您阅读本篇文章共花了: 

分享到:

    扫描二维码推送至手机访问。

    版权声明:本文由有云转晴发布,如需转载请注明出处。

    本文链接:https://yyzq.cf/?id=25

    标签: Linux
    分享给朋友:

    发表评论

    访客

    ◎欢迎参与讨论,请在这里发表您的看法和观点。