Linux学习笔记:权限控制笔记
-
id 现实用户身份号
当用户创建账户之后,系统会给用户分配一个号码,查看id,如:
[lys@VM-16-12-centos root]$ id uid=1001(lys) gid=1001(lys) 组=1001(lys)
-
chmod 更改文件模式
-
方式1:八进制数字表示法,如:有这样一个文件,开始权限为:对自己可读写,对组内可读,对其他人可读。
[root@VM-16-12-centos demo2]# ls -l a.txt -rw-r--r-- 1 root root 0 12月 20 16:23 a.txt
现在我们要给a.txt修改权限,通过使用 3 个八进制数字,我们能够设置文件所有者、用户组和其他人的权限:
[root@VM-16-12-centos demo2]# chmod 777 a.txt [root@VM-16-12-centos demo2]# ls -l a.txt -rwxrwxrwx 1 root root 0 12月 20 16:23 a.txt
从上我们通过"777"这三个二进制数字,完成了对文件a.txt的赋予所有者,所在组以及其他的读,写,执行的权限操作,二进制数字与之对应的权限操作如下图:
数字 二进制表示 文件权限模式 0 000 -— 1 001 –x 2 010 -w- 3 011 -wx 4 100 r– 5 101 r-x 6 110 rw- 7 111 rwx 以上表格是数字对应的操作,再举例:
有b.txt文件,当我们要给它添加【所有者可以读写,所在组合其他人只能读】这样一个权限的时候,只需要执行下面的指令即可
chmod 644 b.txt
-
方式2:符号表示法,这种方式相对比较容易理解一些,如:
[root@VM-16-12-centos demo2]# ls -l b.txt -rw-r--r-- 1 root root 0 12月 20 16:44 b.txt [root@VM-16-12-centos demo2]# chmod u+x b.txt [root@VM-16-12-centos demo2]# ls -l b.txt -rwxr--r-- 1 root root 0 12月 20 16:44 b.txt
在上面的例子中,给"b.txt"文件添加所有者可以执行的权限,我们通过"u+x"完成的操作。其中"u"表示所有者,“x"是可执行的权限表示。这种方式更好理解,除了"u",“x”,还有其他的对应关系如下表:
符号 含义 u 文件或者目录的所有者 g 用户组 o 其他所有人 a “u”+“g”+"o"联合 x 可执行权限 r 读权限 w 写权限 增加权限"+",删除权限用"-“,如:
删除"b.txt"文件的所有者可执行权限:
[root@VM-16-12-centos demo2]# ls -l b.txt -rwxr--r-- 1 root root 38 12月 20 17:37 b.txt [root@VM-16-12-centos demo2]# chmod u-x b.txt [root@VM-16-12-centos demo2]# ls -l b.txt -rw-r--r-- 1 root root 38 12月 20 17:37 b.txt
此外还可以这样组合:如
写法 含义 +x 等价于a+x,为文件所有者,用户组,其他人添加可执行权限 o-rw 删除其他人的读写权限 go=rw 给文件所属的组合,以及其他人添加读写权限。 u+x,go=rw 多种设定可以用逗号隔开 如:
[root@VM-16-12-centos demo2]# ls -l -rw-r--r-- 1 root root 38 12月 20 17:37 b.txt [root@VM-16-12-centos demo2]# chmod g+x,o+x b.txt [root@VM-16-12-centos demo2]# ls -l -rw-r-xr-x 1 root root 38 12月 20 17:37 b.txt
-
-
umask 设置默认的文件权限
-
查看默认权限:
[root@VM-16-12-centos demo2]# umask 0022 [root@VM-16-12-centos demo2]# >c.txt [root@VM-16-12-centos demo2]# ls -l c.txt -rw-r--r-- 1 root root 0 12月 20 18:19 c.txt
上面的"0022"是权限控制,是八进制的表示形式。从上可以看到“0022”这个掩码值决定的默认权限是【所有者可读写,组内和其他人只有读权限】
修改默认权限:
[root@VM-16-12-centos demo2]# umask 0123
-
-
su 以另一个用户的身份来运行shell
切换root用户:【su]
[lys@VM-16-12-centos demo2]$ su 密码: [root@VM-16-12-centos demo2]#
退出超级用户:【exit】
[root@VM-16-12-centos demo2]# exit exit [lys@VM-16-12-centos demo2]$
切换到指定用户:【su 用户名】,如:
[root@VM-16-12-centos demo2]# su lys [lys@VM-16-12-centos demo2]$
-
sudo 以另一个用户的身份来执行命令
-
chown 更改文件的所有者
[lys@VM-16-12-centos demo2]$ ls -l c.txt -rw-r--r-- 1 root root 0 12月 20 18:19 c.txt [root@VM-16-12-centos demo2]# chown lys:lys c.txt [root@VM-16-12-centos demo2]# ls -l c.txt -rw-r--r-- 1 lys lys 0 12月 20 18:19 c.txt
在上面的例子中,我们将"c.txt"的所有者和所在组都改成了"lys",在修改文件所有者的时候可以做以下的组合,举例:
写法 含义 lys 将文件所有者改成lys lys:lys 将文件的所有者和用户组都改成lys :lys 将文件用户组该改成lys,文件所有者不变 lys: 将文件所有者改为用户lys,文件用户组改成用户lys登录系统时所属的用户组 -
chgrp 更改文件的组所有权
chgrp 和chown 的用法相近,可以参考chown用法。
-
passwd 更改用户密码
如:修改用户"lys1"的密码:
[root@VM-16-12-centos demo2]# passwd lys1 更改用户 lys1 的密码 。 新的 密码: 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。
更多详细的内容可以参考官方文档哦!!!
本文分享到这!
同系列好文推荐: