Linux笔记03-权限管理命令

改变文件或目录权限:chmod

命令名称:chmod

命令英文原意:change the permissions mode of a file

命令所在路径:/bin/chmod

执行权限:所有用户

语法:

chmod [{ugoa}{+-=}{rwx}] [文件或目录]

(说明:ugoa分别表示:所有者、所属组、其他人、all所有)

(说明:+-=分别表示:增加权限、减少权限,设置为某个权限)

[mode=421 ] [文件或目录]

-R 递归修改

功能描述:改变文件或目录权限

补充说明:只有文件的所有者和root可以改变文件的权限。

示例:在/tmp 下创建一个story.list 并查看其权限:-rw-r--r--

现在,给所有者(u) 添加(+) 执行权限(x):

可以同时进行多个授权,用逗号分隔。例如:对所属组(g)添加(+)写入权限(w),同时对其他人(o)取消(-)读取权限(r):

我们可以不去考虑某个用户(ugoa)之前是什么权限,直接用等号给其赋予某个权限(r/w/x)。例如:对所属组(g)设置(=)读写执行权限(rwx):

权限的数字表示(用得较多)

r ---- 4

w ---- 2

x ---- 1

例如:rwxrw-r-- 对应的数字就是 764 ; 532 对应的权限就是 r-x-wx-w-

现在,假设将上面的文件权限设置为 rw-r----- (u读写,g可读,o无),对应的数字是 640。此时只需要 chmod 640 [文件名]即可。

接下来说一下 递归修改用到的 -R

在/tmp 目录下创建a目录,在a目录下创建b目录,查看两个目录的权限。

(上面涉及到的知识点回顾:mkdir -p 递归的创建目录;ll -d 查看目录或文件属性)

然后修改a目录权限为777(rwxrwxrwx),此时a中的子目录(b目录)权限是不变的:

此时,使用chmod -R 777 [目录名] 可以递归的更改该目录下的所有子目录和文件的权限:

扩展:root下创建新的用户

useradd bajie //创建一个叫做bajie 的用户
passwd bajie //设置bajie的密码(此处测试密码为123456)

接下来做一个测试:root用户在tmp 目录下 创建一个 temp 目录,然后再temp 目录下创建一个文件testfile,同时只给temp目录赋予777权限。

此时testfile 文件的权限是:rw-r--r-- ,那么刚才创建的普通用户bajie 能否删除这个文件呢?

用bajie登录,测试执行删除,同时查看root端:删除成功了!!

理解:删除一个文件的条件是:对这个文件所在的目录有“写权限”;对这个文件有“写权限”,是可以vim 编辑这个文件。

因此,这个testfile 所在的目录 temp 是有 777 权限的,所以,temp 目录下的所有文件都可以被删除!

【文件/目录 权限总结】

改变文件或目录的所有者:chown

命令名称:chown

命令英文原意:change file ownership

命令所在路径:/bin/chown

执行权限:所有用户

语法:

chown [用户] [文件或目录]

功能描述:改变文件或目录的所有者

范例:$ chown zhangsan test.txt(改变文件test.txt的所有者为zhangsan)

示例:普通用户bajie创建了一个文件 abcd 并赋权限为777,然后bajie修改该文件的所有者为root,失败!

原因是:只有root才可以更改文件的所有者!

接下来,试试用root登录,并执行同样 操作,此时就可以成功的修改该文件的所有者。

一般来讲,都是root创建一个文件,然后可以修改这个文件的所有者给某个用户。下面再演示一遍,root在/tmp 下创建一个文件1.txt,

然后创建一个用户lisi (useradd lisi),然后将1.txt这个文件 的所有者赋给lisi这个用户。

改变文件或目录的所属组:chgrp

命令名称:chgrp

命令英文原意:change file group ownership

命令所在路径:/bin/chgrp

执行权限:所有用户

语法:

chgrp [用户组] [文件或目录]

功能描述:改变文件或目录的所属组

范例:

$ chgrp 1.txt zhangsan(改变文件1.txt的所属组为zhangsan)

扩展:创建一个用户组:groupadd [用户组名] (类似于创建用户 )

显示、设置文件的缺省权限:umask

命令名称:umask

命令英文原意:the user file-creation mask

命令所在路径:Shell内置命令

执行权限:所有用户

语法:

umask [-S]

-S 以rwx形式显示新建文件缺省权限

功能描述:显示、设置文件的缺省权限

范例: $ umask -S(查看当前创建目录或文件的默认(缺省)权限)

但是,创建一个文件,查看其缺省权限,却没有x

原因是:在Linux中新创建的任何文件都会把可执行权限(x)去掉(基于安全考虑)。

◇ 设置缺省权限

不加-S的情况下,会显示0022,第一个0暂时先不管。后面的022代表的是:777 - 022 = 755,也就是 rwxr-xr-x.

于是乎!要改变文件的缺省权限,只需要执行umask + 数字,数字 = 777 - 想要设置的权限数值。

比如,要设置为 rwxr-xr--,即754,所以就是 umask [777-754] = umask 023,试试:

然后,再新建一个目录,看看默认的权限,就变成了刚才设置的rwxr-xr--:

最后说明:虽然可以更改缺省权限,但并不建议更改,保留默认的755(rwxr-xr-x)。

【2014年10月25日】

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农兴哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>