`

CentOS的文件权限与目录配置

阅读更多

原文:http://www.centoscn.com/CentOS/config/2013/1030/2016.html

http://www.centoscn.com/CentOS/help/2013/0725/597.html (Centos 建立一个新用户 详细讲解)

 

1.

Linux一般将文件可存取访问的身份分为3个类别,分别是owner、group、others,且3种身份各有read、write、execute等权限。

2.

每个账号都可以有多个用户组支持。

3.

/etc/passwd,默认情况下所有系统上的账号与一般身份用户还有root的相关信息,都记录在这个文件夹中。

/etc/shadow,个人密码记录在这个文件夹中。

/etc/group,所有的组名记录在这个文件夹中。

 

6.2 Linux文件权限概念

 

6.2.1 Linux文件属性

1.

$ls -al,ls是“list”的意思,重点在显示文件的文件名与相关属性。参数“-al”则表示列出所有的文件详细权限与属性(包含隐藏文件,就是文件名第一个字符为“.”的文件)

2.

显示的每一行会有如下格式,例如:

-rw-r--r--        1           root           root          42304          Sep 4 18:26        install.log,分别表示:

权限          连接        所有者         用户组        文件容量          修改日期             文件名

3.

权限-rw-r--r--中拥有10个字符,分别代表如下:

第1个字符代表文件的类型。“d”代表目录,“-”代表文件,“l”代表链接文件(linkfile),“b”表示设备文件里面的可供存储的接口设备,“c”表示设备文件里面的串行端口设备,例如鼠标键盘(一次性读取设备)。

接 下来的字符,以3个为一组,且均为“rwx”的3个参数组合,“r”表示可读,“w”表示可写,“x”表示可执行(execute),这三个权限的位置不 会改变,如果没有权限,则以减号“-”代替。第一组为文件所有者的权限,第二组为同用户组的权限,第三组为其他非本用户组的权限。

4.

2.中的“链接”表示有多少文件链接到此节点(i-node)。每隔文件都会将它的权限与属性记录到文件系统的i-node中,每个文件都会链接到一个i-node。这个属性记录的就是有多少个不同的文件名连接到相同的一个i-node号码。

5.

2.中的“修改日期”表示这个文件的创建日期或最近修改的日期。如果年份太久则只会显示年份。想要显示完整的时间格式,则可使用如下指令(ls的参数):

$ls -l --full-time

6.

修改系统默认语言为英文,可以管理员身份修改该系统配置文件/etc/sysconfig/i18n,利用nano编译器进行修改,LANG=en_US。

#nano /etc/sysconfig/i18n,将LANG后面改为“en_US……”

7.

对于目录的权限如果是“-drwxr-xr--”,则others仍然不能进入本目录,需要有x权限才能进入。

 

6.2.2如何改变文件属性与权限

1.

chgrp,改变文件所属用户组;

chown,改变文件所有者;

chmod,改变文件的权限。

2.

chgrp就是change group的简称,使用该指令时,要被改变的组名必须在/etc/group文件内存在才行。

#chgrp [-R] group filename(or dirname),其中R表示进行递归(recursive)的持续更改,也即连同子目录下的所有文件、目录。所以当修改一个目录中所有文件的用户组(所有者与权限也一样)时,要加上-R。

例如将文件install.log改到users用户组

$chgrp users install.log

3.

chown就是change owner的简称。

#chown [-R] user filename(or dirname),改变file的文件所有者为user。

#chown [-R] .group filename(or dirname),改变file的用户组为group(注意加点)。

#chown [-R] user.group filename(or dirname),改变file的文件所有者为user,用户组为group。为避免“.”引起的系统误判,通常用一下命令表示该句:
#chown [-R] user:group filename(or dirname)。

4.

复制文件给其他人,复制命令:

$cp [-option] [source file or dir] [target file or dir]

复制行为(cp)会复制执行者的属性与权限,所以即使复制到他人用户组仍然无法使用,所以这时必须修改该权限。

5.

chmod就是change mode bits的简称。

数字类型改变文件权限:

#chmod [-R] xyz fileordir,其中x代表owner权限,y代表group权限,z代表others权限。

r=4,w=2,x=1,上面三种身份的权限是r+w+x的和,如果没有相应的权限,则值为0。

例如:install.log文件,owner=rwx=4+2+1=7,group=rwx=4+2+1=7,others=---=0+0+0=0,所以这个文件的将改变权限值为770:

#chmod 770 install.log。

6.

符号类型改变文件权限

我们可以用u,g,o三个参数来代表user,group,others 3种身份的权限。

a代表all,也即全部的身份。

读写的权限就可以写成r,w,x。

+,-,=分别代表加入,出去,设置一个权限。

加入要设置一个文件的权限成“-rwxr-xr-x,指令为:

#chmod u=rwx,go=rx filename,注意加上那个逗号。

要给一个文件的全部身份加上x权限,则指令为:

#chmod a+x filename。

 

6.2.3 目录与文件的权限意义

1.

权限对文件的作用:

文件是实际含有数据的地方,包括一般文本文件、数据库内容文件、二进制可执行文件(binary program)等。

r(read):可读取此文件实际内容。

w(write):可以编辑、新增或者是修改该文件的内容(不能删除该文件)。

x(execute):可以被系统执行。

2.

权限对目录的作用:

r(read contemts in directory)可读取目录结构列表,可利用ls命令将该目录结构列表中的文件名显示出来(仅能显示文件名)。

w(modify contents of directory)可更改目录结构列表,如新建、删除、重命名、转移文件或目录。

x(access directory)可进入该目录成为工作目录(就是目前所在的目录),当登陆Linux时所在的~(即主文件夹)就是当前工作目录。

3.

工作目录对于命令的执行非常重要,如果对一个目录不具有x权限,则无法使该目录称为工作目录,也就无法执行该目录下的任何命令。

要开放目录给任何人浏览时,应该至少给予r和x的权限,但w的权限不可以随便给。

4.

如果具有对一个目录的w权限,那么该目录下的任何文件都可以删除,不管要删除的文件的所有者和用户组是什么。

5.

#cd /tmp,切换工作目录到/tmp

#mkdir testing,在以上目录下建立testing文件夹

#chmod 744 testing,更改以上创建的testing文件夹的权限为drwxr--r--

#touch testing/testing1,在testing文件夹中新建空的文件testing1

#ls -ald testing testing/testing1,列出上面创建的文件夹和文件的信息(ls的-a参数表示all,即显示所有文件,包括隐藏文件;-l参数表示 long,显示长信息格式,即显示用户组,所有者,修改日期等等;-d参数表示将目录象文件一样显示,而不是显示其下的文件)。

可以看到testing目录,和testing1文件的所有者和用户组都是root。

下面来用自己的账号进行一些操作。

6.

#su - SF_Chipan,切换身份成为SF_Chipan

$cd /tmp,进入/tmp成为工作目录

$ls -l testing,列出testing目录中的内容,因为刚才在5.中设置了testing目录对others的权限为r,所以这里就会显示文件名为testing1的文件,其他都是问号。

$cd tesing,这时候因为SF_Chipan身份对testing目录的权限只是r,没有x,所以不能使testing成为工作目录。

7.

使用“su - ”登陆的账户,当使用$exit退出时,是退回使用“su - ”之前的账户。如果使用“su - ”登陆root账户,需要提供密码,而root账户登陆到一般账户,则不需要提供密码。

8.

可以是用rm命令删除testing1文件:

#cd /tmp/testing

#rm testing1

 

6.2.4 Linux文件种类与扩展名

1.

文件种类:

普通文件(regular file):[-]

纯文本文件(ASCⅡ):Linux中最多的一种文件类型。可以执行下列命令来查看一个隐藏文件:

$cat ~/.bashrc,cat是将一个文件内容读出来的命令。

二进制文件(binary):Linux中的可执行文件就是这种格式的(scripts、文字批处理文件不算),.bashrc就是这种格式。

目录(directory):[d]

链接文件(link):[l],有点类似windows下的快捷方式。

设 备与设备文件(device)通常分为一下两种:块(block)设备文件,[ d],就是一些存储数据以提供系统随机访问的接口设备,如硬盘等。可以随机地在硬盘的不同块读写,这种设备就是成组设备;字符(character)设备 文件,就是一些串行端口的接口设备,如键盘鼠标,特点是“一次性读取”,不能够阶段输出,比如鼠标不可能跳到另一个地方,只能划过去。

套接字(sockets):[s],通常被用在网络上的数据连接。我们可以启动一个程序来监听客户端的请求,而客户端就可以通过这个socket来进行书序的通信。通常在/var/run这个目录中就能看到。

管道(FIFO,pipe):[p],主要目的在解决多一个程序同时访问一个文件所造成的错误问题。FIFO是first-in-first-out的缩写。

上面的套接字和管道都与进程比较有关,可以通过man  fifo及man socket来查阅。

2.

一个Linux文件能不能被执行,与它的第一列的10个属性有关,与文件名一点关系都没有。

3.

x权限代表这个文件具有可执行的能力,但能不能执行成功,要看该文件的内容。

4.

我们希望可以通过扩展名了解该文件时什么东西,所以还是会使用适当的扩展名来表示该文件是什么种类的。

5.

*.sh:脚本或批处理文件(scripts),因为批处理文件用shell写成的,所以扩展名就是.sh。

*Z、*.tar、*tar.gz、*zip、*.tgz:经过打包的压缩文件。由于不同的压缩软件而取其相关的扩展名。

*.html、*.php:网页相关文件,分别代表HTML语法与PHP语法的网页文件。.html的文件可以使用网页浏览器来直接启动;.php的文件,可以通过客户端的浏览器来服务端浏览,以得到运算后的网页结果。

6.

从网络上传送到你的Linux系统中,文件的属性与权限可能是会改变的。

7.

在Linux下,使用默认的Ext2/Ext3文件系统时,针对文件的文件名长度限制为:单一文件或目录的最大容许文件名为255个字符;包含完整路径名称及目录(/)的完整文件名为4096个字符。

8.

由于Linux在文字界面下的一些命令操作的关系,在设置文件名时,最好能避免一些特殊的字符,如:*?><;&![]|\'"`(){}。

分享到:
评论

相关推荐

    CentOS5文件与目录操作命令全集[汇编].pdf

    本篇将深入讲解CentOS 5中的文件与目录操作命令。 1. **ls**:列出目录内容。`ls`命令用于查看当前目录下的文件和子目录。例如,`ls -l`会以详细模式显示所有文件的信息,包括权限、所有者、大小、修改日期等。 2....

    centos7限制普通用户访问单一目录.docx

    在CentOS7操作系统中,有时我们需要为特定的用户设置严格的权限控制,比如只允许他们访问特定的目录和文件。在给定的场景中,我们希望为开发同事创建一个名为"loglook"的账户,该账户只能查看位于/home/wwwroot/a...

    VMware虚拟机CentOS系统根目录空间扩充操作

    #### 环境配置与目标设定 在本教程中,我们将详细介绍如何在VMware虚拟机环境下对CentOS系统的根目录(通常为`/`分区)进行空间扩展。此操作旨在解决因根分区空间不足而引发的各种问题,比如无法安装新软件或更新...

    CentOS5 文件系统

    理解CentOS5的文件系统对于系统管理至关重要,它不仅涉及到文件和目录的组织,还关系到权限控制、系统配置和设备管理。熟悉这个结构能帮助我们更有效地维护和优化Linux系统。通过不断学习和实践,我们可以更好地驾驭...

    CentOS 6.5 Samba服务器 权限配置实例.docx

    ### CentOS 6.5 Samba 服务器权限配置详解 #### 一、背景介绍 Samba 是一款用于在基于 Linux 的操作系统上实现 SMB/CIFS 协议的服务程序,它可以让 Linux 系统与 Windows 系统之间进行文件共享和服务。本文档主要...

    Centos下ssh以及sftp的配置以及权限设置

    ### CentOS 下 SSH 及 SFTP 的配置与权限设置详解 #### 一、引言 SSH (Secure Shell) 是一种网络协议,用于计算机之间的加密登录。SFTP (SSH File Transfer Protocol) 则是一种基于 SSH 协议的安全文件传输协议。...

    CentOS7 syslog日志转发配置.docx

    - **权限问题**:确保rsyslog服务有足够的权限读取和写入日志文件及配置文件。 - **安全考量**:考虑使用加密传输方式(如TLS)来保护日志数据的安全性。 - **错误排查**:如果遇到问题,可以通过查看rsyslog服务的...

    Centos7.9安装配置vsftpd

    在 CentOS 7.9 上安装和配置 vsftpd 需要遵循以下步骤:关闭防火墙、关闭 SELinux、创建 FTP 目录、安装 vsftpd、配置 vsftpd 和测试 vsftpd。通过遵循这些步骤,可以实现匿名用户的上传和下载操作,从而满足业务...

    CentOS 7中sudo权限配置

    综上所述,CentOS 7中sudo权限配置涉及对/etc/sudoers文件的编辑,定义了用户可以执行哪些命令以及执行命令时是否需要输入密码。通过合理配置,可以在保证系统安全性的同时,给用户合理的权限,方便日常运维和管理...

    CentOS 6 5下文件服务器 Samba+nfs 的安装与配置

    2. **配置 NFS**: 编辑 `/etc/exports` 文件,指定要共享的目录及其权限。例如,共享 `/share` 目录给所有内网 IP。 ```text /share *(rw,sync,no_subtree_check) ``` 3. **启用 NFS 服务**: 通过 `systemctl ...

    Samba共享目录的多用户权限设置案例(个人精华版)

    总结,配置Samba的多用户权限设置涉及到用户和组管理、Samba配置、目录权限设置等多个环节。正确设置后,可以为用户提供安全且灵活的文件共享环境。务必仔细检查并测试每个步骤,以确保一切按预期工作。

    centos 6.5下安装文件上传下载服务

    centos 6.5下的文件上传下载服务安装和配置 centos 6.5下的文件...centos 6.5下的文件上传下载服务安装和配置可以解决上传和下载文件的问题,提高工作效率和生产力,但也需要注意服务器的安全性和文件的权限问题。

    Centos samba配置

    在 CentOS Samba 配置文件的末尾添加以下行,定义公众共享目录: * `[public]`:定义公众共享目录。 * `comment = Public Stuff`:指定共享目录的描述。 * `path = /home/samba`:指定共享目录的位置。 * `public =...

    CentOS7安装与配置Zookeeper1

    【CentOS7安装与配置Zookeeper】是针对Linux系统中常用的服务发现和分布式协调框架Zookeeper进行的基础操作。Zookeeper是Apache Hadoop项目的一部分,它为分布式应用提供了一个高效、可靠的分布式协调服务。 首先,...

    centos nfs的配置

    在这个例子中,我们将`/opt/centos6`目录设置为对192.168.1.0/24网段内的所有主机读取权限,且不进行root权限的压缩(`no_root_squash`)。 ```bash vi /etc/exports /opt/centos6 192.168.1.0/24(ro,no_root_squash...

    centos中文件与权限的基本操作教程

    要修改文件权限,我们可以使用`chmod`命令。例如,`chmod 777 file|dir`会给文件或目录赋予所有权限,而`chmod 755 file|dir`则会给所有者全部权限,组群和其他用户只给予读和执行权限。如果要递归修改子目录的权限...

    CentOS7安装配置分布式文件系统FastDFS5.docx

    - 修改配置文件,设置Tracker和Storage服务器的参数,如端口号、数据存储路径等。 - 创建数据目录,并赋予适当权限。 5. **启动FastDFS**: - 启动Tracker和Storage服务器的服务,如`/etc/init.d/fdfs_trackerd ...

    CentOS7 FTP安装与配置

    - 设置数据库文件权限。 ##### 3. 修改PAM认证文件 - **备份原文件**: `cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak` - 备份原有的`vsftpd`配置文件。 - **编辑PAM文件**: `vi /etc/pam.d/vsftpd` - 注释掉原有...

    如何在CentOS7设置IP地址

    - **Linux权限管理**:在Linux系统中,用户权限管理是非常关键的一环,主要分为用户身份、文件权限及特殊权限三大部分。其中,root用户拥有最高的权限,能够进行系统级的操作。 #### 知识点二:切换至root用户 - *...

Global site tag (gtag.js) - Google Analytics