当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪crontab 命令格式与例子      crontab 命令格式与例子 crontabl基本格式 : *  *  *  *  *  command 分 时 日 月 周 命令 第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时1~23(0表示0点) 第3列表示日.........
    ▪实例学习Linux下新增与删除用户组      新增与删除用户组需要用到的命令:groupadd,groupmod,groupdel,gpasswd groupadd:新增用户组 #groupadd [-g gid] [-r] 用户组名   -g后面接某个特定的GID,用来直接给予某个GID。:   -r:新建系统用户组,与/etc/.........
    ▪Linux用户与用户组详细教程          本文是一篇有关linux用户与用户组的详细教程,内容包括用户和用户组文件、用户密码文件、用户组账号文件、用户与用户组的管理等知识。     供初学者参考学习。 1,用户和用户组文.........

[1]crontab 命令格式与例子
    来源: 互联网  发布时间: 2013-12-24

crontab 命令格式与例子

crontabl基本格式 :
*  *  *  *  *  command
分 时 日 月 周 命令

第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

crontab文件的一些例子:

30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启apache。

* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache

* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache

0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启apache

0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启apache

附:crontab参考

名称 : crontab

使用权限 : 所有使用者

使用方式 :
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。
crontab文件的格式:M H D m d cmd.

M: 分钟(0-59)。
H:小时(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)。

cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量

说明 :
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

参数 :
crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
crontab -r : 删除目前的时程表
crontab -l : 列出目前的时程表
crontab file [-u user]-用指定的文件替代目前的crontab。

时程表的格式如下 :
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推
使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。

例子1 :
#每天早上7点执行一次 /bin/ls :
0 7 * * * /bin/ls

在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup

周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata

每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"

注意 :
当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可

例子2 :

#每天早上6点10分
10 6 * * * date

#每两个小时
0 */2 * * * date

#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date

#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date

#1月份日早上4点
0 4 1 jan * date

范例
$crontab -l 列出用户目前的crontab.


    
[2]实例学习Linux下新增与删除用户组
    来源: 互联网  发布时间: 2013-12-24

新增与删除用户组需要用到的命令:groupadd,groupmod,groupdel,gpasswd

groupadd:新增用户组

#groupadd [-g gid] [-r] 用户组名
  -g后面接某个特定的GID,用来直接给予某个GID。:
  -r:新建系统用户组,与/etc/login.defs内的GID_MIN有关。

例子:
 

代码如下:
#groupadd group1
#grep group1 /etc/group /etc/gshadow
 (用户组的GID是由大于500的最大GID+1来决定)

groupmod:进行group相关参数修改

#groupmod [-g gid] [-n group_name] 用户组名
  -g:修改既有的GID数字。
  -n:修改既有的组名。

例子:
 

代码如下:
将group1的名字改为mygroup,并且将GID改为201
  #groupmod –g 201 –n mygroup group1
  #grep mygroup /etc/group /etc/gshadow

groupdel:删除用户组

#groupdel [groupname]

例子:
 

代码如下:
#groupdel mygroup

假如某一个用户组不能被删除,那就是有某个账号的初始用户组使用该用户组。
要删除的用户组必须是没有任何人使用改组作为初始用户组。

gpasswd:用户组管理员功能(让某个组拥有一个管理员)

代码如下:
#gpasswd groupname
#gpasswd [-A user1,…] [-M user3,…] groupname
#gpasswd [-rR] groupname
 

  若没有任何参数,表示给予groupname一个密码(/etc/gshadow)
  -A:将groupname 的主控权交由后面的用户管理(该用户组的管理员)
  -M:将某些账号加入这个用户组当中
  -r:将groupname的密码删除
  -R: 让groupname的密码栏失效

关于用户组管理员的操作:
$gpasswd [-ad] user groupname
  -a:将某位用户加入到groupname这个用户组当中。
  -d:将某位用户删除出groupname这个用户组。

例子:
 

代码如下:
#groupadd testgroup
  #gpasswd testgroup         ==>设置密码
  #gpasswd –A vbird1 testgroup   ==>给组testgroup设置一个管理员vbird1
  $gpasswd –a vbird1 testgroup
  $gpasswd –a vbird3 testgroup

    
[3]Linux用户与用户组详细教程
    来源: 互联网  发布时间: 2013-12-24

    本文是一篇有关linux用户与用户组的详细教程,内容包括用户和用户组文件、用户密码文件、用户组账号文件、用户与用户组的管理等知识。
    供初学者参考学习。

1,用户和用户组文件
  在linux中,用户帐号,用户密码,用户组信息和用户组密码均是存放在不同的配置文件中的。

  在linux系统中,所创建的用户帐号和其相关信息(密码除外)均是存放在/etc/passwd配置文件中。由于所有用户对passwd文件均有读取的权限,因此密码信息并未保存在该文件中,而是保存在了/etc/shadow的配置文件中。

  在passwd文件中,一行定义一个用户帐号,每行均由多个不同的字段构成,各字段值间用":”分隔,每个字段均代表该帐号某方面的信息。
  在刚安装完成的linux系统中,passwd配置文件已有很多帐号信息了,这些帐号是由系统自动创建的,他们是linux进程或部分服务程序正常工作所需要使用的账户,这些账户的最后一个字段的值一般为/sbin/nologin,表示该帐号不能用来登录linux系统。

  在passwd配置文件中,从左至右各字段的对应关系及其含义:
 用户帐号    用户密码    用户ID    用户组ID   用户名全称    用户主目录  用户所使用的shell
  root            x                  0             0                root              /root                /bin/bash

  由于passwd不再保存密码信息,所以用x占位代表。
  若要使某个用户账户不能登录linux,只需设置该用户所使用的shell为/sbin/nologin即可。比如,对于FTP 账户,一般只允许登录和访问FTP服务器,不允许登录linux操作系统。若要让某用户没有telnet权限,即不允许该用户利用telnet远程登录和访问linux操作系统,则设置该用户所使用的shell为/bin/true即可。若要让用户没有telnet和ftp登录权限,则可设置该用户的 shell为/bin/false。
  在/etc/shells文件中,若没有/bin/true或/bin/false,则需要手动添加:
 

代码如下:
[root@localhost ~]# echo "/bin/false">>/etc/shells
[root@localhost ~]# echo "/bin/true">>/etc/shells

2,用户密码文件
  为安全起见,用户真实的密码采用MD5加密算法加密后,保存在/etc/shadow配置文件中,该文件只有root用户可以读取。
  与passwd文件类似,shadow文件也是每行定义和保存一个账户的相关信息。第一个字段为用户帐户名,第二个字段为账户的密码。

3,用户组帐号文件
  用户组帐号信息保存在/etc/group配置文件中,任何用户均可以读取。用户组的真实密码保存在/etc/gshadow配置文件中。
  在group中,第一个字段代表用户组的名称,第二个字段为x,第三个为用户组的ID号,第四个为该用户组的用户成员列表,各用户名间用逗号分隔。

4,添加用户
  创建或添加新用户使用useradd命令来实现,其命令用法为:
  useradd [option] username
  该命令的option选项较多,常用的主要有:
  -c 注释      用户设置对账户的注释说明文字
  -d 主目录    指定用来取代默认的/home/username的主目录
  -m          若主目录不存在,则创建它。-r与-m相结合,可为系统账户创建主目录
  -M          不创建主目录
  -e date     指定账户过期的日期。日期格式为MM/DD/YY
  -f days     帐号过期几日后永久停权。若指定为-,则立即被停权,若为-1,则关闭此功能
  -g 用户组     指定将用户加入到哪个用户组,该用户组必须存在
  -G 用户组列表指定用户同时加入的用户组列表,各组用逗分隔
  -n          不为用户创建私有用户组
  -s shell    指定用户登录时使用的shell,默认为/bin/bash
  -r          创建一个用户ID小于500的系统账户,默认不创建对应的主目录
  -u 用户ID    手动指定新用户的ID值,该值必须唯一,且大于499
  -p password 为新建用户指定登录密码。此处的password是对应登录密码经MD5加密后所得到的密码值,不实真实密码原文,因此在实际应用中,该参数选项使用较少,通常单独使用passwd命令来为用户设置登录密码。

示例:
  若要创建一个名为zhangjie的用户,并作为student用户组的成员,则操作命令为:
 

代码如下:
[root@localhost ~]# useradd -g student zhangjie
[root@localhost ~]# tail -1 /etc/passwd
zhangjie:x:501:501::/home/zhangjie:/bin/bash

  添加用户时,若未用-g参数指定用户组,则系统默认会自动创建一个与用户帐号同名的私有用户组。若不需要创建该私有用户组,则可选用-n参数。
比如,添加一个名为lijie的账户,但不指定用户组,其操作结果为:
 

代码如下:
[root@localhost ~]# useradd lijie
[root@localhost ~]# tail -1 /etc/passwd
lijie:x:502:502::/home/lijie:/bin/bash
[root@localhost ~]# tail -2 /etc/group
student:x:501:
lijie:x:502:          #系统自动创建了名为lijie的用户组,ID号为502

  创建用户账户时,系统会自动创建该用户对应的主目录,该目录默认放在/home目录下,若要改变位置,可以利用-d参数指定;对于用户登录时使用的shell,默认为/bin/bash,若要更改,则使用-s参数指定。
例如,若要创建一个名为vodup的账户,主目录放在/var目录下,并指定登录shell为/sbin/nologin,则操作命令为:
 

代码如下:
[root@localhost ~]# useradd -d /var/vodup -s /sbin/nologin vodup
[root@localhost ~]# tail -1 /etc/passwd
vodup:x:503:503::/var/vodup:/sbin/nologin
[root@localhost ~]# tail -1 /etc/group
vodup:x:503:

5,设置帐号属性
  对于已创建好的用户,可使用usermod命令来修改和设置账户的各项属性,包括登录名,主目录,用户组,登录shell等,该命令用法为:
usermod [option] username
部分option选项
(1)改变用户帐户名
使用-l参数来实现,命令用法为:
usermod -l 新用户名 原用户名
例如,若要将用户lijie更名为lijunjie,则操作命令为:
 

代码如下:
[root@localhost ~]# usermod -l lijunjie lijie
[root@localhost ~]# tail -1 /etc/passwd
lijunjie:x:502:502::/home/lijie:/bin/bash
 

从输出结果可见,用户名已更改为lijunjie。主目录仍为原来的/home/lijie,若也要更改为/home/lijunjie,则可通过执行以下命令来实现
 

代码如下:
[root@localhost ~]# usermod -d /home/lijunjie lijunjie
[root@localhost ~]# tail -1 /etc/passwd
lijunjie:x:502:502::/home/lijunjie:/bin/bash
[root@localhost ~]# mv /home/lijie /home/lijunjie

(2)锁定账户
  若要临时禁止用户登录,可将该用户账户锁定。锁定账户可利用-L参数来实现,其命令用法为:
 usermod -L 要锁定的账户
  linux锁定用户,是通过在密码文件shadow的密码字段前加“!”来标识该用户被锁定。

(3)解锁账户
  要解锁账户,可以使用带-U参数的usermod命令来实现

6,删除账户
  要删除账户,可以使用userdel命令来实现,其用法为:
  userdel [-r] 帐户名
  -r为可选项,若带上该参数,则在删除该账户的同时,一并删除该账户对应的主目录。
  若要设置所有用户账户密码过期的时间,则可通过修改/etc/login.defs配置文件中的PASS_MAX_DAYS配置项的值来实现,其默认值为99999,代表用户账户密码永不过期。其中PASS_MIN_LEN配置项用于指定账户密码的最小长度,默认为5个字符。

7,设置用户登录密码
  使用passwd命令来设置,其命令用法为:
  passwd [帐户名]
  若指定了帐户名称,则设置指定账户的登录密码,原密码自动被覆盖。只有root用户才有权设置指定账户的密码。一般用户只能设置或修改自己账户的密码(不带参数)。
  例如,若要设置lijunjie账户的登陆密码,则操作命令为:
[root@localhost ~]# passwd lijunjie
更改用户 lijunjie 的密码 。
新的 密码:
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。

  账户登录密码设置后,该账户就可以登录系统了。按ctrl+alt+F2键,选择第2号虚拟控制台(tty2),然后利用lijunjie账户登录,以检验能否登录。


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3