我有一个FreeBSD服务器,我喜欢能够从任何地方到达。 通常情况下,我使用SSH公钥来login,或者如果我没有我的SSH私钥可用,那么我可以使用SSH上的常规密码。 但是,当从不可信的机器login时,键盘logging程序在我键入密码时总是会捕获我的login密码。 FreeBSD已经支持OPIE ,这是一次性密码scheme。 这很好,但一次性密码是唯一需要的authentication。 如果我打印出一个一次性密码列表供以后使用,那么如果我失去了这个列表,那么这就是所有人都需要的。 我想设置身份validation,以便我需要一个一次性密码加我知道的东西(密码,除了不是我平常的login密码)。 我有一个感觉,答案与PAM (和/etc/pam.d/sshd )有关,但我不确定的细节。 如何在需要两种方法的情况下设置身份validation?
我想知道是否有可能在同一时间完成以下内容: 禁用rootlogin 只能通过SSH密钥启用个人用户的SSHlogin 为非特权用户启用SSHlogin,仅使用密码authentication和双因素authentication 使用sshd_config的Match块,我能够设置这个,所以通常PasswordAuthentication被禁用,除了非特权用户(让我们称之为peon )。 login个人用户(具有sudofunction)需要SSH密钥。 但是,当我尝试启用双因素身份validation( pam_google_authenticator )时,我必须打开ChallengeResponseAuthentication (似乎无法在Match块中工作),因此每个人都要重新启用密码身份validation。 有没有办法做到这一点? 我对这种types的东西不是太好,所以详细的解释将非常感激。 谢谢!
我想要: 对于常驻内存做一个软64GB的限制(所以没有经验的用户将会使他们的运行进程死亡,但是有经验的用户可以提高内存饥饿进程的限制) 提高nofile的硬性限制,但保持在1024的软限制(所以如果某个程序需要更多的文件句柄,用户可以授予它们,但运行amok程序将不会得到它们)。 据我所见,我应该可以在/etc/security/limits.conf (或/etc/security/limits.d/* )中做到这一点: * soft rss 64000000 * hard nofile 50000 * soft nofile 1024 但是,我可以find一种方法重新加载这些值,而不用重新启动。 我已经读过,值login时重新加载; 它适用于我su – user但它不能通过ssh user@localhost 。 我在/etc/pam.d中有pam_limits.so: /etc/pam.d/login:session required pam_limits.so /etc/pam.d/sshd:session required pam_limits.so /etc/pam.d/su:session required pam_limits.so 我在sshd_config中有PAM: /etc/ssh/sshd_config:UsePAM yes 我知道我可以使用ulimit和sysctl来设置值,但是我想testing一下/etc/security/limits.conf是否正确,而不需要重新启动。 如何确保在用户使用sshlogin而不重新启动时设置的值?
如何testing对pam.dconfiguration文件的更改: 我是否需要重新启动PAM服务来testing更改? 我应该浏览/etc/pam.d/目录中列出的每项服务吗? 我即将对pam.d/common-*文件进行更改,以便将Ubuntu盒放入活动目录控制的networking中。 我只是在学习怎么做,所以我准备在一个虚拟机的configuration,我计划在未来一周部署在金属。 这是Ubuntu 10.04 Beta 2服务器的一个干净的安装,所以除了SSH守护进程以外,所有其他服务都是库存的。
我有一个箱子从CentOS 5升级到CentOS 6.在原始服务器上,所有用户都有MD5密码。 升级后的服务器现在使用SHA-512密码。 自升级以来已更改其密码并在/etc/shadow具有SHA-512密码的用户能够成功使用crontab ,但未更改其密码且仍旧具有旧MD5密码的用户无法使用crontab 。 他们收到的错误消息是: Authentication service cannot retrieve authentication info You (_username_) are not allowed to access to (crontab) because of pam configuration. 我已经看过/etc/pam.d/system-auth ( 你也可以 ),但我不确定如何调整以允许尚未更改密码的用户访问crontab。 我很清楚,我可以强制每个人用chage -d 0来更改他们的密码,并且更改密码的用户将重新获得对crontab的访问权限(以及其他可能被破坏的内容),但是我有一些用户需要编辑他们的下一次login之前的crontab,以及使用crontab -e -u _username_作为根也失败,具有完全相同的错误,如上所示。 奇怪的是,这个问题没有出现在我的开箱。 在部署之前,我已经在临时框中遇到了这个问题。 用旧的MD5密码的开发盒上的用户可以访问crontab就好了,而/etc/pam.d/system-auth是相同的。 除了IP地址之外,dev和staging框应该是相同的。 我怀疑我错过了一些非常明显和愚蠢的事情 所以我的问题是,如何为尚未更改密码并被SHA-512散列的用户启用对crontab的访问? 或者,我该如何解决这个问题?
Red Hat推荐我在/etc/nsswitch.conf中使用compat模式作为枚举LDAP用户的选项之一,但稍后表示这不是一个使用太多的方法。 nsswitch.conf passwd: files compat passwd_compat: ldap in passwd file, add +@netgroup. 这个compat模式是什么?
我目前正在为我称为sandbox用户限制进程数量。 我在/etc/security/limits.confconfiguration了进程限制,如下所示: sandbox hard nproc 100 但是,如果我想连接到容器作为sandbox用户,ssh返回: shell request failed on channel 0 所以我以root身份login,并检查sandbox用户正在运行多less个进程,但小于5。 那么有什么办法可以阻止我通过SSHlogin? 没有设置限制ssh sandboxlogin用户工作正常。 或者有没有其他办法来防止叉炸弹袭击?
升级到CentOS 7后,不能再通过LDAPlogin。 在CentOS 6中,我使用了可以正常运行的软件包pam_ldap ,但现在pam_ldap不再可用于新版本的CentOS。 通过ldapsearch连接仍然工作正常,但试图通过SSH身份validation不起作用。 我重新安装了软件包nss-pam-ldapd,并通过authconfig-tui重新configuration了身份validation,但仍然无法正常工作。 下面我用user.namereplace我的用户名,用dc = sub,dc = example,dc = orgreplace基础名。 我的主机操作系统是CentOS 7.所有当前可用的更新都已安装。 $ uname -a Linux isfet 3.10.0-123.8.1.el7.x86_64 #1 SMP Mon Sep 22 19:06:58 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux 安装软件包 $ rpm -qa | grep -i ldap openldap-2.4.39-3.el7.x86_64 nss-pam-ldapd-0.8.13-8.el7.x86_64 openldap-clients-2.4.39-3.el7.x86_64 /etc/openldap/ldap.conf的内容 URI ldap://172.16.64.25 BASE dc=sub,dc=example,dc=org /etc/nslcd.conf的内容 ldap_version 3 uri ldap://172.16.64.25 […]
服务器:RHEL 5.9 / smbd 3.0.33 – 客户端:各种,虽然都使用当前的mount.cifs(5.2) 我已经解决了这个问题,但是捕捉这些错误代码真是一场噩梦,我觉得它需要通用的文档。 症状 :从一个特定的cifs客户端到linux samba服务器发生无法预知的间歇性挂载故障。 我所有的Linux客户端在login时pam_mount用户家园。 随机地,并且零星地在一台机器上,家里的dir坐骑开始失败。 login和登上继续完美地在所有其他客户端上运行。 最初我以为破损的客户端上的一个不寻常的活动造成smbd怪胎,但即使使用停止后,间歇性故障仍然徘徊。 试图手动挂载失败并报告: Errors from underlying mount program mount error(12): Cannot allocate memory Refer to the mount.cifs(8) manual page (eg man mount.cifs) 在/etc/security/pam_mount.conf.xml中设置<debug enable="1"/>以从pam_mount获取更多信息: command: 'mount' '-t' 'cifs' '//my_server/watdo' '/home/watdo' '-o' 'user=watdo,uid=666,gid=666' pam_mount(misc.c:38): set_myuid<pre>: (ruid/rgid=0/0, e=0/0) pam_mount(misc.c:38): set_myuid<post>: (ruid/rgid=0/0, e=0/0) pam_mount(mount.c:64): Errors […]
我已经成功地使用vsftpd与虚拟用户连接PAM到我的MySQL数据库。 现在我想通过成功的vsftpd连接自动创build用户目录。 这里是/etc/pam.d/vsftpdconfiguration: #%PAM-1.0 session optional pam_keyinit.so force revoke auth required pam_mysql.so verbose=1 user=root passwd=mypass host=localhost db=mydb table=mytable usercolumn=username passwdcolumn=password crypt=3 account required pam_mysql.so verbose=1 user=root passwd=mypass host=localhost db=mydb table=mytable usercolumn=username passwdcolumn=password crypt=3 session required pam_mkhomedir.so skel=/home/skel/ umask=0022 debug 现在添加pam_mkhomedir只是显示它不能创build任何日志中没有其他消息的目录。 所以显然不适用。 还有什么我需要的吗? 我的/etc/vsftpd/vsftpd.conf: # No ANONYMOUS users allowed anonymous_enable=NO # Allow 'local' users with WRITE […]