2017.10.12 shell chmod 文件权限详解

chmod 

要修改哪些用户的特权:
字符 含义
a 修改所有用户的特权
g 修改组用户的特权
o 修改其它用户的特权
u 修改所有者的权限


执行什么操作:
字符 含义
- 删除当前的权限
= 替换当前的权限
+ 增加当前的权限


要修改哪一项权限:
字符 含义
r 读访问
w 写访问
x 执行访问
s SUID或是SGID
t 粘附位

范例 :将档案 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt 
将档案 file1.txt 设为所有人皆可读取 :
chmod a+r file1.txt 
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt 
将 ex1.py 设定为只有该档案拥有者可以执行 :
chmod u+x ex1.py 
将目前目录下的所有档案与子目录皆设为任何人可读取 :
chmod -R a+r * 

此外chmod也可以用数字来表示权限如 chmod 777 file
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
范例:
chmod a=rwx file 

chmod 777 file 
效果相同
chmod ug=rwx,o=x file 

chmod 771 file 
效果相同
若用chmod 4755 filename可使此程序具有root的权限.

指令名称 : chown 
使用权限 : root 

使用方式 : chmod [-cfhvR] [--help] [--version] user[] file... 

说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。 

把计 : 

user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help : 显示辅助说明--version : 显示版本 

范例 : 
将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie : 
chown jessie:users file1.txt 

将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport : 
chmod -R lamport:users * 
-rw------- (600) -- 只有属主有读写权限。 
-rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。 
-rwx------ (700) -- 只有属主有读、写、执行权限。 
-rwxr-xr-x (755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。 
-rwx--x--x (711) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。 
-rw-rw-rw- (666) -- 所有用户都有文件读、写权限。这种做法不可取。 
-rwxrwxrwx (777) -- 所有用户都有读、写、执行权限。更不可取的做法。 
以下是对目录的两个普通设定: 

drwx------ (700) - 只有属主可在目录中读、写。 
drwxr-xr-x (755) - 所有用户可读该目录,但只有属主才能改变目录中的内容。
--------------------------------------------------------------------------
运行 .sh 文件类型的文件:
用file命令测试一下看是什么类型的
file xxxx.sh
如果是Bourne-Again shell script 可以sh xxxx.sh 或者chmod +x xxxx.sh 再./xxx.sh
一般 .sh 的直接添加x(可执行属性) chmod +x xxx.sh 然后./xxx.sh就可以了
chmod是一个改变用户拥有指定文件的权限的命令.r:只读,w:写,x执行.也可以用数字





猜你喜欢

转载自blog.csdn.net/qq_36342616/article/details/78211637