详解Linux误删用户家目录的恢复方法
在生产中可能会由于误操作而删除了某一用户的家目录,这时就需要把用户的家目录安装创建新用户时的模板文件,再恢复并且要跟之前的权限相同。
1. 创建一个新的用户用于测试
[root@centos6 aubin]# useradd wangcai
2. 新用户创建完成时会在/home下面自动创建同名的文件夹
[root@centos6 home]# ls aubin gentoo li wangcai
3. 首先查看一下用户家目录中的文件以及权限,用于验证我们恢复后权限没有偏差
[root@centos6 aubin]# ls /home/wangcai/ -al total 28 drwx------. 4 wangcai wangcai 4096 Jul 24 19:11 . drwxr-xr-x. 6 root root 4096 Jul 24 19:11 .. -rw-r--r--. 1 wangcai wangcai 18 Mar 23 08:15 .bash_logout -rw-r--r--. 1 wangcai wangcai 176 Mar 23 08:15 .bash_profile -rw-r--r--. 1 wangcai wangcai 124 Mar 23 08:15 .bashrc drwxr-xr-x. 2 wangcai wangcai 4096 Nov 12 2010 .gnome2 drwxr-xr-x. 4 wangcai wangcai 4096 Jul 14 10:38 .mozilla
3. 这里模拟生产中误操作而删除了家目录
[root@centos6 home]# rm -rf wangcai/ [root@centos6 home]# ls aubin gentoo li #删除wangcai目录
4. 复制skel中的所有文件到home下的旺财。skel目录中的文件都是创建新用户时家目录中的文件。换句话来说skel中的文件是创建用户家目录的模板。
[root@centos6 home]# cp /etc/skel/ /home/wangcai -a
5. 查看复制来的wangcai文件夹,注意一下所有者与所属组都是root,所以需要改成wangcai
[root@centos6 home]# ls -al drwxr-xr-x. 4 root root 4096 Jul 14 10:49 wangcai
6. 首先把wnagcai目录的权限修改为700
[root@centos6 home]# chmod 700 wangcai/
7. 最后把wangcai目录下的所有文件所属组、所有者都改成用户自己。
-R选项是递归,将目录下的所有文件都更改设置。
[root@centos6 home]# chown wangcai:wangcai wangcai/ -R [root@centos6 home]# ls -al wangcai/ total 28 drwxr-xr-x. 4 wangcai wangcai 4096 Jul 14 10:49 . drwxr-xr-x. 6 root root 4096 Jul 24 20:06 .. -rw-r--r--. 1 wangcai wangcai 18 Mar 23 08:15 .bash_logout -rw-r--r--. 1 wangcai wangcai 176 Mar 23 08:15 .bash_profile -rw-r--r--. 1 wangcai wangcai 124 Mar 23 08:15 .bashrc drwxr-xr-x. 2 wangcai wangcai 4096 Nov 12 2010 .gnome2 drwxr-xr-x. 4 wangcai wangcai 4096 Jul 14 10:38 .mozilla
至此用户的家目录就恢复完成了,并且经过对比跟之前的目录权限完全相同。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
linux命令切换目录的使用方法
1.cd - 作用是快速切换到前一个目录,如下: 复制代码 代码如下: amosli@amosli-pc:~$ cd learn/fd/amosli@amosli-pc:~/learn/fd$ cd -/home/amosli 2.dirs:显示目录栈,列出当前堆栈中保存的目录列表 复制代码 代码如下: amosli@amosli-pc:~/learn/fd$ dirs~/learn/fd 说明: dirs的 -p参数可以每行一个目录的形式显示堆栈中的目录列表-v参数可以在目录前加上编号注意:有
-
Linux中更改转移mysql数据库目录的步骤
本文是简单整理一下这几天把MySQL从/var/lib/mysql目录下面转移到/home/mysql_data/mysql下面具体操作. 首先我们需要关闭MySQL,命令如下: #service mysqld stop 网上有很多人都是用的mysqladmin -u root -p shutdown,不过我这个是系统安装的是kloxo面板,root密码并不知道,虽然可以重置,但是比较麻烦. 然后是转移数据,为了安全期间,我们采用复制的命令cp,先找到mysql的原目录 #cd /var/lib
-
linux修改目录和文件权限的简单命令解释
今天遇到的问题,如何一个用户如www的权限复制给我的用户? 目录的权限表示:dwrxr--r-- 其中第一个字符 d代表目录, -代表字符 w代表可写,r代表可读 x代表可执行 数字为4,2,1其中第一组是文件或者目录所有者权限,第二组代表当前用户所在用户组,第三组是其他用户组的权限所以控制文件的权限是精确到组的 用 chmod 权限 目录 复制代码 代码如下: chmod 777 testchmod u+w test
-
Linux 用cp和rsync同步文件时跳过指定目录的方法
需求是:某测试站点,在某个节点的时候需要同步到正式站点去,但是里面的config目录不能覆盖, 方法一:终端命令行下执行以下命令 cp -R `find /projectA -type d -path /projectA/common/config -prune -o -print | sed 1d ` /projectB/ 方法二: localhost # find projectB/ommon/config | xargs touch 修改目标目录的congfig目录文件的access ti
-
CentOS Linux更改MySQL数据库目录位置具体操作
引言: 由于MySQL的数据库太大,默认安装的/var盘已经再也无法容纳新增加的数据,没有办法,只能想办法转移数据的目录. 下面我整理一下把MySQL从/var/lib/mysql目录下面转移到/home/mysql_data/mysql目录的具体操作: 1.首先我们需要关闭MySQL,命令如下: service mysqld stop 2.然后是转移数据,为了安全期间,我们采用复制命令cp,先找到mysql的原目录 cd /var/lib ls 运行这个命令之后就会看到mysql的目录了,然后
-
一个监控LINUX目录和文件变化的Shell脚本分享
最近看到群里有人聊到他们的服务器最近被挂马,然后想利用一个脚本能够实时监控web目录下文件的变化,也就是对该目录的增删改操作都会记录到相应日志下. 当时感觉这个功能的确实有点意思,所以网上查阅了些资料,自己研究了下,这会儿有空写了个脚本,分享给大家,如有问题,还请大家指出. 以下我写了两个脚本: 脚本1:将需要监控的目录的原始状态保存到LOG日志 脚本2:将脚本1的原始状态与本脚本比对,如果目录文件发生变化,则将变化的内容保存到日志. 注:原理实际上利用的是du -sb输出值来判断文件的变化,再
-
解析linux 文件和目录操作的相关函数
struct stat{mode_t st_mode; 文件类型,文件权限ino_t st_ino; i节点号dev_t st_dev; dev_t st_rdev; 设备文件序号nlink_t st_nlink; 链接uid_t st_uid;gid_t st_gid; 用户IDoff_t st_size; 文件大小,此字段只对普通文件.目录文件和符号连接有意义.time_t
-
Linux下统计当前文件夹下的文件个数、目录个数
1) 统计当前文件夹下文件的个数 复制代码 代码如下: ls -l |grep "^-"|wc -l 2) 统计当前文件夹下目录的个数 复制代码 代码如下: ls -l |grep "^d"|wc -l 3) 统计当前文件夹下文件的个数,包括子文件夹里的 复制代码 代码如下: ls -lR|grep "^-"|wc -l 4) 统计文件夹下目录的个数,包括子文件夹里的 复制代码 代码如下: ls -lR|grep "^d"|w
-
linux目录详解linux目录结构详细分析
根文件系统一般应该比较小,因为包括严格的文件和一个小的不经常改变的文件系统不容易损坏.损坏的根文件系统一般意味着除非用特定的方法(例如从软盘)系统无法引导,所以不应该冒这个险.根目录一般不含任何文件,除了可能的标准的系统引导映象,通常叫/vmlinuz .所有其他文件在根文件系统的子目录中. /bin 引导启动所需的命令或普通用户可能用的命令(可能在引导启动后). /sbin 类似/bin ,但不给普通用户使用,虽然如果必要且允许时可以使用. /etc 特定机器的配置文件. /root root
-
详解Linux误删用户家目录的恢复方法
在生产中可能会由于误操作而删除了某一用户的家目录,这时就需要把用户的家目录安装创建新用户时的模板文件,再恢复并且要跟之前的权限相同. 1. 创建一个新的用户用于测试 [root@centos6 aubin]# useradd wangcai 2. 新用户创建完成时会在/home下面自动创建同名的文件夹 [root@centos6 home]# ls aubin gentoo li wangcai 3. 首先查看一下用户家目录中的文件以及权限,用于验证我们恢复后权限没有偏差 [root@cento
-
详解linux下查看系统版本号信息的方法(总结)
有时候需要查看自己系统的CentOs的版本,有一些命令可以查看,分别介绍如下:查看Linux内核版本命令(两种方法)和Linux系统版本的命令(3种方法) 一.查看Linux内核版本命令(两种方法): 1.cat /proc/version [root@localhost ~]# cat /proc/version Linux version 2.6.18-194.8.1.el5.centos.plus (mockbuild@builder17.centos.org) (gcc version
-
详解Linux 操作系统下安装rpm包的方法步骤
第2代Linux操作系统在安装软件方面相当简单:第一步,搜索你要的软件,比如你要找一个游戏软件,它的名称叫myward,这个游戏软件的说明是:myown war game.Linux操作系统搜索这个软件包就只需要输入命令apt-cache searchmyward,或者输入软件名称的一部分apt-cache searchwar,或者你不知道软件名称. 下面有一张图可以清晰地表示linux软件应用的架构关系: 在Linux启动的时候.首先会启动内核(kernel),内核是一段计算机程序,这个程序直
-
详解Linux(centos7)下安装OpenSSL安装图文方法
OpenSSL是一个开源的ssl技术,由于我需要使用php相关功能,需要获取https的文件所以必须安装这个东西了,下面我整理了两种关于OpenSSL安装配置方法. 安装环境: 操作系统:CentOs7安静 OpenSSL Version:openssl-1.0.2j.tar.gz 目前版本最新的SSL地址为http://www.openssl.org/source/openssl-1.0.2j.tar.gz 1.将下载的压缩包放在根目录, 2.在文件夹下解压缩,命令:tar -xzf ope
-
详解Linux系统中网卡MAC地址克隆方法
怎么临时性地改变 MAC 地址? 你可以在 Linux 运行的时候改变 MAC 地址.需要注意的是当 MAC 地址转换的那一会时间,你的网络会掉线.当电脑重启时 MAC 地址又会变回原来的.下面介绍几种方法来改变你的 MAC 地址. 方法一:iproute2 $sudo ip link set dev eth0 down $sudo ip link set dev eth0 address 00:00:00:00:00:01 $sudo ip link set dev eth0 up 方法二:m
-
详解 Linux 常用目录的作用
详解 Linux 常用目录的作用 一 常用一级目录 注意: 1.根目录下的bin和sbin,usr目录下的bin和sbin,这四个目录都是用来保存系统命令的. 2.bin目录下的命令时任何用户都能执行,sbin目录下的命令只有超级用户才能执行. 3.media用来挂载光盘,misc挂载磁带机,mnt挂载U盘.它们都是空目录. 4.proc和sys目录不能直接操作,这两个目录保存的是内存挂载点. 5.可以在家目录root或home,以及tmp目录下随便放内容. 二 实战 [root@localh
-
详解Linux中查看jdk安装目录、Linux卸载jdk、rpm命令、rm命令参数
一.查看jdk安装目录 [root@node001 ~]# whereis java java: /usr/bin/java /usr/local/java #java执行路径 [root@node001 ~]# which java /usr/bin/java #查看JDK安装路径 [root@node001 ~]# echo $JAVA_HOME /usr/local/java/jdk1.7.0_80 [root@node001 ~]# echo $PATH /usr/local/sbin:
-
Linux文件服务器实战详解(系统用户)
ftp匿名用户设置完成之后任何人都可以访问服务器端文件,目录,甚至可以修改删除文件和目录,,那如何存放私密文件并保证文件或者目录专属于拥有者呢,就需要使用vsftp系统用户来实现了. 1.在linux系统创建多个用户(useradd)并给用户设置密码 [root@www ~]# useradd xj1 [root@www ~]# useradd xj2 [root@www ~]# echo 123456|passwd --stdin xj1 [root@www ~]# echo 123456|p
-
详解Linux添加/删除用户和用户组
本文总结了Linux添加或者删除用户和用户组时常用的一些命令和参数.废话不多说,下面我们来看一下. 1.建用户: adduser phpq //新建phpq用户 passwd phpq //给phpq用户设置密码 2.建工作组 groupadd test //新建test工作组 3.新建用户同时增加工作组 useradd -g te
-
详解linux SSH登录流程
本文给大家详细介绍了ssh 密钥登录远程服务器流程和注意事项,以下是详细内容: 密钥登录比密码登录安全,主要是因为他使用了非对称加密,登录过程中需要用到密钥对.整个登录流程如下: 远程服务器持有公钥,当有用户进行登录,服务器就会随机生成一串字符串,然后发送给正在进行登录的用户. 用户收到远程服务器发来的字符串,使用与远程服务器公钥配对的私钥对字符串进行加密,再发送给远程服务器. 服务器使用公钥对用户发来的加密字符串进行解密,得到的解密字符串如果与第一步中发送给客户端的随机字符串一样,那么判断为登
随机推荐
- AngularJS iframe跨域打开内容时报错误的解决办法
- 服务器安装什么系统好 服务器系统详细介绍与选择推荐
- iOS对象指针和基础数据类型的强转详解
- JS实现带圆弧背景渐变效果的导航菜单代码
- js+html5实现canvas绘制简单矩形的方法
- ThinkPHP实现将SESSION存入MYSQL的方法
- JAVA POST与GET数据传递时中文乱码问题解决方法
- 平衡二叉树AVL操作模板
- Vue网页html转换PDF(最低兼容ie10)的思路详解
- ThinkPHP中处理表单中的注意事项
- Memcached 分布式缓存实现原理简介
- php异常处理技术,顶级异常处理器
- C及C++中typedef的简单使用介绍
- Android RecylerView入门教程
- 使用android studio导入模块的两种方法(超详细)
- java集合与数组的相同点和不同点
- 详解Vue项目引入CreateJS的方法(亲测可用)
- Python3网络爬虫开发实战之极验滑动验证码的识别
- 由面试题加深对Django的认识理解
- PHP实现非阻塞模式的方法分析