zoukankan      html  css  js  c++  java
  • updatedb:无法打开`/var/lib/mlocate/mlocate.db'的临时文件(linux用户不在sudoers文件中)

    操作 Linux 。发现 locate 命令的数据库 不是最新的。(我记得 222 开头的文本有两个。)

    [byx99@byx-linux ~]# locate 222.txt 
    /home/1.6/gs6/myfile/one/2222.txt

    随即 就updatedb 指令更新,发现提示如下:

    [[byx99@byx-linux ~]# updatedb 
    updatedb: 无法为 `/var/lib/mlocate/mlocate.db' 打开临时文件

    初步判断,应该是当前使用的是 普通用户,权限不足。必须 以 超级用户身份运行 updatedb 命令。

    随即,使用root权限,又发现新的提示:

    [byx99@byx-linux ~]$ sudo updatedb
    
    我们信任您已经从系统管理员那里了解了日常注意事项。
    总结起来无外乎这三点:
    
        #1) 尊重别人的隐私。
        #2) 输入前要先考虑(后果和风险)。
        #3) 权力越大,责任越大。
    
    [sudo] byx99 的密码:
    byx99 不在 sudoers 文件中。此事将被报告。

    处理这个问题很简单,但应该先理解其原理再操作。

    首先要明白 root 的密码一般用户是不应改知道的,但一般用户有时可能要用到root的一些权限。

    这里就有了一个 /etc/sudoers 文件用来保存一些用户。使这些用户可以通过 sudo命令 来 暂时获取root的权限。

    这些用户使用sudo时输入的密码是当前用户密码,而不是root密 码。还可一在 sudoers文件 里限制一般用户的权限,这样就有了安全保证。

    现在要让 byx99 用户 获得 sudo 使用权

    1. 切换到超级用户root

    [byx99@byx-linux ~]# su root

    2. 查看/etc/sudoers权限,可以看到当前权限为440

    [root@byx-linux ~]# ls -all /etc/sudoers
    -r--r----- 1 root root 4328 10月 24 23:23 sudoers 

    3. 更改权限为777

    [root@byx-linux etc]# chmod 777 /etc/sudoers
    [root@byx-linux etc]# ls -all /etc/sudoers
    -rwxrwxrwx 1 root root 4328 10月 24 23:23 sudoers 

    4. 编辑/etc/sudoers

    [root@byx-linux etc]# vi /etc/sudoers

    5. 在 root     ALL=(ALL)  ALL 下面添加一行

            byx99  ALL=(ALL)         ALL

       然后  保存退出。

    ## Allow root to run any commands anywhere
    root    ALL=(ALL)       ALL
    byx99   ALL=(ALL)       ALL

       第一个ALL是指网络中的主机,我们后面把它改成了主机名,它指明jack可以在此主机上执行后面的命令。

       第二个括号里的ALL是指目标用户,也就是以谁的身份去执行命令。

       最后一个ALL当然就是指命令名了。

       具体这里不作说明。

    6. 把/etc/sudoers权限改回440

    [root@byx-linux etc]# chmod 440 /etc/sudoers 

    7. 操作完成,切换到 byx99 用户测试一下。

    [byx99@byx-linux ~]# sudo updatedb 
    [byx99@byx-linux ~]# locate 222.txt 
    /home/1.6/gs5/gs44/222.txt
    /home/1.6/gs6/myfile/one/2222.txt

    参考文档:Linux updatedb 命令 | 菜鸟教程

    by不言谢

    希望可以帮助到你。 

    不要和别人比,要赢得是自己。(ง •̀_•́)ง
  • 相关阅读:
    【学习总结】 小白CS成长之路
    Java程序员面试题收集(1)
    ECSTORE2.0 去页面底部版权
    vue-cli安装
    linux下安装nodejs
    Access denied for user 'root'@'localhost' (using password: YES)的解决
    想说的话
    十三:CSS之CSS的四种使用方法和优先级
    十二:CSS之基础语法
    十一:HTML之实现基本网页结构
  • 原文地址:https://www.cnblogs.com/byx1024/p/12315225.html
Copyright © 2011-2022 走看看