saltstack用户管理、权限管理、计划任务

本文介绍了如何使用SaltStack进行用户管理,包括创建、删除用户,指定用户shell,以及查看用户信息。同时,文章详细讲解了权限管理,如设置文件的FACL,以及计划任务的管理,如添加、删除用户cron作业,设置环境变量等。

创建一个test用户

[root@master ~]# salt '192.168.11.132' user.add test
192.168.11.132:
    True

创建用户时指定shell

[root@master ~]# salt '192.168.11.132' user.add test1 shell=/sbin/nologin
192.168.11.132:
    True

创建用户时指定不创建家目录

[root@master ~]# salt '192.168.11.132' user.add test3 createhome=False
192.168.11.132:
    True

删除test3用户

[root@master ~]# salt '192.168.11.132' user.delete test3 remove=True
192.168.11.132:
    True

查看所有用户

[root@master ~]# salt '192.168.11.132' user.list_users
192.168.11.132:
    - test
    - test1
    - test2
    - test4
......

更改用户的shell

[root@master ~]# salt '192.168.11.132' user.chshell test /bin/tj
192.168.11.132:
    True

权限管理

*为指定的文件添加或修改FACL

[root@master ~]#  salt '192.168.11.132' acl.modfacl user root rwx /opt/tj
192.168.11.132:
    True
[root@master ~]#  salt '192.168.11.132' acl.modfacl u test 7 /opt/tj
192.168.11.132:
    True
[root@minion opt]# ll
总用量 0
-rw-rwxr--+ 1 root root 2 7月   6 12:33 tj

返回指定文件上facl的(极其详细的)映射

[root@master ~]# salt '192.168.11.132' acl.getfacl /opt/tj
192.168.11.132:
    ----------
    /opt/tj:
        ----------
        comment:
            ----------
            file:
                /opt/tj
            group:
                root
            owner:
                root
        group:
            |_
              ----------
              root:
                  ----------
                  octal:
                      4
                  permissions:
                      ----------
                      execute:
                          False
                      read:
                          True
                      write:
                          False
        mask:
            |_
              ----------
              :
                  ----------
                  octal:
                      7
                  permissions:
                      ----------
                      execute:
                          True
                      read:
                          True
                      write:
                          True
        other:
            |_
              ----------
              :
                  ----------
                  octal:
                      4
                  permissions:
                      ----------
                      execute:
                          False
                      read:
                          True
                      write:
                          False
        user:
            |_
              ----------
              root:
                  ----------
                  octal:
                      6
                  permissions:
                      ----------
                      execute:
                          False
                      read:
                          True
                      write:
                          True
            |_
              ----------
              root:
                  ----------
                  octal:
                      7
                  permissions:
                      ----------
                      execute:
                          True
                      read:
                          True
                      write:
                          True
            |_
              ----------
              test:
                  ----------
                  octal:
                      7
                  permissions:
                      ----------
                      execute:
                          True
                      read:
                          True
                      write:
                          True

从指定的文件中删除特定的FACL

[root@master ~]# salt '192.168.11.132' acl.delfacl user test /opt/tj
192.168.11.132:
    True

从指定的文件中删除所有facl

[root@master ~]# salt '192.168.11.132' acl.wipefacls /opt/tj
192.168.11.132:
    True

从getfacl——version返回facl版本

[root@master ~]#  salt '192.168.11.132' acl.version
192.168.11.132:
    2.2.53

计划任务

将文件的内容写入用户的crontab

[root@master ~]# salt '192.168.11.132' cron.write_cron_file root /opt/tj
192.168.11.132:
    True

返回用户crontab的内容

[root@master ~]# salt '192.168.11.132' cron.raw_cron root
192.168.11.132:
     */1 * * * * usr/bin/date &>/root/opt/xx

删除指定用户的cron作业

[root@master ~]# salt '192.168.11.132' cron.rm_job root /opt/tj
192.168.11.132:
    absent

返回指定用户crontab的内容

[root@master ~]# salt '192.168.11.132' cron.list_tab root
192.168.11.132:
    ----------
    crons:
    env:
    pre:
    	- */1 * * * * usr/bin/date &>/root/opt/xx
    special:

将文件的内容写入用户的crontab并在出错时返回错误消息

[root@master ~]# salt '192.168.11.132' cron.write_cron_file_verbose root /opt/tj
192.168.11.132:
    ----------
    pid:
        70050
    retcode:
        0
    stderr:
    stdout:

删除指定用户的cron环境变量

[root@master ~]# salt '192.168.11.132' cron.rm_env root MAILTO
192.168.11.132:
    absent

为指定用户设置cron作业

[root@master ~]# salt '192.168.11.132' cron.set_job root '*' '*' '*' '*' 1 /usr/local/weekly
192.168.11.132:
    new

在crontab中设置一个环境变量

[root@master ~]# salt '192.168.11.132' cron.set_env root MAILTO root@example.com
192.168.11.132:
    new

删除指定用户的特殊cron作业

[root@master ~]# salt '192.168.11.132' cron.rm_special root /opt/tj
192.168.11.132:
    absent

[root@master ~]# vim /etc/salt/master
下面三行取消注释,在salt后面加base
file_roots:
  base:
    - /srv/salt/base

[root@master base]#  vim cron.sls
[root@master base]# cat cron.sls 
cron_test:
  cron.present:
    - name: /bin/touch /tmp/fansik.txt
    - user: root
    - minute: '*'
    - hour: 20
    - daymonth: 1-27
    - month: '3,5'
    - dayweek: '*'
[root@master base]# vim top.sls
[root@master base]# cat top.sls 
base:
  minion:
    - cron
[root@master base]# salt '*' state.sls cron
192.168.11.132:
----------
          ID: cron_test
    Function: cron.present
        Name: /bin/touch /tmp/fansik.txt
      Result: True
     Comment: Cron /bin/touch /tmp/fansik.txt added to root's crontab
     Started: 13:11:49.710879
    Duration: 124.324 ms
     Changes:   
              ----------
              root:
                  /bin/touch /tmp/fansik.txt

Summary for 192.168.11.132
------------
Succeeded: 1 (changed=1)
Failed:    0
------------
Total states run:     1
Total run time: 124.324 ms


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值