修改权限的命令chmod,其基本信息如下。
命令名称:chmod。英文原意:change file mode bits。所在路径:/bin/chmod。执行权限:所有用户。功能描述:修改文件的权限模式。 命令格式 [root@localhost ~ ] # chmod [选项] 权限模式 文件名 选项: -R:递归设置权限,也就是给子目录中的所有文件设定权限chmod命令的权限模式的格式是[ugoa][+-=][perms],也就是[用户身份][赋予方式][权限]的格式,我们来解释一下。
数字权限的赋予方式是最简单的,但是不如之前的字母权限好记、直观。 我们来看看这些数字权限的含义。
4:代表“r”权限。2:代表“w”权限。1:代表“x”权限。说明: rwx代表读写执行的权限,我们把1代表有权限,0代表没有权限,则111带便三个权限都有,把111看成一个二进制数,转义成十进制就是7,101则为5,以此类推。
数字权限的赋予方式更加简单,但是需要用户对这几个数字更加熟悉。其实常用权限也并不多,只有如下几个。
644:这是文件的基本权限,代表所有者拥有读、写权限,而所属组和其他人拥有只读权限。(文件的标准权限就是这个权限)755:这是文件的执行权限和目录的基本权限,代表所有者拥有读、写和执行权限,而所属组和其他人拥有读和执行权限。777:这是最大权限。在实际的生产服务器中,要尽力避免给文件或目录赋予这样的权限,这会造成一定的安全隐患。(代表所有人都拥有对该文件的最大权限,实际工作中不可这么设置。)chown命令是修改文件和目录的所有者和所属组的命令,其基本信息如下。
命令名称:chown。英文原意:change file owner and group。所在路径:/bin/chown。执行权限:所有用户。功能描述:修改文件和目录的所有者和所属组。 命令格式 [root@localhost ~ ] # chown [选项] 所有者:所属组 文件或目录 选项: -R:递归设置权限,也就是给子目录中的所有文件设置权限注意:在新安装的Linux系统中,是有大量的系统用户的,但是这些系统用户是不能登陆的,能登陆的用户只有root用户。
演示:登陆用户为root 1.文件的所有者为用户,所以需要先创建一个普通用户user1。 [root@192 ~]# useradd user1 [root@192 ~]# passwd user1 更改用户 user1 的密码 。 新的 密码: 无效的密码: 过于简单化/系统化 无效的密码: 过于简单 重新输入新的 密码: passwd: 所有的身份验证令牌已经成功更新。 # 上面两个命令就是添加用户和给用户设置密码。 # 此时是root用户,如果是普通用户修改自己的密码,就需要符合密码复杂度原则。 2.查看abc文件的拥有者和所属组 [root@192 ~]# ls -l abc -rwxrwxrwx. 1 root root 0 12月 29 21:41 abc 3.修改abc文件的拥有者为user1 [root@192 ~]# chown user1 abc [root@192 ~]# ls -l abc -rwxrwxrwx. 1 user1 root 0 12月 29 21:41 abc 注意:在chown命令的描述中,是可以修改拥有者和用户组的`change file owner and group`。所以通过chown命令是可以同时修改文件的拥有者和用户组。 [root@192 ~]# ls -l abc -rwxrwxrwx. 1 user1 user1 0 12月 29 21:41 abc [root@192 ~]# chown root:root abc [root@192 ~]# ls -l abc -rwxrwxrwx. 1 root root 0 12月 29 21:41 abc chown命令中拥有者和所属组之间用:或.分隔都可以。chgrp是修改文件和目录的所属组的命令,其基本信息如下。
命令名称:chgrp。英文原意:change group ownership。所在路径:/bin/chgrp。执行权限:所有用户。功能描述:修改文件和目录的所属组。 同上边chown命令 1.查看abc文件的拥有者和所属组 [root@192 ~]# ls -l abc -rwxrwxrwx. 1 root root 0 12月 29 21:41 abc 2.修改abc文件的所属组 [root@192 ~]# chgrp user1 abc [root@192 ~]# ls -l abc -rwxrwxrwx. 1 root user1 0 12月 29 21:41 abc注意: 在chown命令的演示中,只创建了user1用户,并没有创建user1组。但此时系统中是有user1组的。在Linux系统中,如果你添加了一个用户,系统会默认生成一个同名的组(user1组),作为这个用户的初始组,所以不用在单独创建user1的用户组了。这与windows系统是有区别的。
1.普通用户可以修改所有者是自己的文件的权限。
[user1@192 ~]$ touch test [user1@192 ~]$ ls test [user1@192 ~]$ chmod 755 test [user1@192 ~]$ ls -l -rwxr-xr-x. 1 user1 user1 0 12月 30 00:49 test如果修改文件为其他拥护者的权限时,只有root用户可以。
2.普通用户不能修改文件的所有者,哪怕自己是这个文件的所有者也不行。
[user1@localhost ~ ] $ chown user2 test chown:正在更改"test"的所有者:不允许的操作只有超级用户才能修改文件的所有者。