useradd 无法打开密码文件
2011-11-04 21:53
246 查看
做linux安全时,做了这一步:
4.口令文件
chattr命令给下面的文件加上不可更改属性,从而防止非授权用户获得权限。
# chattr +i /etc/passwd
# chattr +i /etc/shadow
# chattr +i /etc/group
# chattr +i /etc/gshadow
和
同时,创建一个普通登录用户,并取消直接root登录
# useradd 'username'
# passwd 'username'
# vi /etc/ssh/sshd_config
PermitRootLogin no #取消root直接远程登录
在useradd的时候,报标题错误。
其实,执行上面的chattr +i命令时,已经把这4个文件都变成不可写的了,就算看了文件属性上写的是root用户可读写,此文件还是无法被root用户写。所以如果想添加新用户,必须先把这4个文件上的限制减掉:
# chattr -i /etc/passwd
# chattr -i /etc/shadow
# chattr -i /etc/group
# chattr -i /etc/gshadow
然后再useradd就可以了。(注意,useradd之后,应该还是把+i加上,为了linux的安全)
下面是增加用户的语句:
#useradd -d /home/wanglilin wanglilin
# passwd wanglilin
(别人的解释:)
造成这个现象的原因是/etc/passwd文件的ext2文件属性被修改(但即便是在ext3系统中,这个属性也有效果。目前还没在ext4文件系统中测试)。使用lsattr可以查看该文件的属性:
view plainprint?
[root@RHEL ~]# lsattr /etc/passwd ----i-------- /etc/passwd
该文件被设置了"i"属性,该属性指定当前文件不可被修改,在手册中对此属性的描述为(man chattr):
view plainprint?
A file with the ‘i’ attribute cannot be modified: it cannot be deleted or renamed, no link can be created to this file
and no data can be written to the file. Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capability
can set or clear this attribute.
使用chattr去掉相关文件的"i"属性(我的系统中,/etc/shadow也被设置了"i"属性):
view plainprint?
[root@RHEL ~]# chattr -i /etc/passwd [root@RHEL ~]# chattr -i /etc/shadow
扩展:
Linux下如何创建新用户
Linux下如何创建新用户通常情况下,处于安全考虑,一般都给自己创建一个普通用户,而不直接使用root用户,因为权限大了,误操作就容易带来无法弥补的损失。Linux系统中,只有root用户有创建其他用户的权限。
创建过程如下:
useradd -d /home/wanglilin wanglilin
useradd -d /home/wanglilin -g 0 -G 0,1,3,4,6,10 -u 500 -r -p Love wanglilin
第一种添加方法设定了该用户的主目录和用户名,第二中添加方法除了指定了第一中方法所指定的功能之外,还指定了用户的组id以及一系列的所属组的id,用户id,密码等;
但是光这样还不够,还得为用户显式设定密码(即使是第二中方法也不例外,因为这时使用Love作为密码去登录系统,仍然无法登录),命令为passwd username;
[root@localhost ~]# passwd wanglilin
Changing password for user wanglilin.
New UNIX password:
BAD PASSWORD: it is too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
这时登录系统的话,会提示用户主目录没有创建,因此还缺少一个步骤,那就是为相应用户创建一个属于该用户的主目录,创建的时候需要注意,由于新用户的主目录是由root先创建的,可是,Linux系统需要主目录的拥有者必须是用户本身,因此,使用root创建主目录以后,还需将拥有者更换成新用户本身。命令如下:
mkdir -p /home/wanglilin
chown newuser:newuser /home/wanglilin
搞定!这下可以使用wanglilin登录了。。。
chattr和lsattr命令说明及示例
----ia---j--- ./lsattr_test
- :在原有参数设定基础上,移除参数。
= :更新为指定参数设定。
A:文件或目录的 atime (access time)不可被修改(modified), 可以有效预防例如手提电脑磁盘I/O错误的发生。
S:硬盘I/O同步选项,功能类似sync。
a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文 件安全,只有root才能设定这个属性。
c:即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。
d:即no dump,设定文件不能成为dump程序的备份目标。
i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。
j:即journal,设定此参数使得当通过mount参数:data=ordered 或者 data=writeback 挂 载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效。
s:保密性地删除文件或目录,即硬盘空间被全部收回。
u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion.
各参数选项中常用到的是a和i。a选项强制只可添加不可删除,多用于日志系统的安全设定。而i是更为严格的安全设定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE处理能力(标识)的进程能够施加该选项。
应用实例一:
1、用chattr命令防止系统中某个关键文件被修改
4.口令文件
chattr命令给下面的文件加上不可更改属性,从而防止非授权用户获得权限。
# chattr +i /etc/passwd
# chattr +i /etc/shadow
# chattr +i /etc/group
# chattr +i /etc/gshadow
和
同时,创建一个普通登录用户,并取消直接root登录
# useradd 'username'
# passwd 'username'
# vi /etc/ssh/sshd_config
PermitRootLogin no #取消root直接远程登录
在useradd的时候,报标题错误。
其实,执行上面的chattr +i命令时,已经把这4个文件都变成不可写的了,就算看了文件属性上写的是root用户可读写,此文件还是无法被root用户写。所以如果想添加新用户,必须先把这4个文件上的限制减掉:
# chattr -i /etc/passwd
# chattr -i /etc/shadow
# chattr -i /etc/group
# chattr -i /etc/gshadow
然后再useradd就可以了。(注意,useradd之后,应该还是把+i加上,为了linux的安全)
下面是增加用户的语句:
#useradd -d /home/wanglilin wanglilin
# passwd wanglilin
(别人的解释:)
造成这个现象的原因是/etc/passwd文件的ext2文件属性被修改(但即便是在ext3系统中,这个属性也有效果。目前还没在ext4文件系统中测试)。使用lsattr可以查看该文件的属性:
view plainprint?
[root@RHEL ~]# lsattr /etc/passwd ----i-------- /etc/passwd
[root@RHEL ~]# lsattr /etc/passwd ----i-------- /etc/passwd
该文件被设置了"i"属性,该属性指定当前文件不可被修改,在手册中对此属性的描述为(man chattr):
view plainprint?
A file with the ‘i’ attribute cannot be modified: it cannot be deleted or renamed, no link can be created to this file
and no data can be written to the file. Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capability
can set or clear this attribute.
A file with the ‘i’ attribute cannot be modified: it cannot be deleted or renamed, no link can be created to this file and no data can be written to the file. Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capability can set or clear this attribute.
使用chattr去掉相关文件的"i"属性(我的系统中,/etc/shadow也被设置了"i"属性):
view plainprint?
[root@RHEL ~]# chattr -i /etc/passwd [root@RHEL ~]# chattr -i /etc/shadow
[root@RHEL ~]# chattr -i /etc/passwd [root@RHEL ~]# chattr -i /etc/shadow这样,就可以添加用户了。另外,虽然不知道是谁,或者哪个程序设置了"i"属性,但是此属性对系统安全还是有一定用途的,建议添加用户后将文件的"i"属性再设置上。
扩展:
Linux下如何创建新用户
Linux下如何创建新用户通常情况下,处于安全考虑,一般都给自己创建一个普通用户,而不直接使用root用户,因为权限大了,误操作就容易带来无法弥补的损失。Linux系统中,只有root用户有创建其他用户的权限。创建过程如下:
useradd -d /home/wanglilin wanglilin
useradd -d /home/wanglilin -g 0 -G 0,1,3,4,6,10 -u 500 -r -p Love wanglilin
第一种添加方法设定了该用户的主目录和用户名,第二中添加方法除了指定了第一中方法所指定的功能之外,还指定了用户的组id以及一系列的所属组的id,用户id,密码等;
但是光这样还不够,还得为用户显式设定密码(即使是第二中方法也不例外,因为这时使用Love作为密码去登录系统,仍然无法登录),命令为passwd username;
[root@localhost ~]# passwd wanglilin
Changing password for user wanglilin.
New UNIX password:
BAD PASSWORD: it is too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
这时登录系统的话,会提示用户主目录没有创建,因此还缺少一个步骤,那就是为相应用户创建一个属于该用户的主目录,创建的时候需要注意,由于新用户的主目录是由root先创建的,可是,Linux系统需要主目录的拥有者必须是用户本身,因此,使用root创建主目录以后,还需将拥有者更换成新用户本身。命令如下:
mkdir -p /home/wanglilin
chown newuser:newuser /home/wanglilin
搞定!这下可以使用wanglilin登录了。。。
chattr和lsattr命令说明及示例
chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,如果Linux内核版本低于2.2,那么许多 功能不能实现。同样-D检查压缩文件中的错误的功能,需要2.5.19以上内核才能支持。另外,通过chattr命令 修改属性能够提高系统的安全 性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var 目录。 lsattr比较简单,只是显示文件的属性
[root]#lsattr
----ia---j--- ./lsattr_test
这两个命令是用来改变文件、目录属性的,和chmod,ls这些命令相比,chmod只是改变文件的读写、执行权限, 更底层的属性控制是由chattr来改变的。 chattr命令的用法:chattr [ -RV ] [ -v version ] [ mode ] files... 最关键的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]这些字符组合的,这部分是用来控制文件的 属性。 + :在原有参数设定基础上,追加参数。
- :在原有参数设定基础上,移除参数。
= :更新为指定参数设定。
A:文件或目录的 atime (access time)不可被修改(modified), 可以有效预防例如手提电脑磁盘I/O错误的发生。
S:硬盘I/O同步选项,功能类似sync。
a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文 件安全,只有root才能设定这个属性。
c:即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。
d:即no dump,设定文件不能成为dump程序的备份目标。
i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。
j:即journal,设定此参数使得当通过mount参数:data=ordered 或者 data=writeback 挂 载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效。
s:保密性地删除文件或目录,即硬盘空间被全部收回。
u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion.
各参数选项中常用到的是a和i。a选项强制只可添加不可删除,多用于日志系统的安全设定。而i是更为严格的安全设定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE处理能力(标识)的进程能够施加该选项。
应用实例一:
1、用chattr命令防止系统中某个关键文件被修改
# chattr +i /etc/fstab 然后试一下rm mv rename等命令操作于该文件,都是得到Operation not permitted 的结果 2、让某个文件只能往里面追加内容,不能删除,一些日志文件适用于这种操作 # chattr +a /data1/user_act.log 应用实例二:
[root@ticket-A ~]# passwd root Changing password for user root. New UNIX password: Retype new UNIX password: Sorry, passwords do not match New UNIX password: Retype new UNIX password: passwd: Authentication token manipulation error 有的说是根目录空间满,或者是密码文件的权限的问题如果以前对系统做安全配置,把/etc/passwd, /etc/shadow 改为不可修改那就需要取消之前的修改,如下:[root@station22 ~]# lsattr /etc/passwd /etc/shadow ----i-------- /etc/passwd ----i-------- /etc/shadow[root@station22 ~]# chattr -i /etc/passwd [root@station22 ~]# chattr -i/etc/shadow[root@station22 ~]# lsattr /etc/passwd /etc/shadow ------------- /etc/passwd ------------- /etc/shadow再修改root的密码就可以。修改完之后,再执行[root@station22 ~]# chattr +i /etc/passwd [root@station22 ~]# chattr +i/etc/shadow
相关文章推荐
- useradd 无法打开密码文件
- useradd无法打开密码文件
- 当程序用ado的jet4.0方式连接的时候,对于设有access数据库密码的mdb的访问居然报错“无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开”,而用odbc方式不报错,小阴沟里翻船,郁闷中然后查文档解决之
- 当程序用ado的jet4.0方式连接的时候,对于设有access数据库密码的mdb的访问居然报错“无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开”,而用odbc方式不报错,小阴沟里翻船,郁闷中然后查文档解决之
- 当程序用ado的jet4.0方式连接的时候,对于设有access数据库密码的mdb的访问居然报错“无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开”,而用odbc方式不报错,小阴沟里翻船,郁闷中然后查文档解决之
- (有密码Access)Access无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开
- userdel:无法打开密码文件
- 连接带有密码的ACCESS数据库时出现“无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开”的解决方法
- [C#]连接带有密码的ACCESS数据库时出现“无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开”的解决方法
- (转)连接带有密码的ACCESS数据库时出现“无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开”的解决方法
- 关于IE下用HTTPS无法下载/打开文件(转)
- Android编程笔记 三星手机默认浏览器下载后打不开apk,提示无法打开文件
- java on Mac:解决无法打开jnlp文件的问题
- 解决 LINK : fatal error LNK1104: 无法打开文件“cv.lib”
- [转]Win7、Windows Server 2008下无法在Windows Service中打开一个已经存在的Excel 2007文件问题的解决方案
- mvc3在window 7 iis7下以及 xp iis 5.1下的部署 ,asp.net MVC3无法打开项目文件E:/我们的项目/Project/HeatingMIS.Web/HeatingMIS.Web.csproj”。此安装不支持该项目类型。
- Ubuntu下安装android studio的时候,无法进入图形界面--/usr/lib/jdk1.8.0_60/jre/lib/i386/libawt_xawt.so: libXtst.so.6: 无法打开共享对象文件: 没有那个文件或目录
- 错误 3 error C1083: 无法打开包括文件: “D3Dx9.h”: No such file or directory d:\qipai\netfox\系统模块更正\系统模块\客户端组件\游
- 【Visual C++】关于无法打开包括文件:“StdAfx.h”或者意外结尾的错误解决方案
- 【Visual C++】关于无法打开包括文件:“StdAfx.h”或者意外结尾的错误解决方案