在我的Red Hat服务器上的/etc/sudoers文件中,我有这样一行: %webdevgroup ALL=NOPASSWD: /bin/chmod * /home/http/* 这显然是一个坏主意,因为有人可以这样做: sudo /bin/chmod 777 /home/http/../../etc/sudoers 有没有一种更安全的方式来实现这个function,而不必打开服务器到这个安全漏洞?
我们有一个(老的和增长的)Linux机器的基础设施(主要是debian)。 对于用户身份validation,我们使用LDAP来定义具有不同访问权限的多个组。 不幸的是,其中一个团队被称为debian中的标准团体名称。 结果是,无论何时更新与组有关的软件包(例如passwd ),它都会在计算机上创build一个使LDAP组员工组黯然失色的本地组员。 结果是login不再起作用等等。 由于基础设施不是新的,所以改变组名是非常费力的,因为它出现在不同机器上的各种configuration文件中。 问题是:如何禁用本地组文件(永远)? 或者还有其他解决方法吗? 目前,我们必须在每次更新创build之后手动从/etc/groups删除本地员工组。 什么尝试没有成功: 将nsswitch.conf的顺序从group: files ldap更改为group: ldap files – >效果:系统在引导时挂起。
我注意到vnstat没有安装在CoreOS上。 有没有类似的方法来监控CoreOS集群上的networking使用情况? 当然可以通过Docker容器运行vnstat,但是我认为只会捕获通过容器而不是整个CoreOS节点的networking活动,对吗?
我有snort监听思科交换机的SPAN端口。 我希望能够在我的networking服务器上添加一个iptables DROP规则来针对特定的snort警报,但是很难find如何做到这一点。 我希望阻止实时发生,而不是通过cron启动脚本来周期性地拖动snort日志。 我在Seclists上find了一个例子 ,它使用syslog-ng来运行一个shell脚本,但是它必须是一个早期版本的syslog-ng,因为当我重新启动syslog-ng时,我得到了一个关于不赞成使用的语法的错误。 我对syslog-ngfilter知之甚less,所以我们会对此做更多的研究,因为它看起来很有希望,但是我认为如果有更好的方法,我会提出这个问题。 当Snort警报通过我的snort盒子的SPAN端口时,运行shell脚本的好方法是什么?
我有一套硬盘驱动器可以进行异地备份。 当其中一个磁盘重新插入时,需要执行几个步骤,我已经将其放入了一个简单的bash脚本。 我想在其中一个磁盘热插拔时自动执行脚本。 理想情况下,我应该有一个磁盘ID的列表( /dev/disk/by-id/… ),以便应该触发脚本的磁盘; 当其中一个被插入时,脚本将被运行,并且特定磁盘的ID将作为参数被传入。 作为替代scheme,每个磁盘都有一个脚本的副本,并为每个磁盘运行每个脚本。 我正在运行Ubuntu Server 14.04 LTS,并且一直在浏览与USB驱动器有关的类似问题,并将udev和hotplug看作是我可能需要使用的两个系统,但希望有人能够指向我为我的需求提供一个特定的简洁解决scheme。
我觉得我做错了什么。 我试图在Debian上安装gparted: sudo apt-get install gparted 它说它不能创build“/var/lib/dpkg/updates/tmp.i”,因为设备上没有可用的空间(它试图分配~5MB的磁盘空间,但是当我这样做的时候: df -h /var/lib 它说: /dev/sda6 2,8G 1,4G 1,3G 52% /var 那是我有1.3GB的可用磁盘空间,不是吗? 那么这里发生了什么? 顺便说一句,我现在有两个相关的问题,第一个是这样的: https : //dba.stackexchange.com/questions/87403/mysqld-cant-start-without-any-info所以这对我来说非常重要出了什么事,请…
我有一个网站所有网站共享相同的“图像”文件夹的networking。 我创build了/ home / _images / entities,并且从所有的网站链接了它,并且在Apache上打开/ images /在我得到的图像列表的任何网站上都可以查看。 问题是将PHP脚本的进程ID更改为文件所有者ID的suPHP ,所以当我加载site1.com时 ,所有脚本都以user1执行(并且使用这些脚本创build的文件/文件夹属于user1:user1)。 当我加载site2.com时 ,所有脚本都以user2身份执行(使用这些脚本创build的文件/文件夹属于user2:user2)。 所有这些用户不属于同一个组,我不想改变它,因为它是cPanel / WHM服务器,所以我恐怕如果我改变(初级?)组的所有用户,我会搞砸了。 因此,我需要设置它,以便所有新创build的文件夹和/ home / _images /实体(由root拥有)下的文件对每个人都具有读/写权限。 这是我使用的命令: setfacl -Rdm o::rwx /home/_images/entities 要检查它: root@server1 [~]# getfacl /home/_images/entities/ getfacl: Removing leading '/' from absolute path names # file: home/_images/entities/ # owner: root # group: root user::rwx group::rwx other::rwx default:user::rwx default:group::rwx default:other::rwx […]
我目前正在尝试设置一个使用SSSD通过Active Directory进行身份validation的FTP服务器。 我的configuration文件如下: 的/ etc / VSFTPD / VSFTPD: [root@StudentOrgFTP vsftpd]# cat vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES pam_service_name=vsftpd userlist_enable=YES userlist_log=YES tcp_wrappers=NO chroot_local_user=YES session_support=YES /etc/sssd/sssd.conf [sssd] domains = WORK services = nss, pam config_file_version = 2 [pam] offline_credentials_expiration = 5 [nss] [domain/WORK] description = Work domains enumerate = false id_provider = […]
我在办公室里有一个linux box,我想在家里从我的Macbook ssh进入。 我无法直接到达端口22的盒子,但我有一个端口隧道钉在本地主机:23001和远程Linux机箱上的端口22之间。 这适用于正常的ssh会话: $ ssh -t -2 -A -p 23001 [email protected] 下一步是,我想在屏幕会话内自动运行我的terminal会话。 它几乎可以做到: $ ssh -t -2 -A -p 23001 [email protected] screen -R 如果我没有当前的屏幕会话,它创build一个。 如果已经有一个分离的屏幕,它连接到它。 到现在为止还挺好。 但是,问题是,我从来没有得到一个loginshell,所以我的.profile永远不会运行,我的环境不能设置。 于是,我又走了一步,试着: $ ssh -t -2 -A -p 23001 [email protected] bash -l -c screen -R 现在,我得到一个运行.profile的真实loginshell,但屏幕无法重新连接到分离的会话。 我在我的Macbook上运行上面的命令,在远程机器上,我有一个附加的屏幕: $ screen -list There is a screen on: 21117.pts-21.roysmith01 (01/19/2015 […]
我使用Debian 7.7 Whezzy上的OpenSSH版本,根据dpkg ,1:6.0p1-4 + deb7u2。 我将OpenSSHconfiguration为允许客户端使用SFTP进行连接,并在chroooted环境中读取和修改(上载或replace)任意文件。 我希望在发生更改(删除,上载或replace)时触发脚本,并且如果可能的话也更改成功或失败。 例如,如果Alice上传文件/foo/bar.png ,则会调用脚本notify.sh alice /home/alice/foo/bar.png UPLOAD SUCCESS 。 有没有办法实现这一点?