Linux 권한 명령: 1. 파일 및 디렉터리에 속한 그룹을 수정하는 데 사용되는 chgrp 명령, 2. 파일 및 디렉터리의 소유자와 그룹을 수정하는 데 사용되는 chown 명령, 3. 파일 또는 디렉터리를 수정하는 데 사용되는 chmod 명령 4. umask 명령은 새로 생성된 파일과 디렉터리에 기본 권한을 부여할 수 있습니다.
이 튜토리얼의 운영 환경: CentOS 6 시스템, Dell G3 컴퓨터.
Linux chgrp 명령: 파일 및 디렉터리의 그룹 소유권 수정
chgrp 명령은 파일(또는 디렉터리)의 그룹 소유권을 수정하는 데 사용됩니다.
초보자가 기억하기 쉽도록 chgrp는 "change group"의 약자로 이해하시면 됩니다.
chgrp 명령의 사용법은 매우 간단합니다. 기본 형식은
[root@localhost ~]# chgrp [-R] 所属组 文件名(目录名)
-R
입니다(대문자로 표시됨). 해당 디렉터리는 변경 사항이 모든 하위 디렉터리에 포함됨을 나타냅니다. -R
(注意是大写)选项长作用于更改目录的所属组,表示更改连同子目录中所有文件的所属组信息。
使用此命令需要注意的一点是,要被改变的群组名必须是真实存在的,否则命令无法正确执行,会提示 "invaild group name"。
举个例子,当以 root 身份登录 Linux 系统时,主目录中会存在一个名为 install.log 的文件,我们可以使用如下方法修改此文件的所属组:
[root@localhost ~]# groupadd group1 #新建用于测试的群组 group1 [root@localhost ~]# chgrp group1 install.log #修改install.log文件的所属组为group1 [root@localhost ~]# ll install.log -rw-r--r--. 1 root group1 78495 Nov 17 05:54 install.log #修改生效 [root@localhost ~]# chgrp testgroup install.log chgrp: invaild group name 'testgroup'
可以看到,在具有 group1 群组的前提下,我们成功修改了 install.log 文件的所属组,但我们再次试图将所属组修改为 testgroup 时,命令执行失败,就是因为系统的 /etc/group 文件中,没有 testgroup 群组。
Linux chown命令:修改文件和目录的所有者和所属组
chown 命令,可以认为是 "change owner" 的缩写,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件(或目录)的所属组。
当只需要修改所有者时,可使用如下 chown 命令的基本格式:
[root@localhost ~]# chown [-R] 所有者 文件或目录
-R
[root@localhost ~]# chown [-R] 所有者:所属组 文件或目录
-R
(대문자 주의) 옵션은 다음과 같이 chown 명령의 모든 파일을 변경하는 것을 의미합니다. 누구와 함께 하위 디렉토리. 소유자와 그룹을 동시에 변경해야 하는 경우 chown 명령의 기본 형식은 다음과 같습니다. [root@localhost ~]# touch file #由root用户创建file文件 [root@localhost ~]# ll file -rw-r--r--. 1 root root 0 Apr 17 05:12 file #文件的所有者是root,普通用户user对这个文件拥有只读权限 [root@localhost ~]# chown user file #修改文件的所有者 [root@localhost ~]# ll file -rw-r--r--. 1 user root 0 Apr 17 05:12 file #所有者变成了user用户,这时user用户对这个文件就拥有了读、写权限
물론 chown 명령은 파일이나 디렉터리가 속한 그룹을 간단히 수정하는 것도 지원합니다. 예를 들어 chown :group install.log는 install.log 파일이 속한 그룹을 수정한다는 의미입니다. 그러나 chgrp 명령은 다음과 같습니다. 일반적으로 그룹을 수정하는 데 사용되므로 chown 명령을 사용하지 않는 것이 좋습니다. 또 한 가지 주의할 점은 chown 명령을 사용하여 파일이나 디렉터리의 소유자(또는 소유자)를 수정할 때 해당 사용자(또는 사용자 그룹)가 존재하는지 확인해야 한다는 것입니다. 그렇지 않으면 명령이 올바르게 실행될 수 없으며 "잘못된" 명령입니다. 사용자"라는 메시지가 표시됩니다." 또는 "잘못된 그룹"입니다.
【예시 1】사실 더 높은 권한을 얻기 위해 파일 소유자를 수정하는 경우가 더 많습니다. 예를 들면 다음과 같습니다.[root@localhost ~]# cd /home/user #进入user用户的家目录 [root@localhost user]# touch test #由root用户新建文件test [root@localhost user]# ll test -rw-r--r--. 1 root root 0 Apr 17 05:37 test #文件所有者和所属组都是root用户 [root@localhost user]# su - user #切换为user用户 [user@localhost ~]$ chmod 755 test chmod:更改"test"的权限:不允许的操作 #user用户不能修改test文件的权限 [user@localhost ~]$ exit #退回到root身份 [root@localhost user]# chown user test #由root用户把test文件的所有者改为user用户 [root@localhost user]# su - user #切换为user用户 [user@localhost ~]$ chmod 755 test #user用户由于是test文件的所有者,所以可以修改文件的权限 [user@localhost ~]$ ll test -rwxr-xr-x. 1 user root 0 Apr 17 05:37 test #查看权限
chmod 명령: 파일 또는 디렉터리의 권한 수정 chmod 명령에는 파일 권한을 설정하는 두 가지 방법이 있습니다. 숫자나 기호를 사용하여 권한을 변경할 수 있습니다.[root@localhost ~]# chown user:group file [root@localhost ~]# ll file -rw-r--r--. 1 user group 0 Apr 17 05:12 file로그인 후 복사사용자 사용자는 루트 사용자인 파일의 권한을 변경할 권한이 없음을 알 수 있습니다. 이 파일의 소유자인 일반 사용자만 해당됩니다. 파일은 파일의 권한을 수정할 수 있습니다.
【예제 3】
[root@localhost ~]# chmod [-R] 权限值 文件名로그인 후 복사로그인 후 복사
1. chmod 명령은 숫자를 사용하여 파일 권한을 수정합니다.Linux 시스템에서 파일의 기본 권한은 9자로 구성됩니다. rwxrw-r-x를 예로 들면, 숫자를 사용하여 각 권한을 나타낼 수 있습니다. 각 권한과 숫자의 관계는 다음과 같습니다.
r --> 4
🎜w --> 2🎜🎜x --> 1🎜🎜🎜 3가지 유형의 사용자, 각 사용자 ID에는 3가지 권한(r, w, x)이 포함되어 있으며, 세 가지 권한에 해당하는 숫자를 누적하여 최종 값을 각 사용자의 권한으로 사용할 수 있습니다. 🎜🎜rwxrw-r-x를 예로 들면 소유자, 해당 소유자가 속한 그룹 및 다른 사람에 해당하는 권한 값은 다음과 같습니다. 🎜🎜🎜owner = rwx = 4+2+1 = 7🎜🎜group to which they own = rw- = 4+2 = 6🎜🎜Others = r-x = 4+1 = 5🎜🎜🎜따라서 이 권한에 해당하는 권한 값은 765입니다. 🎜使用数字修改文件权限的 chmod 命令基本格式为:
[root@localhost ~]# chmod [-R] 权限值 文件名
-R
(注意是大写)选项表示连同子目录中的所有文件,也都修改设定的权限。
例如,使用如下命令,即可完成对 .bashrc 目录文件的权限修改:
[root@localhost ~]# ls -al .bashrc -rw-r--r--. 1 root root 176 Sep 22 2004 .bashrc [root@localhost ~]# chmod 777 .bashrc [root@localhost ~]# ls -al .bashrc -rwxrwxrwx. 1 root root 176 Sep 22 2004 .bashrc
再举个例子,通常我们以 Vim 编辑 Shell 文件批处理文件后,文件权限通常是 rw-rw-r--(644),那么,如果要将该文件变成可执行文件,并且不让其他人修改此文件,则只需将此文件的权限该为 rwxr-xr-x(755)即可。
2、chmod命令使用字母修改文件权限
既然文件的基本权限就是 3 种用户身份(所有者、所属组和其他人)搭配 3 种权限(rwx),chmod 命令中用 u、g、o 分别代表 3 种身份,还用 a 表示全部的身份(all 的缩写)。另外,chmod 命令仍使用 r、w、x 分别表示读、写、执行权限。
使用字母修改文件权限的 chmod 命令,其基本格式如下图所示。
例如,如果我们要设定 .bashrc 文件的权限为 rwxr-xr-x,则可执行如下命令:
[root@localhost ~]# chmod u=rwx,go=rx .bashrc [root@localhost ~]# ls -al .bashrc -rwxr-xr-x. 1 root root 176 Sep 22 2004 .bashrc
再举个例子,如果想要增加 .bashrc 文件的每种用户都可做写操作的权限,可以使用如下命令:
[root@localhost ~]# ls -al .bashrc -rwxr-xr-x. 1 root root 176 Sep 22 2004 .bashrc [root@localhost ~]# chmod a+w .bashrc [root@localhost ~]# ls -al .bashrc -rwxrwxrwx. 1 root root 176 Sep 22 2004 .bashrc
umask命令:令新建文件和目录拥有默认权限
Linux 通过使用 umask 默认权限来给所有新建的文件和目录赋予初始权限的。
那么,我们如何得知 umask 默认权限的值呢?直接通过 umask 命令即可:
[root@localhost ~]# umask 0022 #root用户默认是0022,普通用户默认是 0002
umask默认权限的修改方法
umask 权限值可以通过如下命令直接修改:
[root@localhost ~]# umask 002 [root@localhost ~]# umask 0002 [root@localhost ~]# umask 033 [root@localhost ~]# umask 0033
不过,这种方式修改的 umask 只是临时有效,一旦重启或重新登陆系统,就会失效。如果想让修改永久生效,则需要修改对应的环境变量配置文件 /etc/profile。例如:
[root@localhost ~]# vim /etc/profile ...省略部分内容... if [ $UID -gt 199]&&[ "'id -gn'" = "'id -un'" ]; then umask 002 #如果UID大于199(普通用户),则使用此umask值 else umask 022 #如果UID小于199(超级用户),则使用此umask值 fi …省略部分内容…
这是一段 Shell 脚本程序,不懂也没关系,大家只需要知道,普通用户的 umask 由 if 语句的第一段定义,而超级用户 root 的 umask 值由 else 语句定义即可。 修改此文件,则 umask 值就会永久生效。
相关推荐:《Linux视频教程》
위 내용은 리눅스 권한 명령이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!