Umask

前天遇到一个小问题,我有一台机器A,登陆上去之后是bash环境,但是只有ssh命令的权限。 我需要从这台机器再连接到B,由于为了避免每次都输密码,我需要在A机器上创建RSA密钥文件。 没有vi,还好,文件可以直接用下面的方式创建

echo "content" > .ssh/id_rsa.pub

这样创建出来的id_rsa.pub文件的权限是644,但是,对于.ssh/id_rsa这个文件,需要权限位是600。 机器上不能执行chmod命令,也没有cp命令,想复制一个600的文件过来再替换也不行。纠结了一会儿,发现umask是bash内建的命令,那就好了

umask 0077
echo "content" > .ssh/id_rsa

这样新建的文件权限位就是600了

Comments