V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Tumblr
V2EX  ›  macOS

怎么永久在 terminal 中用 Touch ID 授权 sudo?

  •  
  •   Tumblr · 2021-03-21 09:31:00 +08:00 · 3156 次点击
    这是一个创建于 1122 天前的主题,其中的信息可能已经有所发展或是发生改变。

    感觉用 Touch ID 授权 sudo 比较方便,目前找到的方法是在/etc/pam.d/sudo中新增一行:

    auth sufficient pam_tid.so
    

    并强行保存。此时不重启电脑上可以正常使用的,但重启过 OS 之后这个又没有了。

    那么,是否有什么办法可以永久保存这个设置呢?

    14 条回复    2021-03-23 11:20:07 +08:00
    lonelyeagle
        1
    lonelyeagle  
       2021-03-21 09:33:23 +08:00
    只要系统升级,这个文件就会被重写。
    WillBC
        2
    WillBC  
       2021-03-21 09:41:15 +08:00 via iPhone
    Jacky23333
        3
    Jacky23333  
       2021-03-21 09:43:44 +08:00 via Android
    曲线救国,写个开启自启脚本每次自动写入?
    chinvo
        4
    chinvo  
       2021-03-21 10:29:00 +08:00 via iPhone
    这个文件可以保存的啊, 只有升级系统才会重置
    HannibaI
        5
    HannibaI  
       2021-03-21 11:32:29 +08:00
    关闭 sudo 密码
    tairan2006
        6
    tairan2006  
       2021-03-21 13:36:15 +08:00
    sudo visudo
    webshe11
        7
    webshe11  
       2021-03-21 13:43:33 +08:00 via Android
    重启后还有啊?
    Tumblr
        8
    Tumblr  
    OP
       2021-03-21 18:25:11 +08:00
    @WillBC #2 感谢分享,我看看。
    @Jacky23333 #3 确实是个不错的主意~ 可以开机时检测,如果没有则写进去。。。
    @chinvo #4 @webshe11 #7 讲真我并没有特别确定是什么情况下重置的,不过确定的是没经过系统升级,有点头大~

    同时也感谢其它 v 友的回复。
    WillBC
        9
    WillBC  
       2021-03-21 20:54:35 +08:00 via iPhone
    @Tumblr 主要看链接里的评论
    WuSiYu
        10
    WuSiYu  
       2021-03-22 22:57:25 +08:00
    重启后不会消失,系统升级后会
    我现在是直接单存一份,系统升级后覆盖过去,想高级点可以弄成 patch
    反正每次升级后 git 都得重新装,多打一行命令也不算太费事
    Tumblr
        11
    Tumblr  
    OP
       2021-03-22 23:06:38 +08:00
    @WuSiYu #10 确认了一下,重启确实不会消失,那暂时就这样了。
    写了个脚本,启动 terminal 的时候检测,没有这一行就 sudo 写入。。。
    bbbb
        12
    bbbb  
       2021-03-23 09:07:10 +08:00 via iPhone
    真棒,学习了
    miku1958
        13
    miku1958  
       2021-03-23 10:25:43 +08:00
    @Tumblr 可以分享一下检测脚本吗
    Tumblr
        14
    Tumblr  
    OP
       2021-03-23 11:20:07 +08:00
    @miku1958 #13 我用的是 pwsh,写在$PROFILE 里的:
    $sudoTid = "/etc/pam.d/sudo"
    if(!(sls $sudoTid -Pattern "^.pam_tid\.so")) {
    (gc $sudoTid) -replace ".*sufficient.*", "$&`nauth`t sufficient`t pam_tid.so" | Out-File $sudoTid
    }
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1028 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 20:10 · PVG 04:10 · LAX 13:10 · JFK 16:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.