美文网首页
第四节 Shell文件权限和脚本执行

第四节 Shell文件权限和脚本执行

作者: 张金宇 | 来源:发表于2016-10-27 18:41 被阅读0次

    一.文件权限

    一.linux 中的有几种权限:

    1.r 读
    2.w 写
    3.x 执行

    二.linux用户有几种:

    1.所有者 (u)
    2.所属组 (g)
    3.其他用户 (0)
    4.所有用户 (a)

    三.文件权限:

    -rw-r--r-- root root 0 Oct 19 12:21 shell.txt

    • 1.所有者(root用户)对shell.txt具有rw(读写)的权限
    • 2.所属组(root组内的用户)对shell.txt具有r(只读)的权限
    • 3.其他用户(root组以外的用户)对shell.txt具有r(只读)的权限
    四.用户管理:
    • 1.查看用户 id user1
    • 2.用户添加 useradd user1
    • 3.用户删除 userdel -r user1
    • 4.修改密码 passwd user1
    五.组管理:
    • 1.新建组 groupadd grp1
    • 2.删除组 groupdel grp1
    • 3.查看组信息 cat /etc/group
    六.用户与组
    • 1.把用户添加如组 gpasswd -a user1 root
    • 2.把用户从组内删除 gpasswd -d user1 root
    七.chmod权限分配
    • 1.chmod字母权限分配: chmod u+x file #对用户单独设置权限
    • 2.chmod数字权限 :chmod 755 file #对所有用户设置权限
    八.acl权限分配
    • 1.setfacl 设置文件权限
      setfacl -m u:user1:rw root.txt
      setfacl -m u:user2:rwx root.txt
    • 2.getfacl 查看文件权限
      getfacl root.txt
    • 3.删除文件权限
      setfacl -x user:user3 root.txt
    • 4.清空文件权限
      sertfacl -b root.txt
    • 5.创建和删除文件权限: 需要对目录设置acl权限即可
      setfacl -m u:user4:rwx /mnt
    • 6.如果对目录以及子目录和文件设置acl权限
      setfacl -m u:user4:rwx -R /mnt/
    • 7.目录中后期添加的子目录和文件设置acl权限
      setfacl -m d:u:user4:rwx -R /mnt/
    九.sudo

    设置用户对命令的执行权限-visudo:

    • 1.设置
      visudo
      user4 localhost=/usr/sbin/useradd,/usr/sbin/userdel
    • 2.使用有密码sudo授权命令
      sudo localhost=/usr/sbin/useradd/ user4
      sudo localhost=/usr/sbin/userdel -r user4
    • 3.使用无密码的sudo授权命令
      sudo localhost = NOPASSWD: /usr/sbin/userdel -r user4
      sudo ALL=NOPASSWD: /user/sbin/userdel -r user4

    二.脚本执行

    一.执行shell脚本的方式:
    • 1.bash test.sh

    • 不需要写解析器

    • 不需要给脚本设置执行权限

    • 2../test.sh (推荐)

    • 运行环境设置:需要写解析器 #!/bin/bash
      注释信息:以#开始的说明性文字
      可执行的Linux命令行

    • 需要给脚本设置执行权限 chmod a+x test.sh

    二.应用事例

    题目:每周五17:30清理FTP服务器的公共共享目录
    提示信息:检查/var/ftp/pub/目录,将其中所有子目录
    及文件的详细列表,当时的时间信息追加保存
    到/var/log/pubdir.log日志文件中,然后清空该目录

    vi /opt/ftpclean.sh
    #!/bin/bash
    date >> /var/log/pubdir.log
    ls -lhR /var/ftp/pub >> /var/log/pubdir.log
    rm -f /var/ftp/pub/*
    
    crontab -e
    30 17 * * 5 /opt/ftpclean.sh

    相关文章

      网友评论

          本文标题:第四节 Shell文件权限和脚本执行

          本文链接:https://www.haomeiwen.com/subject/fhcsuttx.html