做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?
  1. [root@RHEL ~]# lsattr /etc/passwd
  2. ----i-------- /etc/passwd

[root@RHEL ~]# lsattr /etc/passwd ----i-------- /etc/passwd

该文件被设置了"i"属性,该属性指定当前文件不可被修改,在手册中对此属性的描述为(man chattr):

view plainprint?
  1. A file with the ‘i’ attribute cannot be modified: it cannot be deleted or renamed, no link can be created  to  this  file
  2. and  no  data  can be written to the file.  Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capability
  3. 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 fileand no data can be written to the file. Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capabilitycan set or clear this attribute.

使用chattr去掉相关文件的"i"属性(我的系统中,/etc/shadow也被设置了"i"属性):

view plainprint?
  1. [root@RHEL ~]# chattr -i /etc/passwd
  2. [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 无法打开密码文件相关推荐

  1. Linux基础命令---检查密码文件pwck

    pwck        检查用户密码文件"/etc/passwd"和"/etc/shadow"的完整性,将验证结果送到标砖输出.提示用户删除格式不正确或有其他不 ...

  2. Linux基础命令---检查密码文件pwck 1

    pwck        检查用户密码文件"/etc/passwd"和"/etc/shadow"的完整性,将验证结果送到标砖输出.提示用户删除格式不正确或有其他不 ...

  3. linux mysql 密码文件怎么打开文件,Oracle数据库密码文件创建与使用

    Oracle关系数据库系统以其卓越的性能获得了广泛的应用,而保证数据库安全性是数据库管理工作的重要内容.本文在总结Oracle数据库安全管理工作的基础上,对Oracle数据库系统密码文件的创建.使用和 ...

  4. 忘记了PPT文件打开密码怎么办?

    PPT文件设置了打开密码,但是长时间没有使用PPT文件,所以就忘记了打开密码,现在PPT文件很重要,有什么办法能够再打开PPT文件嘛? 想要再打开PPT文件,需要解密PPT文件的打开密码,使用百事牛 ...

  5. PPT文件带有打开密码怎么解决

    PPT文件带有打开密码,没有正确的密码就没有办法打开PPT文件,但是有些时候,给PPT文件设置了密码之后就不经常使用文件了,所以隔了很长一段时间再打开PPT文件的时候,就会发现自己记住的密码和正确密码 ...

  6. PDF文件找回打开密码

    PDF文件忘记了打开密码,想要打开PDF文件就需要解密PDF文件的打开密码,而解密PDF文件的打开密码,就是需要找回正确密码.使用奥凯丰 PDF解密大师找回文件的打开密码 [PDF解密大师]密码找回_ ...

  7. PPT文件设置打开密码的两种方法

    PPT文件设置了打开密码加密,可以保护重要文件内容,今天介绍两种加密PPT文件的方法: 第一种: 点击工具栏中的[文件] 然后点击[信息]-[保护演示文稿]-[用密码进行加密] 然后输入密码,就完成了 ...

  8. excel文件打开密码和工作表保护如何解除

    两种加密的解除方法是不一样的,解除打开密码就必须找到正确的密码才能解决,而工作表保护,不需要正确密码也可以解除. 工具:https://www.okfone.com/onepass-for-excel ...

  9. excel打开密码忘记了_如何设置EXCEL文件打开和编辑密码

    欢迎关注支持,谢谢!!! <在日常办公中,重要的EXCEL资料不希望被他人打开或修改的话,可以通过设置EXCEL文件打开和修改密码来避免出现意外.> 工具原料: 需要设置打开和修改密码的. ...

最新文章

  1. linux从源码编译软件,linux软件包管理——源码包编译安装
  2. 在eclipse中查看Android源代码
  3. java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContextAware
  4. osgi框架和spring区别_BATJ面试必会之 Spring 篇(二)
  5. mitmproxy抓包 | Python双篡改假请求实战(六)
  6. iOS菜鸟之AFN的二次封装
  7. 计算机软考里面的英语试题,计算机软考模拟试题
  8. 自己动手打印一寸/两寸证件照
  9. mysql sniffer下载_Gitee 极速下载
  10. android开发连接手机usb调试模式,安卓手机usb调试在哪里 安卓手机usb调试模式设置教程...
  11. 今晚7:30 | 面向人类和多智能策略的评估
  12. 如何给MySQL 数据瘦身
  13. 【畅捷通T+】登录提示 列“MarketingCloudUserId”不属于表 。
  14. LINUX 下SQL server 安装、配置及对接ceph功能性能测试
  15. 实现多个文件夹名同时重命名的操作
  16. 天行数据的开放API接口
  17. linux系统的监控工具名称,Linux下几款系统监控工具介绍
  18. ThinkPHP5整合原生Swoole实现NBA比赛图文直播以及聊天室功能
  19. 别再自称“码农”了,编程是门思维的艺术
  20. win10 LATEX 安装使用 支持前向 后向 (TeX Live 2021+VSCode【不需要额外下载PDF阅览器,不需要跟换任何路径】)

热门文章

  1. python实现微博超话一键签到点赞评论
  2. 675. 为高尔夫比赛砍树 bfs
  3. 夜天之书 #29 Two Hats of Developers
  4. LBM模式学习·保姆级安装及初步使用教程
  5. 计算机网络硬件开关win7,win7系统笔记本无线网络红叉电脑网络连接不可用的解决方法...
  6. Unity ShaderLab 常用函数
  7. SpringBoot(Thymeleaf 页⾯布局)
  8. JavaScript DOM编程艺术(第二版)
  9. freefilesync(文件比较工具) v11.5中文免激活
  10. 如何通过jsoup网络爬虫工具爬取网页数据,并通过jxl工具导出到excel