linux系统下修改文件夹目录权限

文件夹权限问题

Linux、Fedora、Ubuntu修改文件、文件夹权限的方法差不多。很多人开始接触Linux时都很头痛Linux的文件权限问题。这里告诉大家如何修改Linux文件-文件夹权限。以主文件夹下的一个名为cc的文件夹为例。 下面一步一步介绍如何修改权限: 1.打开终端。输入su(没

Linux、Fedora、Ubuntu修改文件、文件夹权限的方法差不多。很多人开始接触Linux时都很头痛Linux的文件权限问题。这里告诉大家如何修改Linux文件-文件夹权限。以主文件夹下的一个名为”cc”的文件夹为例。

下面分步介绍如何修改权限:

[En]

The following step by step describes how to modify permissions:

1.打开终端。输入”su”(没有引号)

2.接下来会要你输入密码,输入你的root密码。

3.假设我的文件夹在主目录里,地址为 /var/home/dengchao/cc 。假设我要修改文件权限为777,则在终端输入 chmod 777 /var/home/userid/cc

该文件夹的权限变为777。

[En]

The permissions for the folder become 777.

如果要修改文件夹和子文件夹权限,可以使用chmod-R777/var/home/userid/cc。

[En]

If you are modifying folder and subfolder permissions, you can use chmod-R 777 / var/home/userid/cc.

具体权限(如777的含义等)具体说明如下:

[En]

The specific permissions (such as the meaning of 777, etc.) are explained below:

1. 777有3位,最高位7是设置文件所有者访问权限,第二位是设置群组访问权限,最低位是设置其他人访问权限。

它们每一个的权限都用数字表示。具体地说,有以下权限:

[En]

The permissions of each of them are represented by numbers. Specifically, there are these permissions:

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就可以表示为:111l

[En]

At first, many beginners will be confused, in fact, it is very simple, we regard rwx as a binary number, if there is, it is expressed as 1, and if there is no, there is 0, then rwx can be expressed as: 111l

二进制111是7。

[En]

And the binary 111 is 7.

3.我们再来看下怎么确定3个数位上的权限。假如我们要给一个文件设置权限,具体权限如下:

如果文件所有者有读、写、执行权限,组用户有读权限,其他用户有读权限,则对应的字母为rwx r-r-,对应的数字为744。

[En]

If the file owner has “read”, “write” and “execute” permissions, group users have “read” permissions, and other users have “read” permissions, the corresponding letter is “rwx r-r -“, and the corresponding number is 744.

通常,最高位表示文件所有者权限值,第二位表示组用户权限,最低位表示其他用户权限。

[En]

Generally, the highest bit represents the file owner permission value, the second bit represents group user rights, and the lowest bit represents other user rights.

这里有一些您需要熟悉的示例。

[En]

Here are some examples to familiarize yourself with.

以这种方式设置特定的Linux修改文件夹-文件目录权限。

[En]

Specific linux modify folder-file directory permissions are set in this way.

chmod用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

语法:chmod [who] [+ | - | =] [mode] 文件名

命令中的选项表示:

[En]

The options in the command mean:

操作数可以是下列字母中的任何一个或它们的组合:<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>The Operand who can be any of the following letters or a combination of them:</font>*</details>
u 表示"用户(user)",即文件或目录的所有者。
g 表示"同组(group)用户",即与文件属主有相同组ID的所有用户。
o 表示"其他(others)用户"。
a 表示"所有(all)用户"。它是系统默认值。
操作符号可以是:<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>The operation symbol can be:</font>*</details>
+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。
可以使用以下字母的任意组合设置由模式表示的权限:<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>The permissions represented by mode can be set with any combination of the following letters:</font>*</details>
r 可读。
w 可写。
x 可执行。
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
s 在文件执行时把进程的属主或组ID置为该文件的文件属主。
文件的用户ID位由模式“实用程序”设置,组ID位由“组”设置。<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>The user ID bit of the file is set by mode "Utility", and the group ID bit is set by "Groups".</font>*</details>
t 保存程序的文本到交换设备上。
u 与文件属主拥有一样的权限。
g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。
文件名:用空格分隔的要更改权限的文件列表。支持通配符。<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>File name: a list of files to change permissions separated by spaces. Wildcards are supported.</font>*</details>

可以在命令行上授予多个权限,权限之间用逗号分隔。例如:

[En]

Multiple permissions can be given on a command line, separated by commas. For example:

chmod g+r,o+r example  % 使同组和其他用户对文件example 有读权限。

我们必须首先理解数值属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后添加它们。因此,数字属性的格式应该是从0到7的3个八位字节,顺序为(U)(G)(O)。

[En]

We must first understand the meaning of numeric attributes: 0 for no permissions, 1 for executable permissions, 2 for writable permissions, 4 for readable permissions, and then add them. So the format of the numeric attribute should be 3 octets from 0 to 7, in the order of (u) (g) (o).

例如,如果您希望文件的所有者具有读/写权限,则需要放置4(可读)+2(可写)=6(读/写)。

[En]

For example, if you want the owner of a file to have read / write permissions, you need to put 4 (readable) + 2 (writable) = 6 (read / write).

数字设置方法的一般形式为:

[En]

The general form of digital setting method is:

语法:chmod [mode] 文件名

指令实例:

chmod a+x sort
% 即设定文件sort的属性为:
文件所有者(%u)增加执行权限<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>File owner (u) increases execution authority</font>*</details>
与文件所有者处于同一组中的用户(G)增加了执行权限<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>The user (g) in the same group as the file owner increases the execution authority</font>*</details>
其他用户(O)增加执行权限<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Other users (o) increase execution rights</font>*</details>
chmod ug+w,o-x text
% 即设定文件text的属性为:
文件所有者(%u)增加写入权限<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>File owner (u) increases write permission</font>*</details>
与文件所有者(G)在同一组中的用户增加了写入权限<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Users in the same group as the file owner (g) increase write permissions</font>*</details>
其他用户(O)删除执行权限<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Other user (o) removes execution permission</font>*</details>
chmod u+s a.out
% 假设执行chmod后a.out的权限为(可以用ls – l a.out命令来看):
–rws--x--x 1 inin users 7192 Nov 4 14:22 a.out
而此执行文件使用的是文本文件shiyan1.c,其文件访问权限为“-rw-”。<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>And this execution file uses a text file shiyan1.c, whose file access permission is "- rw-".</font>*</details>
也就是说,只有文件的所有者具有读写访问权限。<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>That is, only the owner of the file has read and write access.</font>*</details>
当另一个用户执行a.out程序时,他的身份因该程序而临时变为inin(由于chmod<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>When another user executes the a.out program, his identity temporarily becomes inin because of the program (due to chmod</font>*</details>
命令中使用了s选项,这样他就可以读取shiyan1.c文件(尽管该文件设置为<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>The s option is used in the command, so he can read the shiyan1.c file (although this file is set to</font>*</details>
其他人没有任何权限),这是%s的功能。<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Other people do not have any permissions), this is the function of s.</font>*</details>
因此,在整个系统中,尤其是在根目录本身中,最好不要设置太多这种类型的文件(除非<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Therefore, in the whole system, especially in root itself, it is best not to set too many files of this type (unless</font>*</details>
(必要)这样可以保证系统的安全性,避免因为一些程序的漏洞而对系统进行入侵。<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>(necessary) this can ensure the security of the system and avoid the intrusion of the system because of the bug of some programs.</font>*</details>
chmod a–x mm.txt
chmod –x mm.txt
chmod ugo–x mm.txt
% 以上这三个命令都是将文件mm.txt的执行权限删除,它设定的对象为所有使用者。
$ chmod 644 mm.txt
% 即设定文件mm.txt的属性为:-rw-r--r--
文件所有者(U)inin具有读写权限<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>File owner (u) inin has read and write permissions</font>*</details>
与文件所有者属于同一组的用户(G)具有读取权限<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>User (g) who is in the same group as the owner of the file has read permission</font>*</details>
其他(O)具有读取权限<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Others (o) have read permission</font>*</details>
chmod 750 wch.txt
% 即设定wchtxt这个文件的属性为:-rwxr-x---
文件所有者(U)具有可读/可写/可强制执行的权限<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>File owner (u) inin readable / writable / enforceable right</font>*</details>
与文档所有者在同一组中的人员(G)可读/可执行<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Person in the same group as the document owner (g) readable / enforceable</font>*</details>
其他人(O)没有任何权力<details><summary>*<font color='gray'>[En]</font>*</summary>*<font color='gray'>Others (o) do not have any authority</font>*</details>

linux下搭建FTP服务器

***FTP文件说明***
本FTP服务器软件包为vsftpd-2.3.4-1.fc14.i686.rpm
FTP客户端软件包为ftp-0.17-51.fc12.i686.rpm
1、vsftpd不再由xinetd控制;
2、FTP使用port 21发起连接,使用port 20进行数据传输;
3、vsftpd配置文件: /etc/vsftpd/vsftpd.conf #主配置文件
/etc/vsftpd/vsftpd/ftpusers #拒绝该文件中列出的用户登录FTP
/etc/vsftpd/vsftpd/user_list #默认同ftpusers相同
4、查看/etc/passwd文件,可以看到FTP默认的共享目录路径为/var/ftp;
5、FTP日志文件:/var/log/xferlog
6、相关软件包:tcp_wrappers、ip_conntrack_ftp、ip_nat_ftp
(这3个软件包是教材上列出的,我没有测试过其用途,有兴趣的朋友可以研究一下)
7、启动和停止vsftp指令:

service vsftpd start //启动vsftpd服务

service vsftpd stop //停止vsftpd服务

service vsftpd restart //重启vsftpd服务,每次更改FTP相关配置后,一定要用该命令重启vsftpd服务

chkconfig vsftpd on //使vsftpd服务开机启动。(可选操作)

8、注意SElinux的安全性质:
一般来说,SElinux是强制开启的,默认情况下很多服务都有权限控制。如果我们在测试ftp服务器时遇到一些奇怪的错误,我们可以关闭SElinux。

[En]

Generally speaking, SElinux is forcibly enabled, and many services have permission control by default. If we encounter some strange errors when we test the FTP server, we can turn off SElinux.

你也可以直接关闭SElinux的保护设置,让它支持ftp服务

[En]

You can also just turn off SElinux’s protection settings for FTP services

sestatus //查看当前系统SElinux是否开启

如果开启了,则打开/etc/selinux/config文件,编辑:将SELINUX=enforcing改成SELINUX=disabled,并把SELINUXTYPE=targeted注释掉!

或者#setsebool -P ftpd_disable_trans 1 //仅关闭SELinux对FTP的保护
***FTP权限需求****
a.允许匿名用户登录;
b.允许匿名用户上传和下载资料(拒绝覆盖已有资料);
c.允许本地用户登录;(注意SElinux的影响)
d.FTP共享目录/var/ftp/
e.拒绝匿名用户创建新文件或者文件夹;
f.使登录用户可以下载共享资料
============================================================================

1、查询本机是否已经安装ftp-server和ftp-client;

rpm -qa vsftpd

rpm -qa ftp

2、如果没有安装,则下载相应软件包,或者yum在线安装;

yum install vsftpd //ftp服务器软件包

yum install ftp //ftp客户端软件包

3、编辑/etc/vsftpd/vsftpd.conf
anonymous_enable=YES //允许匿名用户登录

local_enable=YES //允许本地用户登录

write_enable=YES //允许登录到FTP的用户执行写操作

local_umask=022
anon_umask=077 //匿名用户上传的文件权限都会进行umask的计算,变成-rw- — —

anon_upload_enable=YES //允许匿名用户上传文件

xferlog_file=/var/log/vsftpd.log //FTP服务器日志文件默认路径

ftpd_banner=**Welcome to My FTP Server**

4、开启vsftpd服务

service vsftpd start

5、在FTP共享目录下建立文件夹

mkdir /var/ftp/pub //用于存放共享文件资料

mkdir /var/ftp/incoming //用于存放匿名用户上传的资料

ls -l /var/ftp/

drwxr-xr-x. 2 root root 4096 5月 8 14:13 incoming
drwxr-xr-x. 2 root root 4096 5月 8 14:15 pub
//新创建的文件夹默认归属于root用户和用户组,需要更正!

chown ftp.ftp /var/ftp/incoming //改为所属用户为ftp,用户组为ftp组

chown ftp.ftp /var/ftp/pub

ls -l /var/ftp

drwxr-xr-x. 2 ftp ftp 4096 5月 8 14:13 incoming
drwxr-xr-x. 2 ftp ftp 4096 5月 8 14:15 pub

6、登录到FTP服务器

ftp 127.0.0.1

Connected to 127.0.0.1 (127.0.0.1).

220 **Welcome to My FTP Server*****.

Name (127.0.0.1:root): ftp //这里的登录用户名输入ftp或者anonymous或者本地有效账户名
331 Please specify the password.

Password: //匿名登录时,直接回车
230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>

还有另一种登录到FTP服务器的方法:打开Firefox浏览器,输入,然后匿名登录

[En]

There is another way to log in to the FTP server: open the Firefox browser, type, and log in anonymously

7、允许登录用户下载/var/ftp/pub中的文件资料
使用管理员帐户:

[En]

Use the administrator account:

chmod +r /var/ftp/pub/* //修改pub目录下文件的读权限

Original: https://www.cnblogs.com/yymn/p/5615397.html
Author: 菜鸡一枚
Title: linux系统下修改文件夹目录权限

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/7063/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总