当我执行shell时,却是由cron执行“sudo:对不起,你必须有一个tty来运行sudo”出现。 但是这怎么处理?
在Linux上,我们根据ADvalidation用户。 AD用户不在/ etc / passwd中列出。 我们即将部署NFS解决scheme为每个用户组安装一些额外的空间。 如果具有sudo su权限的用户(A)进入root用户,则可以通过su用户(B)模拟用户(B)并转到NFS。 如果用户没有在/ etc / passwd中列出,是否有任何方法禁止root用户访问su用户?
我想要一个无特权的用户能够在我的服务器上重新启动tomcat。 所以我编辑/ etc / sudoers如下 username ALL=/etc/init.d/tomcat6 但是,当用户运行/etc/init.d/tomcat6 restart时,他得到这个错误: Starting tomcat server… touch: cannot touch `/var/tomcat6/logs/catalina.out': Permission denied /var/tomcat6/bin/catalina.sh: line 314: /var/tomcat6/logs/catalina.out: Permission denied 我如何让这个用户运行tomcat而不给他写日志文件/var/tomcat6/logs/catalina.out的权限? [root@jsp1 ~]# ll /var/tomcat6/logs/catalina.out -rw-r–r– 1 root root 272669097 Feb 27 21:50 /var/tomcat6/logs/catalina.out
如何在Linux(CentOS)中查看其他用户的邮箱? 基本上我想复制的 $ mail 命令,但当sudo作为另一个用户。 现在,如果我试图做 $ sudo -u johndoe mail 我明白了 /var/spool/mail/jordan: Permission denied 同样的事情,如果我使用 $ sudo su johndoe 然后运行mail命令。
我想禁用sudo的需求,或者以root身份运行使用tar备份的bash脚本。 我将这一行添加到我的sudoers文件中 username ALL=NOPASSWD: /bin/tar 但是,我添加后,它仍然显示权限被拒绝时,我运行此备份命令 /bin/tar -cvpzf /root/sysBackup/backup.tar.gz –exclude=/backup.tar.gz –exclude=/proc –exclude=/lost+found –exclude=/sys –exclude=/mnt –exclude=/media –exclude=/dev / 这些是错误 /bin/tar: Removing leading `/' from member names tar (child): /root/sysBackup/backup.tar.gz: Cannot open: Permission denied tar (child): Error is not recoverable: exiting now 我究竟做错了什么?
在我的系统中有一个守护进程,它在一个屏幕实例内部运行,而所有这些都是从一个没有驱动的用户完成的。 我已经添加到特殊的sudo组,允许我从这个用户运行屏幕,但是当我尝试使用它,例如 sudo -u that_user -H /usr/bin/screen -R 我得到这个职位的主题。 挖掘周围我发现这个消息意味着屏幕不能抓取或输出到我实际使用时调用它的pty。 对此的共同答案是chmod我的/ dev / pts / N为rw为其他人,但我记得我设法避免这个更早。 也许我错过了为sudo保存一些环境? 特别是我试图通过sudo连接到普通用户在屏幕上运行的rtorrent守护进程,OS是Gentoo amd64。 以下是从rc脚本中调用屏幕的方法: start-stop-daemon \ –start \ –make-pidfile \ –pidfile /var/run/rtorrentd.pid \ –background \ –user $USER \ –env HOME="${PWHOME:-/home/$USER}" \ –name rtorrent \ –exec /usr/bin/screen — -D -m -S rtorrentd /usr/bin/rtorrent 最后解决了实际的解决scheme: alias rtorrent="urxvt -hold -e /bin/bash -c […]
设置使用git部署到服务器的生产Web服务器的用户和权限的最佳方法是什么? 背景 运行Ubuntu 12.04,我在/var/www下将Apache服务文件作为www-data 。 我在root用户目录下也有一个纯粹的git repo,它将在post-receive hook中检出到/var/www/example.com 。 这工作得很好,但考虑到它是一个生产服务器,我想扣上一些安全性,并从根用户删除回购。 所以我创build了一个git用户,并在/home/git下设置了repo。 但现在我有权限问题的事实,一个用户拥有回购,而另一个用户拥有网站的根。 我在网上阅读了很多论坛和教程。 大多数似乎只是使用root用户,其他人似乎有更糟糕的安全问题(如通过回购给www-data读取权限)。 我正在寻找真实世界的经验,因为有很多方法可以做到。 作为一个说明,后接收钩不仅仅是结帐。 它还执行一些构build过程,如运行Composer和一些其他的PHP脚本,可能需要几分钟的时间。 我尝试了几个解决scheme: 我尝试将git用户添加到www-data group ,然后将web根目录重新命名为www-data 。 这有两个问题。 首先,我必须修改sudoers文件,我从中得到的结果是碰撞和错过。 其次,在钩子运行的几分钟内,检出的文件由git拥有,而不是www-data ,因此站点上的用户可能会读取错误。 我试着把post-receive的内容放在另一个文件中,然后用sudo执行。 同样,这需要编辑sudoers文件,以便git用户可以不使用密码sudo。 或者,可能是将根目录下的回购权限放在了较小的位置,我无所作为。 有没有更好的解决scheme,我还没有尝试过?
快速背景:我们有40个运行Linux的工作站。 NFS广泛用于批量数据存储和主目录。 这使得用户可以自由漫游将相对透明的文件系统。 这是一个教育环境,博士后和学生已经成功地掀起了一场政变。 通过培养一个认为IT人员是邪恶的技术恐惧的PI,所有人都在自己的工作站上获得了根。 如果我build议chroot或sudo的限制,我会发现自己在扫帚壁橱里工作。 考虑到这一点,最好的办法是缓解下面这样的事情? $ hostname workstation1 $ whoami john $ sudo su jane $ whoami jane $ cp -R /home/nfs/jane /mnt/thumbdrive/
有很多关于如何使sudo不提示input密码的信息(NOPASSWD)。 比方说,我有用户alice ,在我的sudoers这行: alice ALL=(root) NOPASSWD: /bin/myadmintool 这工作得很好。 用户可以运行sudo /bin/myadmintool并执行一些操作。 但是,如果用户要这样做: sudo /bin/bash 这是发生了什么事情: $ sudo /bin/bash We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great […]
(开发人员在这里 – 在系统pipe理员世界相对新手)。 有谁知道文件可以从sudo用户限制(不读取,写入或执行访问)的方式? 关于这种情况的一点背景:我们目前正在寻找一种方法来为某些用户提供sudo访问权限,同时还限制对一组文件的访问。 除非这样做,否则sudo访问将不会成为一个选项,我们将根据用户请求,根据需要将文件/命令(或包装在脚本中)白名单。 正如您所预料的那样,白名单选项需要更多维护和延迟,因为用户等待系统pipe理员小组响应请求。