Linux怎么把目录设置群组,linux设置目录和文件使用权限

ext2fs文件系统中的目录及文件,可依实际需要来设置可读取、可写入与可执行等权限。以下我们就来了解文件和目录的权限设置。

ext2fs文件系统中的目录及文件,可依实际需要来设置可读取、可写入与可执行等权限。以下我们就来了解文件和目录的权限设置,首先请执行ls –l指令,看看现在的状况:

lrwxrwxrwx 1 root root 10 Aug 18 …………

权限标识代号 拥有者 群组名称 文件与目录的相关信息

权限的意义

当执行ls –l 或ls –al 指令时所显示的结果,最前面第2-10字符是用来标识权限,第1个字符一般用于区别文件和目录:

d:表示这是一个目录,事实上在ext2fs中,目录是一种特殊的文件。

-:表示这是一个普通的文件;

l:表示这是一个符号链接的文件,实际上它指向另一个文件,详细第13-5节。

b、c:分别代表区块设备和其它的外围设备,是特殊型态的文件。

S、p:这些文件关系到系统的数据结构和管线,通常很少见到。

一般权限

第2-10字符当中每3个为一组,左边3个字符拥有者权限,中间3个字符夫示与拥有者同一群组的用户之权限,右边3个字符是其他用户的权限。关于这3个一组共9个字符,其代表意义如下:

r(Read,读取):对文件而言该用户具有读取文件内容的权限;对目录来说该用户有具有浏览目录内容的权限;

w(Write,写入):对文件该用户具有新增、修改文件内容的权限;对目录来说该用户具有删除、移动目录内文件的权限。

x(eXecute,执行):对文件而言该用户具有执行文件的权限,对目录来说该用户具有进入目录的权限。

-:表示不具有该项权限。

我们举些范例说明会更清楚:

-rwx- - - - - -:文件拥有者对文件具读取、写入与执行的权限。

-rwxr- -r- -:文件拥有者具有读、写与执行的权限;同群组及其它用户则具有读取的权限。

-rw-rw-r-x:文件拥有者与同群组的用户对文件具有读写的权限,而其他用户仅具有读取和执行的权限。

drwx- -x- -xx:目录拥有者具有读写与进入目录的权限,同群组及其他用户仅能进入该目录,却无法读取任何数据。

drwx- - - - - -:除了目录拥有者具有完整的权限之外,其他用户对该目录没有任何权限。

在前一章提到每个用户都应拥有自己的专属目录,通常集中放置于/home目录下,这些专属目录的默认权限为:

请注意上面kdeuser、linuxCon和UserAdd用位用户用不一样的方式新增用户帐号,默认权限会有所不同。如果您linuxCon程序或执行useradd指令,默认的权限是“rwx- - - - - -”,假若使用Kuer程序来建立帐号,则默认权限变成“rwxr-xr-x”。前者表示目录拥有者本身具备所有权限,而同群组与其他用户无法进入该目录。后者代表群组与其他用户权具有进入目录的权限,却无法得知里面有哪些文件。

Root帐号执行mkdir指令所建立的目录,其权限默认为“rwxr-xr-x”,其它帐号的用户执行该指令建立之目录,默认的权限是“rwxrwxr-x”。你可以视实际需求而定,去变更目录的权限。

此外,默认的权限可用umask指令更改,用法非常简单,只需umask 777指令,便代表遮蔽所有的权限,因而之后建立的文件或目录其权限会变成000,依此类推,通常root帐号搭配的数值为027、022与077,一般用户则是采用002,这样所产生的权限依序是755、750、700和775。有关权限的数值标识法,后面将会详细说明。

(注意:umask无法遮蔽特殊权限,关于特殊的信息,请见后面)

在用户登入系统时,用户环境就会自动umask指令,来决定文件、目录之默认权限,这个部份的相关设置位于/etc/profile文件里。

现行目录与上层目录

“.”和“..”是做什么用的?相信用过dos的用户都很清楚,经常到处ftp的用户也熟悉。前者代表这个目录,后者代表上一层目录。这部份在很多操作系统里都是一样。

需要留意Unix之类的操作系统采用绝对路私径,换成dos的讲法来说明,就是当用户招待一个程序时,系统会去搜索path、append所指定的路径,而不会寻找现有所处的目录是否有这个程序。用户要执行现行目录中的程序,必须在程序前面标明./或干脆指出完整的路径。

特殊权限

其实文件与目录的权限设置不只如此,还有所谓的特殊权限存在。由于特殊权限会拥有一些“特权”,因而用户若无特殊需要,不应该去打开这些权限,避免安全方面出现严重漏洞、甚至摧毁系统。

s或S(SUID,setUID):一个可执行的文件搭配这个权限,该文件便能得到特权,任意存取该文件拥有者能使用的全部系统资源。注意具备SUID权限的文件,怪客经常利用这种特性,以SUID配上root帐号拥有者,无声无息地在系统里开扇后门,供日后进出使用。

s或S(SUID,setGID):套用在文件上面,其效果和SUID相同,只不过将文件拥有者换成群组,该文件就可以任意存取整个群组所能使用的系统资源。套用在目录上面,则所有被复制到这个目录下的文件,其所属的群组都会被重设为和这个目录一样,除非在复制文件时加上-p(preserve,保留文件属性)的参数,。才能保留原来所属的群组设置。

t或T(sticky,粘着):曾提到/tmp和/var/tmp两个目录,开放供所有用户暂时存放文件,亦即每位用户都拥有完整的权限进入该目录,去浏览、删除和移动文件。假使碰到某位用户存心搞鬼,恣意乱删其他用户放置的文件。暂存目录将形同危险地带,造成没有任何用户能够安心利用这些目录。我们把暂存目录的sticky权限找开之后,存放在该目录的文件,仅准许其拥有者去删除、移动它,避免不守法的用户之无故骚扰。假使对文件启用这个权限,则该文件的最后更新时间(last modified time)将不会改变。

注意:Linux系统下“执行文件”其扩展名毋须非.exe不可,只要加上可执行的权限,该文件就是执行文件。Linux也没有隐藏属性、系统属性的问题,在权限许可下什么都能够看到。

因为SUID、SGID、Sticky占用X的位置来表示,所以在表示上有大小写之分,假若同时设打开执行权限和SUID、SGID与Sticky,权限标识字符是小写的形式:

-rwsr-sr-t 1 root root 9Aug 19 21:47 showme

倘若关闭执行的权限,则标识字符会变成大写:

-rwSr-Sr-T 1 root root 9Aug 19 21:47 showme

改变权限

要更改文件或目录的权限,有多种方法可以选择,下面我们将一一介绍。

文件管理员

在linux中,图形界面的文件管理员能够轻易地改变文件、目录的权限,无讼使用GNOME的gmc或KDE的kfm都可:

方法:在要改变的文件和目录上面点击右键/属性/权限

数字改变法

文件或目录的权限标识,是用“rwx”这3个字符重复3次形成9个字符,分别代表拥有者、群组和其他用户的权限。有些时候9个字符似乎过于麻烦,因此还有另外一种方法,是以数字来表示权限,而且仅需3个数字就能搞定。

r:对应数值为4;

w:对应数值为2;

x:对应数值为1;

-:对应数值为0。

遵循上述法则,“rwx”合起来就是4+2+1=7,一个“rwxrwxrwx”权限全开的文件,它的数字标识为“777”;而完全不开放的权限文件“- - - - - - - - - ”,它的数值标识为“000”。下面我们举几个例子说明:

-rwx- - - - - :等于数字标识700;

-rwxr- -r- - :等于数字标识744;

-rw-rw-r-x:等于数字标识665;

drwx- -x- -x:等于数字标识711;

drwx- - - - - -等于数字标识700。

文字模式下可执行chmod指令去改变文件与目录的权限,我们先执行ls –l指令观察目录的情况。

执行下列指令更改nohup.out文件的权限:

[*@* *]$chmod 777 nohup.out 将权限改为777

[*@* *]$ ls –l 再观察一次目录

我们可以看到nohup.out文件的权限已经更改为“rwxrwxrwx”。

假若要加上特殊权限,就必须使用4位数字方能表示。特殊权限的对应数值为:

s或S(SUID):对应数值为4。

s或S(SGID):对应数值为2。

t或T:对应数值为1。

用同样的方法更改文件权限即可。

文字改变法

除了数字表示可以更改权限之外,还能使用文字表示法去设置权限。第2-10字符亦能以“rwx”每3个一组,分别用“u”“g”与“o”来表示:

用chmod指令配合文字参数就能改变权限设置,下面举例说明:

“u+rw”:赋予文件拥有者读取和写入的权限。

“g-x”:将同群组用户的执行权限取消。

“g+x,o+rx”:赋予同组用户执行的权限,共他用户读取、执行之权限。

“u+rwx,g-w,o-w”打开文件或目录拥有者完整的权限,并且关闭同群组其用户的执行权限。

“o=rx”: 赋予其他用户读取和执行的权限。

“ugo+x”或“a+x”:同时打开拥有者、群组、其他用户的执行权限,“ugo”可以合称为“a”

“+x”:和“ugo+x”、“a+x”的意义相同,没有指定u、g、o或a时,即代表全部。

“o+T”:打开sticky特殊权限。

“u+s,g+s”打开SUID和SGID特殊权限。

假若想一次更改某个目录下的所有文件权限,包括子目录中的文件权限也要更改,请使用参数-R表示运行递归处理,有无递归处理的差别在于:

chmod 777 cassia TEST:仅把cassia TEST目录的权限改为“rwxrwxrwx”。

Chmod –R 777 cassia TEST:将整个cassia TEST目录与世隔绝当中的文件和子目录之权限统统改成“rwxrwxrwx”。

Chmod指令

Chmod指令可用来把文件或目录移转给其他的用户或群组,执行的指令格式为:

[*@* *]# chmod “指定该文件的拥有者”. “指定该文件所属的群组” “文件”

只要变更拥有者,请执行[*@* *]# chmod “指定该文件的拥有者” “文件”;仅需变换所属群组,则执行[*@* *]# chmod “指定该文件所属的群组

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525997.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux异常关机内存,linux关机及问题解决

一般linux关机会用到的命令就是shutdown命令shutdown命令在执行的时候会自动去调用sync这个工具,这个工具的作用是把内存里面的东西写入硬盘。不过为了安全,一般我们在执行shutdown命令的时候都用去执行几次sync这个命令。shutdown -k noticesshutdown -…

linux查看redis内存,Linux查看redis占用内存的方法

redis-cliauth 密码info# Memoryused_memory:13490096 //数据占用了多少内存(字节)used_memory_human:12.87M //数据占用了多少内存(带单位的,可读性好)used_memory_rss:13490096 //redis占用了多少内存used_memory_peak:15301192 //占用内存的峰值(字节)used_memor…

linux子进程父进程例子,linux 子进程访问父进程

问题分析ECS Linux 系统下 Apache 的默认工作模式是 prefork MPM,使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接,效率高,但内存占用量比较大。如果不做调整,访问量增大可能造成 A…

linux 查看进程的信号,Linux 进程信号查看与控制

Linux 进程信号查看与控制1) SIGHUP 本信号在用户终端连接 (正常或非正常) 结束时发出通常是在终端的控制进程结束时通知同一 session 内的各个作业这时它们与控制终端不再关联?2) SIGINT 程序终止 (interrupt) 信号在用户键入 INTR 字符 (通常是 Ctrl-C) 时发出?3) SIGQUIT …

linux查看发起ddos攻击的ip,在Linux上使用netstat命令查证DDOS攻击的方法

导读DOS攻击或者DDOS攻击是试图让机器或者网络资源不可用的攻击。这种攻击的攻击目标网站或者服务通常是托管在高防服务器比如银行,信用卡支付网管,甚至根域名服务器。服务器出现缓慢的状况可能由很多事情导致,比如错误的配置,脚本…

linux还原windows,双系统如何删除Linux,恢复Windows从  MBR引导启动?

双系统如何删除Linux,恢复Windows从MBR引导启动?现在愿意尝试Linux的人越来越多了。通常,如果一台电脑里已经装有了Windows,再装Linux,安装时,Linux的grub引导程 序就会覆盖掉保存在MBR当中的原来的Windows…

linux ftp下载函数函数,FTP下载的函数

最近写的一个到指定FTP下载服务器上下载的函数,主要用到类有CInternetSession,CFtpConnection具体内容看代码吧,这个不能的!虽然很简单,不值得往外写,但我想收藏起来留着以后用也是很有意义的。/*********************…

linux应用程序逆向,Linux下查看并下载命令源码包(根据命令/应用程序逆向获取并且安装其所属源码包)...

使用linux的过程中,我们会熟悉各种命令,偶尔我们不禁会问,这些命令是怎么实现的,学习他们其实是学习linux高级系统编程很快捷的方法。这些命令的源码肯定是存放在相应的包里面,但是是哪些包呢?发行版的包管…

linux路由信息预览为空,route - 显示并设置Linux中静态路由表

补充说明route命令 用来显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中设置路由通常是为了解决以下…

linux maven自动构建,Centos7.3+Jenkins+Git+Maven 自动化构建部署项目

第一步 禁止 SELINUX 访问控制修改配置之前先备份(良好习惯)sudo cp /etc/selinux/config /etc/selinux/config.bak备份后,修改selinux配置sudo vi /etc/selinux/config将SELINUXenforcing改为SELINUXdisabled第二步 卸载系统自带的OpenJDK以及相关的java文件 安装J…

linux windows变色龙,体验开源变色龙SUSE Linux Enterprise Server 11

体验开源变色龙SUSE Linux Enterprise Server 11SUSE Linux Enterprise Server 11主要针对的是企业用户,SUSE产品分为SUSE Linux Enterprise Desktop(SLED)和SUSE Linux Enterprise Server(SLES)两个版本。笔者测试的版本为Server版本,主要面向SMB甚至是…

c语言简单编程题模板,C语言编程题,比较简单

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include #include int main(){int mark0,falut0;float answer0,k1;char m;int n;int i1;float timu(char q);float re(float a,float b,char h);printf("please input the number of the question you want to answer and th…

c语言建立顺序表 存储并输出,请教数据结构课程中怎么建立顺序表,显示,输出,从头到尾详细点最好加讲解,希望大家能帮这个小忙...

#include#define MAXSIZE 20typedef int ElemType;typedef struct{ElemType elem[MAXSIZE];int length;}SqList;//顺序表结构定义void InitList(SqList &L){//初始化函数//操作结果:构造一个空在顺序线性表 L.length0;return;}void ClearList(SqList &L){//…

杭州师范大学c语言程序设计机试,2016年杭州师范大学杭州国际服务工程学院程序设计基础考研复试题库...

一、选择题1. C 语言源程序名的后缀是( )A.C B.exe C.obj D.cp 答:A 【解析】C 语言源程序名的后缀为.C2. 以下选项中不合法的标识符是A.printB.FORD._00 答:C【解析】标识符是由若干个字符组成的字符序列,用来命名程序的一些实体。语法规则为…

在c语言中关于静态变量的说法正确的有,关于static变量,请选择下面所有说法正确的内容。...

static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例&…

c语言数组下标越界检查程序,数组下标越界

已结贴√问题点数:20 回复次数:11数组下标越界题目是一个有10个元素的数组,存有10个考生的分数,写5个函数,分别计算总分,最高分,最低分,平均分,分数升序排列。我写了5函数…

c语言标准整形,C语言整形数值范围问题

有符号二进制数的表示是这样的&#xff1a;如果计算机的字长为n位&#xff0c;n位二进制数的最高位为符号位。其余n-1位为数值位&#xff0c;采用补码表示法时&#xff0c;可表示的数X的范围是 -2的(n-1)次幂 < X < 2的(n-1)次幂-1。如果字长是16位&#xff0c;补码表示的…

c语言switch comiti,国际经济学作业复习资料第三章.docx

Chapter 3 Labor Productivity and Comparative Advantage —The Ricardian Model■ Multiple Choice QuestionsCountnes trade with each other because they areand because of.different, costssinular, scale economiesdifferent, scale economiessimilar, costsNone of th…

c语言变长参数 第一个参数必须吗,一种使用变长参数为C程序构造灵活回调函数的方法...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼int twice(void *arg, va_list ap){apply_func *func va_arg(ap, apply_func *);int status func(arg, ap);if (status > 0)status func(arg, ap);return status;}twice函数接收一个函数func和它的参数(注意func的参数以奇怪…

已知函数func的C语言代码框架,第三章习题-ddg..doc

第三章习题-ddg.习 题1&#xff0e; 给出以下概念的解释说明。机器语言程序机器指令汇编语言汇编指令汇编语言程序汇编助记符汇编程序反汇编程序机器级程序通用寄存器定点通用寄存器栈指针寄存器指令指针寄存器标志寄存器条件标志(条件码)控制标志寻址方式立即寻址寄存器寻址存…