用了一早上来搭建环境,之前对于linux模糊的文件权限终于有了一个比较清晰了认识。这里tips下。
linux文件系统的权限包括文件(或者目录)拥有者用户,组用户和其他用户权限组成。
用ls -ag可以查看
drwxrwxrwx 777 目录权限
-rwxrwxrwx 777 文件权限
d代表目录,后面3组分别文件所有者,组用户和其他用户的权限。每一组3位按照二进制来算
比如
-rw-r--r-- 644
-rwxr-xr-x 755
-rwxrw-rw- 766
-rwxrwxrwx 777
r代表读权限
w代表写权限
x代表执行权限
一般文件权限赋予命令可以是
chmod u+x xxx.sh
chmod g+r xxx.sh
chmod o+w xxx.sh
chmod go+xr xxx.sh
其中+号前面表示用户
u 表示文件所有者
g 表示组用户
o 表示其他用户
+号后面表示权限
无论是用户还是组都可以多个组合
当然文件权限赋予命令也可以是
chmod 777 xxx.sh 这个命令相当于 chmod a+rwx xxx.sh
chmod 755 xxx.sh 这个命令相当于 chmod u+rwx xxx.sh ,chmod og+rx xxx.sh
还有一个比较特殊的s权限,如果文件所有者赋予其他或者组用户s权限,那么被赋予s权限
用户执行这个文件,就会以文件所有者的名义启动
比如一个文件为root所有,root可以赋予组用户和其他用户s权限
-rwxr-sr-s root xxx.sh
那么随后无论是哪个用户去执行这个文件,都会以root名义启动。
不同linux机器的ssh打通无论对于普通登录还是scp等操作都是非常方便的,通常将源机器的rsa_pub公钥放到目标机器的.ssh/authorized_keys文件中。
但是有2个注意点
1..ssh目录和其内部的文件,所有者权限必须有rw权限,组用户和其他用户除了r权限,不能有w或者x权限,一般 rwxr--r-- 644或者rw------- 600权限都是OK的。
2. rsa_pub复制出来的内容注意空格。
另外小tips下,linux下转换用户如果su与用户之间不加 -,那么原用户的环境变量将不会带到新用户下去,反之则可以
su admin //不带原用户的环境变量到admin用户下
su - admin //带上原用户的环境变量到admin下