当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪linux中/etc/passwd与/etc/shadow文件详解      1,首先,介绍下passwd文件 passwd文件存放在/etc目录下。这个文件存放着所有用户帐号的信息,包括用户名和密码,因此,它对系统来说是至关重要的。 查看该文件:cat /etc/passwd Passwd文件由.........
    ▪linux中使用当前系统日期与时间创建文件名的方法      可以这样使用`date +%y%m%d` 例子:   代码示例: mkdir `date +%y%m%d` tar cfvz /tmp/bak.`date +%y%m%d`.tar.gz /etc 说明: YmdHM代表年月日时分,可以通过date --hlep查看哪些字母代表什么 注意:`这个符号是键.........
    ▪深入linux上shell重定向详解>>      在linux中重定向,一般这样:   代码示例: $ls -la > www..txt   以上语法形式就是shell的重定向,本来应该输出到bash的数据流,被>重定向到后面的文件www..txt了。 1、对标准文件描述符的重.........

[1]linux中/etc/passwd与/etc/shadow文件详解
    来源: 互联网  发布时间: 2013-12-24

1,首先,介绍下passwd文件
passwd文件存放在/etc目录下。这个文件存放着所有用户帐号的信息,包括用户名和密码,因此,它对系统来说是至关重要的。
查看该文件:cat /etc/passwd
Passwd文件由许多条记录组成,每条记录占一行,记录了一个用户帐号的所有信息。每条记录由7个字段组成,字段间用冒号“:”隔开,其格式如下:
username:password:User ID:Group ID:comment:home directory:shell

字段含义:
username 用户名
它唯一地标识了一个用户帐号,用户在登录时使用的就是它。
password 该帐号的口令
passwd文件中存放的密码是经过加密处理的。Linux的加密算法很严密,其中的口令几乎是不可能被破解的。盗用帐号的人一般都借助专门的黑客程 序,构造出无数个密码,然后使用同样的加密算法将其加密,再和本字段进行比较,如果相同的话,就代表构造出的口令是正确的。因此,建议不要使用生日、常用 单词等作为口令,它们在黑客程序面前几乎是不堪一击的。特别是对那些直接连入较大网络的系统来说,系统安全性显得尤为重要。
User ID 用户识别码,简称UID。 
Linux系统内部使用UID来标识用户,而不是用户名。UID是一个整数,用户的UID互不相同。
Group ID 用户组识别码,简称GID。
不同的用户可以属于同一个用户组,享有该用户组共有的权限。与UID类似,GID唯一地标识了一个用户组。
comment 这是给用户帐号做的注解
它一般是用户真实姓名、电话号码、住址等,当然也可以是空的。
home directory 主目录
这个目录属于该帐号,当用户登录后,它就会被置于此目录中,就像回到家一样。一般来说,root帐号的主目录是/root,其他帐号的家目录都在/home目录下,并且和用户名同名。
login command 用户登录后执行的命令
一般来说,这个命令将启动一个shell程序。例如,用bbs帐号登录后,会直接进入bbs系统,这是因为bbs帐号的login command指向的是bbs程序,等系统登录到bbs时就自动运行这些命令。

系统帐号
系统中还有一些默认的帐号,如daemon、bin等。这些帐号有着特殊的用途,一般用于进行系统管理。这些帐号的口令大部分用(x)号表示,代表它们不能在登录时使用。

2,其次是shadow文件
为了增强系统的安全性,Linux系统还可以为用户提供MD5和Shadow安全密码服务。如果在安装 Linux 时在相关配置的选项上选中了MD5和Shadow服务,那么将看到的/etc/passwd文件里的passwd项上无论是什么用户,都是一个“x”,这就表示这些用户都登录不了;系统其实是把真正的密码数据放在了/etc/shadow文件里。

/etc/shadow文件只能以root身份来浏览。
在系统设计时,/etc/passwd文件是任何人都可以读的,为了安全起见,所以只能以root身份来查看了。

3,相关命令
pwconv
根据/etc/passwd文件生成/etc/shadow。它把所有口令从/etc/passwd移到/etc/shadow中。
pwunconv
将/etc/shadow中的信息尽可能地恢复到/etc/passwd。

本篇文章详细介绍了linux系统中与用户信息有关的二个文件:/etc/passwd & /etc/shadow,一个用于保存用户及权限信息,一个用于保存密码。
建议大家好好研究下这二个文件的构成与内容,对日后的linux系统管理与运维,是很有帮助的。


    
[2]linux中使用当前系统日期与时间创建文件名的方法
    来源: 互联网  发布时间: 2013-12-24

可以这样使用`date +%y%m%d`
例子:
 

代码示例:
mkdir `date +%y%m%d`
tar cfvz /tmp/bak.`date +%y%m%d`.tar.gz /etc

说明:
YmdHM代表年月日时分,可以通过date --hlep查看哪些字母代表什么

注意:`这个符号是键盘上~,而不是'.
日期$(date +%Y%m%d)的 date命令和后边的日期格式的+号之前有一个空格。直接连写的话,无法生成日期,这点要注意。

有关date命令的详细用法,参考如下:
date
名称 : date
使用权限 : 所有使用者
使用方式 :
date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
说明 :
date 可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下 :
时间方面 :
% : 印出 %
%n : 下一行
%t : 跳格
%H : 小时(00-23)
%I : 小时(01-12)
%k : 小时(0-23)
%l : 小时(1-12)
%M : 分钟(00-59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S : 秒(00-60)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区
日期方面 :
%a : 星期几 (Sun-Sat)
%A : 星期几 (Sunday-Saturday)
%b : 月份 (Jan-Dec)
%B : 月份 (January-December)
%c : 直接显示日期与时间
%d : 日 (01-31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001-366)
%m : 月份 (01-12)
%U : 一年中的第几周 (00-53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0-6)
%W : 一年中的第几周 (00-53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000-9999)
若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[[CC]YY][.ss],其中 MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数
参数 :
-d datestr : 显示 datestr 中所设定的时间 (非系统时间)
--help : 显示辅助讯息
-s datestr : 将系统时间设为 datestr 中所设定的时间
-u : 显示目前的格林威治时间
--version : 显示版本编号
例子 :
显示时间后跳行,再
显示目前日期: #date '+%T%n%D'
显示月份与日数: date '+%B %d'
显示日期与设定时间(12:34:56): #date --date '12:34:56'
注意 :当你不希望出现无意义的 0 时(比如说 1999/03/07),则可以在标记中插入 - 符号,比如说 date '+%-H:%-M:%-S' 会把时分秒中无意义的 0 给去掉,像是原本的 08:09:04 会变为 8:9:4。另外,只有取得权限者(比如说 root)才能设定系统时间。
当你以 root 身分更改了系统时间之后,请记得以 clock -w 来将系统时间写入 CMOS 中,这样下次重新开机时系统时间才会持续抱持最新的正确值。

例子:修改日期时间
在命令行输入:
Date:显示当前时间 Fri Aug 3 14:15:16 CST 2007
date –s:按字符串方式修改时间
可以只修改日期,不修改时间,输入:
 

代码示例:
date -s 2007-08-03
 

只修改时间,输入:
 

代码示例:
date -s 14:15:00
 

同时修改日期时间,注意要加双引号,日期与时间之间有一空格,输入:
 

代码示例:
#date -s "2007-08-03 14:15:00"

2、查看硬件时间
 

代码示例:
# hwclock
 

设置硬件时间
 

代码示例:
# hwclock -set -date="07/07/06 10:19" (月/日/年 时:分:秒)
 

3、硬件时间和系统时间的同步
按照前面的说法,重新启动系统,硬件时间会读取系统时间,实现同步,但是在不重新启动的时候,需要用hwclock命令实现同步。
 

代码示例:
硬件时钟与系统时钟同步:
# hwclock --hctosys(hc代表硬件时间,sys代表系统时间)
系统时钟和硬件时钟同步:(让系统的时间同步到硬件时钟)
# hwclock –systohc

    
[3]深入linux上shell重定向详解>>
    来源: 互联网  发布时间: 2013-12-24

在linux中重定向,一般这样:
 

代码示例:
$ls -la > www..txt
 

以上语法形式就是shell的重定向,本来应该输出到bash的数据流,被>重定向到后面的文件www..txt了。

1、对标准文件描述符的重定向
文件描述符的含义,0代表以一个程序的标准输入,1代表标准输出,2代表标准错误输出,其他的暂时忽略。
对于shell的重定向可以根据文件描述符的不同定向到不同的位置。
简单理解:正确的信息可以定向到A,错误的信息可以定向到B。

例子:
 

代码示例:
tar zcvf www..tar.gz  www. >tar.out.txt   //把打包文件的记录写到tar.out.txt文件
tar zcvf www..tar.gz  www. >tar.out.txt    2 > tar.error.out.txt  //把打包文件的记录写到tar.out.txt文件,并且把错误信息写入tar.error.out.txt文件
tar zcvf www..tar.gz  www. >tar.out.txt    2 >&1   //把打包文件的记录写到tar.out.txt文件,并且把错误信息也写入tar.out.txt 文件,注意 >&语法格式,表示结合两个输出。

2、关于追加模式的说明>>
>>表示对文件的追加,而>是会删除原有内容的

例子:
 

代码示例:
free >>free.txt    //表示以追加的模式写入free.txt 文件。

3、如何丢弃有效内容
有些shell命令我们是不需要显示在bash上,也不需要重定向到文件中,就需要丢弃这部分有效内容,怎么办呢?
很简单,可以尝试使用linux通用的回收站,/dev/null来解决。

举例:
 

代码示例:
kill -1 1111 >/dev/null 2>&1       //返回信息以及错误信息都丢弃

4、文件覆盖与文件不覆盖说明
默认情况下,通过>重定向文件,如果文件已经存在的话,他的内容会被覆盖。如果要改变默认行为,即不覆盖的话,请使用set
 

代码示例:
set -o noclobber     或者set -C     //阻止文件重定向操作对一个文件的覆盖
set +o noclobber    //恢复 文件重定向操作对一个文件的覆盖

5、重定向输入<
举例
 

代码示例:
vi  < .conf
 

vi本身就可以接收文件名做参数!

就介绍这些吧,希望对大家有所帮助。

您可能感兴趣的文章:

Linux重定向实例详解
解析:Linux之管道与重定向
深入linux中重定向及管道详解
Linux中重定向命令行的方法总结
shell i/o常用重定向方法详解
深入理解Linux重定向的使用
linux文件描述符与输入输出重定向
有关I/O重定向的详细教程

    
最新技术文章:
▪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