Linux增加/删除文件权限
Posted SudekiMing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux增加/删除文件权限相关的知识,希望对你有一定的参考价值。
Linux增加/删除文件权限
ubuntu系统中,对于不同用户及不同用户组中用户对文件的操作权限都不相同,通过控制台我们可以快速的对文件权限进行操作。
对于修改权限可以使用两种方案来更改其权限,下面认识一下文件系统权限的组成:
1 文件权限查看
1、查看文件权限命令:
ls -lh [option:文件名]
2、查看文件夹权限命令
ls -ld [option:文件夹名]
例:drwxr-xr-x
解释:d(代表类型)×××(所有者)×××(组用户)×××(其他用户)
2 修改默认访问权限
方案一:
下面使用 chmod 命令修改文件的权限
sudo chmod 600 ××× (只有文件所有者有读和写的权限)
sudo chmod 644 ××× (文件所有者有读和写的权限,组用户只有读的权限)
sudo chmod 700 ××× (只有文件所有者有读和写以及执行的权限)
sudo chmod 666 ××× (所有用户都有读和写的权限)
sudo chmod 777 ××× (所有用户都有读和写以及执行的权限)
解释:
1、其中×××:指文件名(修改文件夹权限时,有的需要在 chmod 后加-ld)
2、三位数字分别对应每一个用户类型的权限设置,取值是0~7,即二进制的[000]~[111]。
3、其它权限 [000]无任何权限 [100]只读权限 [110]读写权限 [111]读写执行权限
方案二:
同样使用chmod命令修改权限,具体如下:
命令格式:
sudo chmod [操作对象+权限增减+操作权限] ×××
例:
sudo chmod u+w ××× #添加文件拥有者的“可写”权限
sudo chmod u-w ××× #删除文件拥有者的“可写”权限
sudo chmod g+r ××× #添加用户组的“可读”权限
sudo chmod o-r ××× #删除其它用户的“可写”权限
sudo chmod +x ××× #添加所有用户的“可执行”权限
解释:
操作对象:u 表示文件拥有者,g 表示组用户,o 表示其它用户,a 表示所有用户
权限增减:+ 表示增加权限、- 表示取消权限、= 表示设定唯一权限
操作权限:r 表示可读取,w 表示可写入,x 表示可执行
对目录及其目录下的文件和目录全部修改权限 使用 -R参数实现
总结:
ubuntu文件的默认访问权限为664(rw- rw- r–),目录的默认访问权限为775(rwx rwx r-x)可以通过umask XXX
来修改默认访问权限。标准权限计算表如下:
当umask为027时,查表可知文件权限代码为640,目录权限代码为750。
3 linux用户级别
3.1 linux下一共分为三个用户级别
- 文件拥有者(u)
- 所属用户组(g)
- 其他用户(o)
在某个目录下键入ls -l
可能会显示如下信息:
文件属性(占10个字符空间) 文件数 拥有者 所属的group 文件大小 建档日期 文件名
drwx------ 2 Guest users 1024 Nov 21 21:05 Mail
-rwx--x--x 1 root root 89080 Nov 7 22:41 tar*
-rwxr-xr-x 1 root bin 5013 Aug 15 9:32 uname*
lrwxrwxrwx 1 root root 4 Nov 24 19:30 zcat->gzip
-rwxr-xr-x 1 root bin 308364 Nov 29 7:43 zsh*
-rwsr-x--- 1 root bin 9853 Aug 15 5:46 su*
-rw-r--r-- 1 Hhf 197121 146 10月 18 17:37 main.m
这些显示内容的意义:
第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添加(具体程序实现时,实际上是十个bit位)。第一个小格是特殊表示格,表示目录或连结文件等等,d
表示目录,例如drwx------
;
l
表示连结文件,如lrwxrwxrwx
;
如果是以一横“-
”表示,则表示这是文件。其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):
rwx(Owner)r-x(Group)r-x(Other)
这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。
第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。
第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。
第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。
第六个栏位,表示创建日期。以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。
第七个栏位,表示文件名。我们可以用ls –a显示隐藏的文件名。
3.2 添加用户执行权限-用户群组
3.2.1 用户群组
在服务器上安装的软件,为了能在多个服务器同时使用,同时也为了服务器的用户便于访问,将其安装在root权限下的目录,因此需要给目录添加用户执行权限。
使用命令查看用户群组
cat /etc/group
使用命令添加新的用户群组
groupadd group_name -g group_ID
添加用户到某一个组可以使用
#这个命令可以添加一个用户到指定的组,但是以前添加的组就会清空掉
usermod -G group_name user_name
#所以想要添加一个用户到一个组,同时保留以前添加的组时,请使用 gpasswd 这个命令来添加操作用户
gpasswd -a user_name group_name
3.2.1 给文件添加用户群组的权限
使用chown命令可以给文件添加用户群组的权限,注:chown命令必须在root权限下执行,因此需先进入root账户。
示例:
#修改文件所属用户
sudo chown sudeki busybox-1.35.0.tar.bz2
如果需要对文件的属性进行修改,可以使用chmod命令,如chmod +x filename
赋予文件可执行权限。
Linux:权限管理
文件系统属性 chattr权限
命令格式:chattr [+ - +] [选项] 文件或者目录名
+: 增加权限
- : 删除权限
=:等于某权限
选项:
-i :
对文件:不允许对文件进行删除和改名,也不能添加和修改数据。
对目录:不允许在该目录下删除和新建文件,只能修改目录下的文件。
-a :
对文件 :只能在文件增加数据,不能删除也不能修改数据。(增加不也是修改吗???)(应该是不能修改之前的数据)(只能追加)
对目录 :只能在目录中增加和修改文件,不能删除。
查看文件系统属性: lsattr [选项] 文件名
-a : 显示所有文件和目录
-d : 如目标是目录,则只列出目录本身的属性,而不是子文件的。
可以保护文件,防止误删除!!!
以上是关于Linux增加/删除文件权限的主要内容,如果未能解决你的问题,请参考以下文章