Linux下的sudo与chmod命令

发布时间:2020-02-29编辑:脚本学堂
本文介绍下,linux系统中有关权限的二个命令sudo命令与chmod命令的用法,有需要的朋友参考下。

linux的两个权限命令。

一,sudo命令
sudo命令允许当前普通用户使用root管理员权限进行操作而无需root登录,这样可以减少因root登录而造成的各种不便。

sudo命令的参数
sudo命令包含了许多参数,下面是一些常用参数的说明:
sudo -h     Help     列出使用方法,退出。
sudo -V     Version     显示版本信息,并退出。
sudo -l     List     列出当前用户可以执行的命令。只有在sudoers里的用户才能使用该选项。
sudo -u username|#uid     User     以指定用户的身份执行命令。后面的用户是除root以外的,可以是用户名,也可以是#uid。
sudo -k     Kill     清除“入场卷”上的时间,下次再使用sudo时要再输入密码。
sudo -K     Sure kill     与-k类似,但是它还要撕毁“入场卷”,也就是删除时间戳文件。
sudo -b command     Background     在后台执行指定的命令。
sudo -p prompt command     Prompt     可以更改询问密码的提示语,其中%u会代换为使用者帐号名称,%h会显示主机名称。非常人性化的设计。
sudo -e file     Edit     不是执行命令,而是修改文件,相当于命令sudoedit。v

例句:SUDO RM XX.FILE

二,chmod命令

Linux/Unix 的档案调用权限分为三级:
档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用

参数 :
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本

下面分享一些chmod命令的例子。
 

复制代码 代码示例:
将档案 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中使用数字权限的例子。
 

复制代码 代码示例:
chmod a=rwx file 

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

chmod 771 file 
效果相同
 

若用chmod 4755 filename可使此程序具有root的权限