Ⅰ 在linux中如何用命令将某文件夹权限设定为777
方法是:
1、首先打开软件后点击左边的档案,点击十字。
Ⅱ 谈谈linux下文件夹权限的问题
谈谈linux下文件夹权限的问题在homezz.com后面的几个的服务器的数据转移过程中,发现很多homezz.com用户转移到新的服务器上的时候,都出现了这样那样的错误,归根结底,就是文件夹权限设置错误。旧的主机放得太开,对安全性能控制不严格,所以文件权限太大没有做限制,新服务器的安全机制更加严格,因此太大的权限服务器将会拒绝执行。下面开始讲一讲linux下的文件权限。www.dnjsb.comlinux的文件权限是linux能有如此安全性能的最大的保障之一,有朋友可能会知道,很多攻击windows的方法都是通过漏洞获取到创建用户的权限从而达到控制计算机的目的,在linux下,Root帐户有最大的权限,可以干任何事情,其他用户只能拥有自己的文件的所有权限和该改组成员赋予的文件的权限,下面开始对文件权限的一个说明。读权限R。简单的说就是打开文件查看内容的权限,在web服务器中,若文件没有打开权限,则web服务器则视为该文件不存在,发送404filenotfound错误,用数字4表示。www.dnjsb.com写权限W。一个文件若没有写的权限,那么该文件则无法更改,文件夹若没有写权限,则该文件夹下无法创建新文件,用数字2表示。执行权限X。程序文件若要执行,必须有执行权限,否则无法执行。打开一个文件夹也是执行,所以文件夹若没有执行权限,则无法被打开。用数字1表示。谁拥有这个权限文件所有者组内用户公共用户可读=4000可写=2000可执行=1000实际权限,纵向相加000公共用户为所有者和组内用户之外的用户,比如访问web时候,linux可能用公共的用户去读取文件,这里不妨理解成是访客所能操作的那个用户。下面举例(再次提醒,文件夹和文件不一样):文件所有用户可写:666(3类用户均可读写)谁拥有这个权限文件所有者组内用户公共用户可读=4444www.dnjsb.com可写=2222可执行=1000实际权限,纵向相加666接上面的,假设我们吧文件夹设置成0666会怎么样,结果很明显,因为该文件夹没有执行权限,无法被打开,所以设置成0666则无法被访问到。文件夹只可文件所有者有全部权限,组内用户、公共用户可读和执行(755)。一般web根目录文件夹都要这样设置,才安全。再次提示:文件夹没有执行权限,则该用户无法打开。正常的服务器,若根目录权限也为0777,则会出现500错误谁拥有这个权限文件所有者组内用户公共用户可读=4454可写=2200可执行=1111实际权限,纵向相加755如果php需要在某文件夹下创建文件,请把该文件的权限全部设置:即可都可写和可执行777谁拥有这个权限
Ⅲ 如何设置linux的文件和目录的权限
指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [–help] [–version] mode file… 说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。 mode : 权限设定字串,格式如下 : [ugoa…][[+-=][rwxX]…][,…],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。 + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。 r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。 -c : 若该档案权限确实已经更改,才显示其更改动作 -f : 若该档案权限无法被更改也不要显示错误讯息 -v : 显示权限变更的详细资料 -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更) –help : 显示辅助说明 –version : 显示版本 范例 :将档案 file1.txt 设为所有人皆可读取 : chmod ugo+r file1.txt 将档案 file1.txt 设为所有人皆可读取 : chmod a+r file1.txt 将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 : chmod ug+w,o-w file1.txt file2.txt 将 ex1.py 设定为只有该档案拥有者可以执行 : chmod u+x ex1.py 将目前目录下的所有档案与子目录皆设为任何人可读取 : chmod -R a+r * 此外chmod也可以用数字来表示权限如 chmod 777 file 语法为:chmod abc file 其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。 r=4,w=2,x=1 若要rwx属性则4+2+1=7; 若要rw-属性则4+2=6; 若要r-x属性则4+1=7。 范例: chmod a=rwx file 和 chmod 777 file 效果相同 chmod ug=rwx,o=x file 和 chmod 771 file 效果相同 若用chmod 4755 filename可使此程式具有root的权限 指令名称 : chown 使用权限 : root 使用方式 : chown [-cfhvR] [–help] [–version] user[:group] file… 说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。 user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)–help : 显示辅助说明–version : 显示版本 范例 : 将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie : chown jessie:users file1.txt 将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport : chown -R lamport:users * -rw——- (600) — 只有属主有读写权限。 -rw-r–r– (644) — 只有属主有读写权限;而属组用户和其他用户只有读权限。 -rwx—— (700) — 只有属主有读、写、执行权限。 -rwxr-xr-x (755) — 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。 -rwx–x–x (711) — 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。 -rw-rw-rw- (666) — 所有用户都有文件读、写权限。这种做法不可取。 -rwxrwxrwx (777) — 所有用户都有读、写、执行权限。更不可取的做法。 以下是对目录的两个普通设定: drwx—— (700) – 只有属主可在目录中读、写。 drwxr-xr-x (755) – 所有用户可读该目录,但只有属主才能改变目录中的内容suid的代表数字是4,比如4755的结果是-rwsr-xr-x sgid的代表数字是2,比如6755的结果是-rwsr-sr-x sticky位代表数字是1,比如7755的结果是-rwsr-sr-t (当然7755这个chmod设置没多大意义,这里只是演示一下)chown 命令用途更改与文件关联的所有者或组。语法chown[-f][-h][-R] Owner [ :Group ] { File … | Directory … }chown -R [-f ][-H| -L| -P] Owner [ :Group ] { File … | Directory … }描述chown命令将 File 参数指定的文件的所有者更改为 Owner 参数指定的用户。Owner 参数的值可以是可在 /etc/passwd 文件中找到的用户标识或登录名。还可以选择性地指定组。Group 参数的值可以是可在 /etc/group 文件中找到的组标识或组名。只有 root 用户可以更改文件的所有者。只在您是 root 用户或拥有该文件的情况下才可以更改文件的组。如果拥有文件但不是 root 用户,则只可以将组更改为您是其成员的组。虽然 -H、-L 和 -P 标志是互斥的,指定不止一个也不认为是错误。指定的最后一个标志确定命令拟稿将演示的操作。标志-f禁止除用法消息之外的所有错误消息。-h更改遇到的符号链接的所有权,而非符号链接指向的文件或目录的所有权。 当遇到符号链接而您未指定 -h 标志时,chown 命令更改链接指向的文件或目录的所有权,而非链接本身的所有权。如果指定 -R 标志,chown 命令递归地降序指定的目录。-H如果指定了 -R 选项,并且引用类型目录的文件的符号链接在命令行上指定,chown 变量会更改由符号引用的目录的用户标识(和组标识,如果已指定)和所有在该目录下的文件层次结构中的所有文件。-L如果指定了 -R 选项,并且引用类型目录的文件的符号在命令行上指定或在遍历文件层次结构期间遇到,chown 命令会更改由符号链接引用的目录的用户标识(和组标识,如果已指定)和在该目录之下的文件层次结构中的所有文件。-P如果指定了 -R 选项并且符号链接在命令行上指定或者在遍历文件层次结构期间遇到,则如果系统支持该操作,则 chown 命令会更改符号链接的所有者标识(和组标识,如果已指定)。chown 命令不会执行至文件层次结构的任何其它部分的符号链接。-R递归地降序目录,更改每个文件的所有权。当遇到符号链接并且链接指向目录时,更改该目录的所有权,但不进一步遍历目录。不过 -h、-H、-L or -P 标志也未指定,则当遇到符号链接并且该链接指向到目录时,该目录的组所有权更改但不会进一步遍历目录。安全性访问控制:此程序应该作为“可信计算基”中的正常用户程序安装。退出状态该命令返回以下出口值:0命令执行成功并已执行所有请求的更改。>0发生错误。
Ⅳ Linux操作系统文件访问权限详解
一直以root登陆使用linux的人来说很少有权限被拒这种概念,但某些时候又深受权限拒绝困扰。知道为什么很多程序中需要使用getuid(),setuid()?为什么以普通权限登陆的用户不能进入/root,为什么在/目录下执行ls -l后可以显示root的信息,但ls /root -al却是权限不够?为什么有些文件夹可以继续创建文件,但就是不能ls?等等,相信看了此文就能明白。主要是学习笔记,不足之处请指正。CentOS 5.4 [[email protected] opt]$ uname -a Linux xxx 2.6.18-164.el5xen #1 SMP Thu Sep 3 04:47:32 EDT 2009 i686 i686 i386 GNU/Linux一、口令文件1,格式存储文件/etc/passwd,格式如下:root:x:0:0:root:/root:/bin/bash aaa:x:501:501:bj, bj, 8111111,136000111:/home/aaa:/bin/bash用户名:加密密码:用户ID:组ID:注释:工作目录:shell:默认情况是第一行的格式;注释字段可以自行修改,用逗号隔开,如第二行格式,这主要是给finger命令使用时可解析。可以vi /etc/passwd修改,但为了保证其格式的正确性,请用vipw命令编译此文件。sh-3.2# finger aaa Login: aaa Name: bj Directory: /home/aaa Shell: /bin/bash Office: bj, 8111111 Home Phone: 136000111 Never logged in. No mail. No Plan.2,编程实例/*getpwnam_pwuid.c*/ #include #include #include int main(void){ //struct passwd *pwd = getpwnam("aaa");struct passwd *pwd = getpwuid(501);if(pwd == NULL){ printf("err.\n");return 1;}printf("name:%s\n", pwd->pw_name);printf("passwd:%s\n", pwd->pw_passwd);printf("description:%s\n", pwd->pw_gecos);printf("uid:%d\n", pwd->pw_uid);printf("gid:%d\n", pwd->pw_gid);printf("dir:%s\n", pwd->pw_dir);printf("shell:%s\n", pwd->pw_shell);return 0;}sh-3.2# gcc getpwnam_pwuid.c -o app sh-3.2# ./app name:aaa passwd:x description:bj, bj, 8111111,136000111 uid:501 gid:501 dir:/home/aaa shell:/bin/bash二、组文件1,格式存储文件/etc/group,格式如下root:x:0:root bin:x:1:root,bin,daemon aaa:x:501:组名:加密密码:组ID:指向的各用户名2,改变文件uid和gid.sh-3.2# pwd /root/study sh-3.2# ls -al -rw-r——r—— 1 root root 397 10-11 03:23 test.cchgrp 改变所属组ID,当然只有root权限才可以修改。sh-3.2# chgrp aaa test.c sh-3.2# ls -al -rw-r——r—— 1 root aaa 397 10-11 03:23 test.c这个aaa就是新组名,其在/etc/group中,可以通过adser aaa自行添加sh-3.2# cat /etc/group root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon.gdm:x:42:sabayon:x:86:plmtest:x:500:aaa:x:501:chown 改变用户ID或组ID sh-3.2# chown aaa:aaa test.c sh-3.2# ls -al -rw-r——r—— 1 aaa aaa 397 10-11 03:23 test.c3,编程实例/*getgrnam.c*/ #include #include int main(int argc, char *argv[]){ if(argv[1] == NULL){ printf("input error.\n");return 1;}struct group *gp = getgrnam(argv[1]);if(gp == NULL){ printf("err.\n");return 1;}printf("name:%s\n", gp->gr_name);printf("psswd:%s\n", gp->gr_passwd);printf("gid:%d\n", gp->gr_gid);int i;for(i = 0; gp->gr_mem[i] != NULL; i++){ printf("group name:%s\n", gp->gr_mem[i]);}return 0;}sh-3.2# gcc getgrnam.c -o app sh-3.2# ./app bin name:bin psswd:x gid:1 group name:root group name:bin group name:daemon 4,文件权限不细讲了sh-3.2# ls -al总计 483984 drwxr-x—— 13 root root 4096 02-22 00:01 . drwxr-xr-x 32 root root 4096 02-21 21:15 ……-rw-r——r—— 1 root root 464023491 10-25 22:33 3.3.005-080425.tgz -rw—— 1 root root 9346 02-21 23:16 .bash_history -rw-r——r—— 1 root root 24 2007-01-06 .bash_logout -rw-r——r—— 1 root root 191 2007-01-06 .bash_profile -rw-r——r—— 1 root root 176 2007-01-06 .bashrc drwxrwxrwx 10 1000 users 4096 08-23 20:16 cflow-1.3 -rw-r——r—— 1 root root 759691 08-23 20:13 cflow.tar.gz -rw-r——r—— 1 root root 100 2007-01-06 .cshrc -rwxr-xr-x 1 root root 582 11-11 21:48 delete_M.sh -rw-r——r—— 1 root root 2518 11-11 20:25 .dir_colors主要是最左边一列:drwxr-x——10个字符,最左边是文件类型,-默认为普通文件;d:目录文件;l符号链接……后面9个,3个一组共三组,分别表示所属用户uid的权限;所属组或者附属组gid的权限;其它权限。三个字符分别是读、写、执行权限读4,写2, 执行1所以chmod 777 test.c,提升到读、写、执行权限。5,组权限操作实例此节演示相同组的成员之间共享资源,即不同uid但相同gid的用户共享同一组的资源。为了方便起见,我同时开了两个终端。"sh-3.2#"以root权限登陆的shell /bin/sh "[[email protected] root]"以testa用户登陆的shell注:下文提到的“用户”是指/etc/passwd里定义的通过终端登陆的用户(此文即以下增加的三个账号名)。sh-3.2# useradd testa sh-3.2# useradd testb sh-3.2# useradd testcsh-3.2# tail -f /etc/passwd -n 4 sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin testa:x:500:500::/home/testa:/bin/bash testb:x:501:501::/home/testb:/bin/bash testc:x:502:502::/home/testc:/bin/bash再开一个终端登陆testa,之前那个终端保持。sh-3.2# su testa [[email protected] root]$ id uid=500(testa) gid=500(testa) groups=500(testa)[[email protected] home]$ ls -al总计 28 drwxr-xr-x 5 root root 4096 02-21 22:52 . drwxr-xr-x 32 root root 4096 02-21 21:15 ……drwx—— 3 testa testa 4096 02-21 22:56 testa drwx—— 3 testb testb 4096 02-21 22:48 testb drwx—— 3 testc testc 4096 02-21 22:52 testc[[email protected] home]$ cd testb bash: cd: testb: 权限不够通过root修改testb目录权限为770,即当前uid或者gid相同的用户均有读写执行权限。sh-3.2# cd /home/ sh-3.2# chmod 770 testb[[email protected] home]$ ls -al总计 28 drwxr-xr-x 5 root root 4096 02-21 22:52 . drwxr-xr-x 32 root root 4096 02-21 21:15 ……drwx—— 3 testa testa 4096 02-21 22:56 testa drwxrwx—— 3 testb testb 4096 02-21 22:48 testb (here modify)drwx—— 3 testc testc 4096 02-21 22:52 testc[[email protected] home]$ cd testb bash: cd: testb: 权限不够[[email protected] root]$ id uid=500(testa) gid=500(testa) groups=500(testa)此时虽然开放了testb的所属组权限,但用户testa的gid=500(testa) groups=500(testa),它还不属于testb组。下面修改testa的gid为testb(或者增加其附属组groups值为testb)sh-3.2# usermod -G testb testa (增加用户testa的附属组testb)sh-3.2# id testa uid=500(testa) gid=500(testa) groups=500(testa),501(testb)此时testa终端需要重新登下,使刚才更改生效[[email protected] root]$ exit exit [[email protected] ~]# su testa [[email protected] root]$ id uid=500(testa) gid=500(testa) groups=500(testa),501(testb)[[email protected] root]$ cd /home/ [[email protected] home]$ ls -al总计 28 drwxr-xr-x 5 root root 4096 02-21 22:52 . drwxr-xr-x 32 root root 4096 02-21 21:15 ……drwx—— 3 testa testa 4096 02-21 22:56 testa drwxrwx—— 3 testb testb 4096 02-21 22:48 testb drwx—— 3 testc testc 4096 02-21 22:52 testc [[email protected] home]$ cd testb [[email protected] testb]$ pwd /home/testb以上是增加了用户testa的附属组testb,使其对于属于testb组的资源有了访问权限。下面再使用newgrp切换用户testa的gid.[[email protected] testb]$ id uid=500(testa) gid=500(testa) groups=500(testa),501(testb)[[email protected] testb]$ newgrp testb [[email protected] testb]$ id uid=500(testa) gid=501(testb) groups=500(testa),501(testb)此时testa用户的gid已改为501(testb)。组之前的关系在文件/etc/group sh-3.2# tail -f /etc/group -n 4 sabayon:x:86:testa:x:500:testb:x:501:testa (最后一列:组内用户列表。即组testb里包含testa,testa属于testb组,大概就这意思吧……)testc:x:502:虽然知道控制组关系的文件,但不能直接修改些文件,否则执行newgrp时会出现"抱歉"错误提示。当然root用户权限是无限制的,它访问文件时不需要进行权限检查。三、相关系统调用getuid();getgid();int setuid(uid_t uid);int setgid(gid_t gid);只有超级用户或者需要设置的uid和当前用户的uid一致才可以设置,否则返回-1,置errno = EPERM, errno可以通过strerror()翻译。其它:[[email protected] home]$ su testa [[email protected] home]$ sudo touch aatesta is not in the sudoers file. This incident will be reported.以root权限vim /etc/sudoers增加testa ALL=(ALL) ALL参考:APUE2E,1.8, 4.4, 8.11
Ⅳ linux怎么给文件权限
可以使用 chmod 命令给文件设置不同的权限。例如:chmod 765 filename其中:7–4+2+1,文件所有者权限,可读、可写、可执行;6–4+2,同组用户权限,可读、可写;5–4+1,其它用户权限,可读、可执行。
Ⅵ linux文件权限命令
有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。例如:
$ ls-l sobsrc.tgz
-rw-r–r–1root root483997Ju1l517:3lsobsrc.tgz
横线代表空许可。r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。例如:
– rw- r– r–
普通文件 文件主 组用户 其他用户
是文件sobsrc.tgz 的访问权限,表示sobsrc.tgz是一个普通文件;sobsrc.tgz的属主有读写权限;与sobsrc.tgz属主同组的用户只有读权限;其他用户也只有读权限。
确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。
下面分别对这些命令加以介绍。
chmod 命令
chmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。
以主文件夹下的一个名为“cc”的文件夹为例。下面一步一步介绍如何修改权限:
1.打开终端。输入”su”(没有引号)
2.接下来会要你输入密码,输入你的root密码。
3.假设我的文件夹在主目录里,地址为 /var/home/dengchao/cc 。假设我要修改文件权限为777,则在终端输入 chmod 777 /var/home/userid/cc 文件夹的权限就变为了777。
如果是修改文件夹及子文件夹权限可以用 chmod -R 777 /var/home/userid/cc
具体的权限(例如777的含意等)在下面解释下:
1.777有3位,最高位7是设置文件所有者访问权限,第二位是设置群组访问权限,最低位是设置其他人访问权限。
其中每一位的权限用数字来表示。具体有这些权限:
r(Read,读取,权限值为4):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目 录的权限。
w(Write,写入,权限值为2):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
x(eXecute,执行,权限值为1):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。
2. 首先我们来看如何确定单独一位上的权限数值,例如最高位表示文件所有者权限数值,当数字为7时,7用“rwx”表示 –{4(r)+2(w)+1(x)=7}–又如果数值为6,则用“rw-”表示–{4(r)+2(w)+0(x)=6}–,”-”表示不具备权限,这里表 示不具备“执行”权限。
假如我们设定其他用户的访问权限为 “r–”,则数值为4+0+0=4
一开始许多初学者会被搞糊涂,其实很简单,我们将rwx看成二进制数,如果有则用1表示,没有则有0表示,那么rwx则可以表示成为:111
而二进制的111就是7。
3.我们再来看下怎么确定3个数位上的权限。假如我们要给一个文件设置权限,具体权限如下:
文件所有者有“读”、“写”、“执行”权限,群组用户有“读”权限,其他用户有“读”权限,则对应的字母表示为”rwx r– r–“,对应的数字为744
一般都是最高位表示文件所有者权限值,第二位表示群组用户权限,最低位表示其他用户权限。
下面来举些例子熟悉下。
权限 数值
rwx rw- r– 764
rw- r– r– 644
rw- rw- r– 664
该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
1. 文字设定法
chmod [who] [+ | – | =] [mode] 文件名¼
命令中各选项的含义为:
操作对象who可是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是:
+ 添加某个权限。
– 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行。
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
t 保存程序的文本到交换设备上。
u 与文件属主拥有一样的权限。
g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。
-c:若该档案权限确实已经更改,才显示其更改动作
-f:若该档案权限无法被更改也不要显示错误讯息
-v:显示权限变更的详细资料
-R:对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
–help:显示辅助说明
–version:显示版本
文件名:以空格分开的要改变权限的文件列表,支持通配符。在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r example使同组和其他用户对文件example 有读权限。
例1:
$ chmod a+x sort
即设定文件sort的属性为:
文件属主(u) 增加执行权限
与文件属主同组用户(g) 增加执行权限
其他用户(o) 增加执行权限
例2:
$ chmod ug+w,o-x text
即设定文件text的属性为:
文件属主(u) 增加写权限
与文件属主同组用户(g) 增加写权限
其他用户(o) 删除执行权限
例3:
$ chmod u+s a.out
假设执行chmod后a.out的权限为(可以用ls – l a.out命令来看):
–rws–x–x1inin users7192Nov414:22a.out
并且这个执行文件要用到一个文本文件shiyan1.c,其文件存取权限为“–rw——-”,即该文件只有其属主具有读写权限。
当其他用户执行a.out这个程序时,他的身份因这个程序暂时变成inin(由于chmod命令中使用了s选项),所以他就能够读取shiyan1.c这个文件(虽然这个文件被设定为其他人不具备任何权限),这就是s的功能。
因此,在整个系统中特别是root本身,最好不要过多的设置这种类型的文件(除非必要)这样可以保障系统的安全,避免因为某些程序的bug而使系统遭到入侵。
例4:
$ chmod a–x mm.txt
$ chmod–x mm.txt
$ chmod ugo–x mm.txt
以上这三个命令都是将文件mm.txt的执行权限删除,它设定的对象为所有使用者。
2. 数字设定法
我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。
数字设定法的一般形式为:chmod [mode] 文件名¼
例1:
$ chmod644mm.txt
$ ls–l
即设定文件mm.txt的属性为:
-rw-r–r–1inin users1155Nov511:22mm.txt
文件属主(u)inin 拥有读、写权限
与文件属主同组人用户(g) 拥有读权限
其他人(o) 拥有读权限
例2:
$ chmod750wch.txt
$ ls–l
-rwxr-x—1inin users44137Nov129:22wchtxt
即设定wchtxt这个文件的属性为:
文件主本人(u)inin 可读/可写/可执行权
与文件主同组人(g) 可读/可执行权
其他人(o) 没有任何权限
chgrp命令
功能:改变文件或目录所属的组。
语法:chgrp[选项] group filename¼
参数:
-c或–changes 效果类似”-v”参数,但仅回报更改的部分。
-f或–quiet或–silent 不显示错误信息。
-h或–no-dereference 只对符号连接的文件作修改,而不更动其他任何相关文件。
-R或–recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v或–verbose 显示指令执行过程。
–help 在线帮助。
–reference=<参考文件或目录> 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。
–version 显示版本信息。
该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
该命令的各选项含义为:
– R 递归式地改变指定目录及其下的所有子目录和文件的属组。
例1:
$chgrp-R book/opt/local/book
改变/opt/local /book/及其子目录下的所有文件的属组为book。
chown命令
功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户yusi,为了让用户yusi能够存取这个文件,root用户应该把这个文件的属主设为yusi,否则,用户yusi无法存取这个文件。
语法:chown[选项] 用户或组 文件
说明:chown将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。
参数说明:
user : 新的档案拥有者的使用者 ID
group : 新的档案拥有者的使用者群体(group)
-c : 若该档案拥有者确实已经更改,才显示其更改动作
-f : 若该档案拥有者无法被更改也不要显示错误讯息
-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案
-v : 显示拥有者变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)
–help : 显示辅助说明
–version : 显示版本
例1:把文件yusi123.com的所有者改为yusi。
$chownyusi yusi123.com
例2:把目录/demo及其下的所有文件和子目录的属主改成yusi,属组改成users。
$ chown-R yusi.users/demo
例如:chown qq /home/qq (把home目录下的qq目录的拥有者改为qq用户)
例如:chown -R qq /home/qq (把home目录下的qq目录下的所有子文件的拥有者改为qq用户)
Ⅶ Linux 文件夹权限
drwxr-xr-x中的第一位(左数)表示当前目录是目录还是文件,d表示目录,-表示普通文件.后面9位分为3组,每3组作为1组,从左到右分别表示文件属主,文件属组,和其他所有用户的权限.r表示文件可读,w表示文件可写,x表示文件可以执行.用命令chmod改变文件权限.有两种第一种chmod(ugoa)(=-+)(rwx)fileu代表文件属主,g代表文件属组,o代表系统中除属主和属组成员之外的其他用户,a代表所有用户(u,g,o)总和+代表增加相应的权限,-代表减少相应的权限,=代表只有相应的权限chmodg-wfile就可以完成上面那个文件的权限改正.第二种用数字改正,r为4,w为2,x为1把数字相加就是所对应的权限,不如rwx就是7,rw就是6改正上面问题的权限方法为chmod775file就行了
Ⅷ linux中文件权限
linux权限分为 读 写 执行 1 2 4 例如755权限就是 用户读写执行权限都有 所属组有 执行和读权限 其他用户也有 执行和读权限 具体可以看看《linux就该这么学》
Ⅸ linux显示文件权限命令
用ls -l也可以查看到这几个文件的权限.看其中的assets文件一共有十位数,其中:最前面那个 – 代表的是类型中间那三个 rwx 代表的是所有者(user)拥有的权限然后那三个 rwx 代表的是组群(group)拥有的权限最后那三个 rwx 代表的是其他人(other)拥有的权限r 表示文件可以被读(read)w 表示文件可以被写(write)x 表示文件可以被执行(如果它是程序的话)-表示相应的权限还没有被授予
未经允许不得转载:山九号 » linux使用说明文件权限|如何设置linux的文件和目录的权限