Tag Info

Hot answers tagged

25

From info ls, under the What information is listed? section, regarding the output produced by -l: A file with any other combination of alternate access methods is marked with a '+' character. Generally, it means it has an ACL set.


13

The "@" sign -- which is not documented in the manual page for ls(1) indicates that the file has extended attributes. You can use the command 'xattr -l ' to show them Quote from : http://en.wikipedia.org/wiki/Extended_file_attributes Extended file attributes is a file system feature that enables users to associate computer files with metadata not ...


10

I think you're trying to make sudo work in a way that it is not ment to - you don't want to add the 'simple' user to the sudoers file (please correct me if i'm wrong). In that case sudo isn't the tool you want to use you want to issue su -c <command> this will prompt for the root password, execute the command, then exit.


10

As stated by @MadHatter this means the File/Directory has additional right trough Access Control Lists. Usually the Owner:Group system is enough, but in some cases you need a fainer grained permission control. There comes the acl system in touch. To see the acls on a specific file/dir simply type: getfacl myfileordir For changing the permissions use the ...


9

Capistrano and MCollective solve different problems. Sure, there is overlap, but Capistrano is very heavily focused on deploys, where MCollective is aimed towards generic orchestration - performing ad-hoc tasks and collecting information. You can make MCollective do your deploys, but IMHO it is better suited for discovery and ad-hoc information gathering, or ...


6

Symlinks are cached by Apache, I assume you are using FollowSymLinks in your httpd.conf. You could try using SymLinksIfOwnerMatch whose call to lstat is not cached http://httpd.apache.org/docs/2.0/misc/perf-tuning.html#symlinks


5

Capistrano is mature and is not in need of much work. It still has a huge user base with >24K downloads for the 21 Mar 2011 release. Jamis Buck created Capistrano somewhere around 2005. He did the majority of work on it until Feb 2009 when he announced he would be handing over maintainership of it. Lee Hambley took over and has been maintaining the ...


5

As far as I know they can. Take note that puppet is ruby too. And so is chef. I guess it is a matter of personal taste, have a look at the way to define 'recipes' and decide which would better suite you. You can also look at these other questions. This answer says it all :). If you have a git repository already, maybe capistrano is a better choisce. ...


5

Each run command basically executes within its own shell environment. So you would need to do something like: run "cd #{release_path} && script/console production" However, you cannot run commands in script/console this way as script/console is for interactive usage. What you want is script/runner like so: run "cd #{release_path} && ...


4

Puppet would be ideal for this. Puppet provides you with a declarative language to describe the configuration of each server, including packages, services and configuration files. Puppet provides a strong framework to describe the dependancies that each component has on each other, which allows your to build modular configuration files that describe how to ...


3

-rwxr-xr-x for a regular file whose user class has full permissions and whose group and others classes have only the read and execute permissions. on osx ls command now displays a "@" character after the permissions string for each file that has extended attributes


3

You can use capistrano-chef, a RubyGem that allows you to use Chef Search for role names to do the deployment. https://github.com/cramerdev/capistrano-chef Possibly unrelated, Evan Machnic has a video of how he uses Chef and capistrano from a presentation at a Ruby Brigade meeting. ...


3

Wrote my own little set of php scripts that write nagios configurations to a file. Nagios is easy because its just a text file so all you need to do is create a template for each type of server. Then when the server starts add a file using the template. The only data that changes in the file is the host ip and name. For more static servers I created a ...


3

This is probably solveable outside of Capistrano and in SSH itself. Setting up a ~/.ssh/config file an creating an entry for your host: HostName myserver.example.com PreferredAuthentications=keyboard-interactive PubkeyAuthentication=no Capistrano will definitely prompt for a password if no key is present, I've done that.


2

This is best handled through ssh-configs rather than Capistrano directly. It's easier, anyway. The trick is aluded to in Paulo's answer on Stackoverflow. You'd build your ~/.ssh/config file to supply the needed parameters for the hosts you're looking for. Happily, this config file can accept wildcards which makes it easier to distinguish between AWS and Univ ...


2

Check out /etc/sysconfig/init. The top lines on my CentOS 5.x system: # color => new RH6.0 bootup # verbose => old-style bootup # anything else => new style bootup without ANSI colors or positioning BOOTUP=color Changing the BOOTUP line to something like nocolor eliminates the formatting for all init scripts. If you just want to disable ...


2

At the risk of reviving an old thread, check out Ansible for running arbitrary commands over a set of hosts. Set up a hosts file with a group named "all" and then type ansible all -a "/bin/echo hello" to see the results.


2

Remove the entry for ec2.flasheves.com your deploy server's ~/.ssh/known_hosts, it looks like the host key on ec2.flasheves.com changed and ssh is killing the connection since it could be a hijack. http://www.symantec.com/connect/articles/ssh-host-key-protection


2

One thing i 'll like to add is that it would be better to exclude foo guy from being able to login from ssh What i mean is to connect to the server as user "superman" and afterwards using su foo to become foo user and execute any command you want Using this way, the attacker needs both password / private key in order to be able to use capistrano. If he was ...


2

if someone steals our private ssh key and acces to our machines as the foo user, is able to take down the website Encrypt your SSH private keys with a secure passphrase and do not copy them to remote servers. If someone gets hold of your private key it will be no use to them without the passphrase.


2

Arguably, your monitoring tool should be able to report disk usage over time; but, if you want to run direct commands over a target group of hosts, I'd suggest to use ansible for this kind of tasks. zero configuration in the servers. you only need ansible installed in the machine that is going to run the commands. it supports sudo. -K, --ask-sudo-pass ...


2

There are a variety of methods for doing it, but the top one is to set up the sudo system so the SSH-enabled deployment user (which you'll need to set up) can impersonate tomcat or root as needed for doing deployments. The actual code directories may be owned by tomcat, or may be owned by the deployment user with rights set so that tomcat can use the files. ...


2

Capistrano, as you've discovered, is primarily a deployment tool. What it sounds like you need is a configuration management tool. Puppet, Chef, Salt, and Ansible are all examples of CM tools. They ware all very capable products, but for your situation, I'd recommend you take a first look at Ansible. All of these languages have some sort of declarative ...


2

This answer states you need to pass an argument to clear_apc_cache and that only with apc.enable_cli=1 will the APC cache clearing work through CLI calls. You might want to clear_apc_cache again with the after:restart hook to ensure the previous release is fully cleared.


1

The directory above the base directory Capistrano is deploying to must be writable by the Capistrano user, because Capistrano normally creates that directory. A style/convention note here. /var/www is not a great place to use as your app's base directory. On a number of OSes and distros, /var/www itself is created and managed by OS packages, and besides it ...


1

bundler/capistrano default settings are not always the best choice, this is why it is recommended in rvm-capistrano to reset those settings back to using standard ruby paths (called system in bundler - but has nothing to do with system itself) I maintain example application https://github.com/mpapis/ad/blob/master/config/deploy.rb the minimal extract fro ...


1

I like using func for this, especially when combined with my func-shell. It gives you a shell that runs any command you give it on any host you want it to run. It's not zero-config like ansible, as it requires a daemon on each server. But the good thing is that it doesn't need SSH and commands can be delegated through intermediate hosts, allowing you to use ...


1

As I understand it, the first configured virtual host will be set as the default virtual host. If you access your server by just using the IP address and not a domain name, Apache should serve up the default virtual host. Alternatively, you can configure a domain name in the Apache config, then on your client machine put that domain name and IP address in ...


1

Is this on OSX? See the discussion here. Relevant part: The "@" sign -- which is not documented in the manual page for ls(1) -- indicates that the file has extended attributes. You can use the command 'xattr -l ' to show them. It seems that a lot of Finder information, which ought to be stored in the catalog, is now in extended attributes.


1

it's not really a capistrano issue, more a ssh one. If you are allowed to log on a machine via ssh (with key or password) if an attacker find those credentials he can also do what you're allowed to do on those machine. your sysadmin have to set boundaries to what your deploy account can do (file permission, command permissions...). There's a nice walktrough ...



Only top voted, non community-wiki answers of a minimum length are eligible