Sha256: b33e4873516d27af33391f157099667c1e2ceeff4b98e3e4e45c7a6f91dbfa8c

Contents?: true

Size: 1.01 KB

Versions: 7

Compression:

Stored size: 1.01 KB

Contents

module Sprinkle
  module Verifiers
    # = Permission and ownership Verifier
    #
    # Contains a verifier to check the permissions and ownership of a file or directory.
    # 
    # == Example Usage
    #
    #   verify { has_permission '/etc/apache2/apache2.conf', 0644 }
    #
    #   verify { belongs_to_user '/etc/apache2/apache2.conf', 'noop' }
    #
    #   verify { belongs_to_user '/etc/apache2/apache2.conf', 1000 }
    #
    module Permission
      Sprinkle::Verify.register(Sprinkle::Verifiers::Permission)

      def has_permission(path, permission)
        @commands << "find #{path} -maxdepth 0 -perm #{permission} | egrep '.*'"
      end

      def belongs_to_user(path, user)
        arg = user.is_a?(Integer) ? "-uid" : "-user"
        @commands << "find #{path} -maxdepth 0 #{arg} #{user} | egrep '.*'"
      end

      def belongs_to_group(path, group)
        arg = group.is_a?(Integer) ? "-gid" : "-group"
        @commands << "find #{path} -maxdepth 0 #{arg} #{group} | egrep '.*'"
      end

    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
sprinkle-0.7.7 lib/sprinkle/verifiers/permission.rb
sprinkle-0.7.6.2 lib/sprinkle/verifiers/permission.rb
sprinkle-0.7.6.1 lib/sprinkle/verifiers/permission.rb
sprinkle-0.7.6 lib/sprinkle/verifiers/permission.rb
sprinkle-0.7.5 lib/sprinkle/verifiers/permission.rb
sprinkle-0.7.4 lib/sprinkle/verifiers/permission.rb
sprinkle-0.7.3 lib/sprinkle/verifiers/permission.rb