当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪深入理解linux中/etc/profile和/etc/skel      在linux系统中,文件/etc/profile由系统管理员管,当初次登录时,每个用户都 source 它,所以使它保持工作状态很重要。 它也是提供给新用户的强大工具,该工具使新用户一登录进他们的新帐户.........
    ▪linux中/etc/shadow文件内容详解      linux中的/etc/shadow文件,保存着用户的密码信息。 形如这样:   beinan:$1$VE.Mq2Xf$2c9Qi7EQ9JP8GKF8gH7PB1:13072:0:99999:7::: xxx:$1$IPDvUhXP$8R6J/VtPXvLyXxhLWPrnt/:13072:0:99999:7::13108: 以下是详细的介绍。 第一字段.........
    ▪linux中的/etc/passwd文件详解      1,注册名(login_name):用于区分不同的用户。在同一系统中注册名是惟一的。 该字段被限制在8个字符(字母或数字)的长度之内; 注意:通常在Linux系统中对字母大小写是敏感的。这与MSDOS/Windo.........

[1]深入理解linux中/etc/profile和/etc/skel
    来源: 互联网  发布时间: 2013-12-24

在linux系统中,文件/etc/profile由系统管理员管,当初次登录时,每个用户都 source 它,所以使它保持工作状态很重要。
它也是提供给新用户的强大工具,该工具使新用户一登录进他们的新帐户,一切就正确运行。
但是,有一些您可能希望新用户作为缺省值的设置,而且允许容易地修改它们。这就是 /etc/skel 目录的用途所在。

当您用 useradd 命令来创建一个新用户帐户时,它将所有的文件从 /etc/skel 复制到用户的新的主目录中(如果按默认应该在/home下)。
这意味着可以将有帮助的 .bash_profile 和 .bashrc 文件放在 /etc/skel 中,使新用户有一个好的开始。

/etc/skel建立使用起来非常简单。它使所有在LFS系统上面的 新用户拥有一样的初始设置。 /etc/skel目录是被 /usr/sbin/useradd 使用的。

开始需要建立一个/etc/skel 目录,最好使用root用户。然后把想要新用户拥有的配置文件拷贝到/etc/skel目录。比如: .bash_profile, .bashrc, .bash_logout, dircolors, .inputrc, 和 .vimrc。

当使用 /usr/sbin/useradd建立新用户的时候使用 -m 参数,例如:
 

代码示例:
#useradd -m -s/bin/bash steven

/usr/sbin/useradd使用了一系列缺省设置,位于/etc/default/useradd(如果这个文件存在的话)。如果这个文件不存在,它会使用其内部缺省设置,可以用/usr/sbin/useradd -D 来列处这些设置。

如果想对这个缺省设置作一些变动,就要建立一个 /etc/default/useradd 文件,并使用和 /usr/sbin/useradd -D输出一样的内容。例如:
 

代码示例:
# /etc/default/useradd 开始
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=
SKEL=/etc/skel
# /etc/default/useradd 结束

所以,可以看到默认的HOME和默认的SKEL目录。

里面少了对缺省shell的设置。运行此命令添加:
#/usr/sbin/useradd -D -s/bin/bash

这样 SHELL= 那一行将被设置成 SHELL=/bin/bash。这样使得在LFS系统增加新用户更加容易。 /usr/sbin/useradd 有很多参数可以在/etc/default/useradd中设置。
可以阅读man手册来获取更多细节。

从上面的例子可以看出/etc/skel目录的作用:
skel 是 skeleton 的缩写,每当你新建一个用户的时候 (通过 useradd 命令),/etc/skel 目录下的文件,都会原封不动的复制到新建用户的家目录下,看下该目录都有什么文件:
 

代码示例:
localhost ~ # ls -a /etc/skel
. .. .bash_logout .bash_profile .bashrc

作为一个多用户系统的管理员,可以在 skel 目录下写个 ReadMe.txt 之类的文件,写一些使用说明,这样每个新建的用户都会在自己的目录下看到这个说明文件了。

再比如,希望新建用户可以直接 startx 就启动到 gnome 桌面环境,你可以在 skel 目录下建立一个 .xinitrc 文件,内容如下:
 

代码示例:
export LC_ALL="zh_CN.UTF-8"
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE="scim"
eval `dbus-launch --exit-with-session --sh-syntax`
exec gnome-session

因为 .xinitrc 是 X 启动需要读取的用户配置文件,这样每个用户 startx 之后就直接装载 gnome 了。

甚至可以在 sekl 目录下再建立目录,总之 /etc/skel 下的所有文件都会拷贝的用户的家目录去。

在 skel 目录下的 .bashrc 文件中加入一些方便的环境变量或者命令别名,这样每个新建用户都可以使用这些功能。
不过,更好的选择是把这些设置放到全局的 /etc/profile 中,因为 skel 目录下的文件是拷贝过去的,如果你修改或者增加了新的文件,只有新建的用户才能受益。

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


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

linux中的/etc/shadow文件,保存着用户的密码信息。

形如这样:
 

beinan:$1$VE.Mq2Xf$2c9Qi7EQ9JP8GKF8gH7PB1:13072:0:99999:7:::
xxx:$1$IPDvUhXP$8R6J/VtPXvLyXxhLWPrnt/:13072:0:99999:7::13108:

以下是详细的介绍。

第一字段:用户名(也被称之为登录名),在例子中有峡谷两条记录,也表示有两个用户beinan和xxx

第二字段:被加密的密码,如果有的用户在此字段中是x,表示这个用户不能登录系统,也可以看作是虚拟用户,不过虚拟用户和真实用户都是相对的,系统管理员随时可以对任何用户操作;

第三字段:表示上次更改口令的天数(距1970年01月01日),上面的例子能说明beinan和xxx这两个用户,是在同一天更改了用户密码,当然是通过passwd 命令来更改的,更改密码的时间距1970年01月01日的天数为13072;

第四字段:禁用两次口令修改之间最小天数的功能,设置为0

第五字段:两次修改口令间隔最多的天数,在例子中都是99999天;这个值如果在添加用户时没有指定的话,是通过/etc/login.defs来获取默认值,PASS_MAX_DAYS 99999;您可以查看/etc/login.defs来查看,具体的值;

第六字段:提前多少天警告用户口令将过期;当用户登录系统后,系统登录程序提醒用户口令将要作废;如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_WARN_AGE 中定义;在例子中的值是7 ,表示在用户口令将过期的前7天警告用户更改期口令;

第七字段:在口令过期之后多少天禁用此用户;此字段表示用户口令作废多少天后,系统会禁用此用户,也就是说系统会不能再让此用户登录,也不会提示用户过期,是完全禁用;在例子中,此字段两个用户的都是空的,表示禁用这个功能;

第八字段:用户过期日期;此字段指定了用户作废的天数(从1970年的1月1日开始的天数),如果这个字段的值为空,帐号永久可用;在例子中,我们看到beinan这个用户在此字段是空的,表示此用户永久可用;而xxx这个用户表示在距1970年01月01日后13108天后过期,算起来也就是2005年11月21号过期;哈哈,如果有兴趣的的弟兄,自己来算算,大体还是差不多的;);

第九字段:保留字段,目前为空,以备将来Linux发展之用;


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

1,注册名(login_name):用于区分不同的用户。在同一系统中注册名是惟一的。
该字段被限制在8个字符(字母或数字)的长度之内;
注意:通常在Linux系统中对字母大小写是敏感的。这与MSDOS/Windows是不一样的。

2,口令(passwd):系统用口令来验证用户的合法性。
超级用户root或某些高级用户可以使用系统命令passwd来更改系统中所有用户的口令,普通用户也可以在登录系统后使用passwd命令来更改自己的口令。

现在的Unix/Linux系统中,口令不再直接保存在passwd文件中,通常将passwd文件中的口令字段使用一个x来代替,将/etc/shadow作为真正的口令文件,用于保存包括个人口令在内的数据。当然shadow文件是不能被普通用户读取的,只有超级用户才有权读取。

注意:如果passwd字段中的第一个字符是*的话,那么,就表示该账号被查封了,系统不允许持有该账号的用户登录。

3,用户标识号(UID):UID是一个数值,是Linux系统中惟一的用户标识,用于区别不同的用户。在系统内部管理进程和文件保护时使用UID字段。
在Linux系统中,注册名和UID都可以用于标识用户,只不过对于系统来说UID更为重要;而对于用户来说注册名使用起来更方便。在某些特定目的下,系统中可以存在多个拥有不同注册名、但UID相同的用户,事实上,这些使用不同注册名的用户实际上是同一个用户。

4,组标识号(GID):这是当前用户的缺省工作组标识。具有相似属性的多个用户可以被分配到同一个组内,每个组都有自己的组名,且以自己的组标识号相区分。像UID一样,用户的组标识号也存放在passwd文件中。在现代的Unix/Linux中,每个用户可以同时属于多个组。除了在passwd文件中指定其归属的基本组之外,还在/etc/group文件中指明一个组所包含用户。

5,用户名(user_name):包含有关用户的一些信息,如用户的真实姓名、办公室地址、联系电话等。在Linux系统中,mail和finger等程序利用这些信息来标识系统的用户。

6,用户主目录(home_directory):该字段定义了个人用户的主目录,当用户登录后,他的Shell将把该目录作为用户的工作目录。
在Unix/Linux系统中,超级用户root的工作目录为/root;而其它个人用户在/home目录下均有自己独立的工作环境,系统在该目录下为每个用户配置了自己的主目录。个人用户的文件都放置在各自的主目录下。

7,命令解释程序(Shell):Shell是当用户登录系统时运行的程序名称,通常是一个Shell程序的全路径名,如/bin/bash。
注意:系统管理员通常没有必要直接修改passwd文件,Linux提供一些账号管理工具帮助系统管理员来创建和维护用户账号。


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