centos 修改文件夹权限(普通用户对文件权限受限解决方法)

大家好,今天来为大家解答centos 修改文件夹权限这个问题的一些问题点,包括普通用户对文件权限受限解决方法也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

CentOS系统管理基本权限和归属的详解

Linux系统管理_基本权限和归属-RedhatEnterprise5

文件和目录在linux系统中是最为重要的,经常使用root用户登录系统可能没感觉,一旦使用普通用户的时候,就会发现权限这个很棘手的问题,最近一段时间在学习关于文件和目录的权限,想了一下,可以从这四个方面来总结一下:

一基本权限和归属关系

二,文件和目录的权限

三,权限的设置:chmod,umask,mkdir-m

四,文件和目录的所有者和所属组:chown,chgrp

扩展:

Linux系统管理_附加控制权限:

Linux系统管理_用户和用户组:

Linux系统管理_ACL访问控制:

一:基本权限和归属关系

1,访问权限:

-读取:允许查看内容-read

-写入:允许修改内容-write

-可执行:允许运行和切换-excute

注:可执行权限对于目录来说,对应的位置有x权限,意为是否可进入该目录;

而对于文件来说,有x权限,意为该文件可执行,如程序(命令)的所有者权限中都有x权限。

2,归属关系:

-属主:拥有此文件或目录的用户-user

-属组:拥有此文件或目录的组-group

-其他用户:除属主、属组以外的用户-other

最终权限:访问权限和归属关系共同决定最终权限

二:文件和目录的权限

[root@localhost/]#ll-d/etc/passwd/boot/

drwxr-xr-x4rootroot10242013-07-10/boot///目录

-rw-r--r--1rootroot168102-1710:23/etc/passwd//文件

12345678

第一段:d代表该目标为目录,-代表该目标位文件

第二段:rwxr-xr-x:文件和目录的权限位

注:一共九位,前三位为user(所有者)的权限,中间三位为group(所属组)的权限,最后三位为other(其他用户)的权限。

其中r用数字标示为4,w为2,x为1

第三段:对于文件来说,为硬链接数;

对于目录来说,为该目录下有多少个目录,其中包括隐藏目录“.”和“..”。

第四段:为属主,即文件或目录的所有者

第五段:为所属组

第六段:文件的大小,默认情况下单位为bit(字节)

第七段:为最后修改的时间

第八段:文件或目录的名称

三:设置基本权限:chmod、umask和mkdir-m

1,chmod命令

-格式:chmod[ugoa][+-=][rwx]文件/目录

chmod[nnn]文件/目录(n代表权限的数字形式)

常用选项:-R:递归更改权限

--reference=:以指定文件或目录做模板(这个不重要)

示例:

1,修改Desktop的相关属性,分别使用字符权限和数字权限进行设置

[root@localhost~]#ll-dDesktop/

drwxr-xr-x3rootroot409602-1603:40Desktop/

[root@localhost~]#chmodg+w,o-rxDesktop/

[root@localhost~]#ll-dDesktop/

drwxrwx---3rootroot409602-1603:40Desktop/

[root@localhost~]#chmod755Desktop/

[root@localhost~]#ll-dDesktop/

drwxr-xr-x3rootroot409602-1603:40Desktop/

2,创建一个可执行文件,并赋予所有者x权限

[root@localhost~]#echo"echoHelloWorld">test.sh

[root@localhost~]#ll-lhtest.sh

-rw-r--r--1rootroot1702-1821:12test.sh

[root@localhost~]#chmod+xtest.sh//+x默认为所有者添加该权限

[root@localhost~]#ll-lhtest.sh

-rwxr-xr-x1rootroot1702-1821:12test.sh

[root@localhost~]#./test.sh

HelloWorld

[root@localhost~]#

2,umask命令:新建文件或目录的默认权限

-一般文件默认不给x执行权限

-其他取决于umask设置

-umask值可以进行设置(为临时,umask0027即讲umask值设置为0027,可使用umask查看)

注1:由于文件默认不给x权限,所以创建一个新文件的最大权限为666,创建一个目录的最大权限为777。

注2:umask默认值为022(----w--w-),也就是说:

新建一个文件时缺省权限为:

为rw-rw-rw-和----w--w-的差,即为rw-r--r--;即为644(注:不能用777或666减去022)

新建一个目录时缺省权限为:

为rwxrwxrwx和----w--w-的差,即为rwxr-xr-x;即为755

示例:

[root@localhost~]#umask

0022

[root@localhost~]#mkdirmulu1

[root@localhost~]#touchfile1.txt

[root@localhost~]#ll-dmulu1/file1.txt

-rw-r--r--1rootroot002-1821:22file1.txt//默认文件权限为644

drwxr-xr-x2rootroot409602-1821:21mulu1///默认目录权限为755

[root@localhost~]#umask0027//将umask值设置为0027

[root@localhost~]#umask

0027//修改之后umask值为0027

[root@localhost~]#mkdirmulu2//修改umask值后再次创建目录

[root@localhost~]#touchfile2.txt//修改umask值后再次创建文件

[root@localhost~]#ll-dmulu2/file2.txt

-rw-r-----1rootroot002-1821:28file2.txt

drwxr-x---2rootroot409602-1821:28mulu2/

[root@localhost~]#

可以看到umask值设置为0027之后,那么创建的目录和文件的权限方面other用户将不再拥有任何权限。

3,mkdir-m

mkdir为创建一个目录,-m参数可以直接指定即将创建目录的权限

mkdir

四,文件和目录的所有者和所属组:chown,chgrp

1,chown:设置文件或目录的归属关系

-格式:chown属主文件或目录//修改文件或目录的所有者

chown:属组文件或目录//修改文件或目录的所属组

chown属主:属组文件或目录//修改文件或目录的所有者和所属组

-R选项:递归修改权限

--reference选项:以指定目录或文件作为模板(作为了解)

示例:

首先修改file1.txt的权限

然后以file1.txt为模板修改file2.txt文件的权限所有者和所属用户组。

[root@localhost~]#touchfile1.txt

[root@localhost~]#touchfile2.txt

[root@localhost~]#llfile*

-rw-r--r--1rootroot002-1821:43file1.txt

-rw-r--r--1rootroot002-1821:43file2.txt

[root@localhost~]#useradduser1

[root@localhost~]#chownuser1:user1file1.txt//修改file1.txt所有者为user1

//所属组为user1

[root@localhost~]#llfile*

-rw-r--r--1user1user1002-1821:43file1.txt

-rw-r--r--1rootroot002-1821:43file2.txt

[root@localhost~]#chown--referencefile1.txtfile2.txt//file2.txt将会复制file1.txt的属性

[root@localhost~]#llfile*

-rw-r--r--1user1user1002-1821:43file1.txt

-rw-r--r--1user1user1002-1821:43file2.txt//所有者和所属组为和

//file1.txt相同

2,chgrp:设置文件或目录的所属组

chgrp属组文件或目录:修改文件或目录为的所属组

注:相当于chown:属组文件或目录

[root@localhost~]#llfile*

-rw-r--r--1user1user1002-1821:43file1.txt

-rw-r--r--1user1user1002-1821:43file2.txt

[root@localhost~]#chgrprootfile1.txtfile2.txt//修改file1和file2的属主

[root@localhost~]#llfile*

-rw-r--r--1user1root002-1821:43file1.txt//属主变为root

-rw-r--r--1user1root002-1821:43file2.txt//属主变为了root

[root@localhost~]#

总结:

chmod,chown,chgrp这三个命令虽然参数很少,但是总是容易搞混,不过用的多了,用的熟练了就能记住了,chmod修改的是权限,chown修改的是所属用户和组,chgrp修改的是所属组。

最需要注意的是umask的值的设定,新建文件和文件夹时的默认权限!

CentOs ftp 设置用户访问指定目录

使用root账号登录centos系统

检查是否已安装vsftp

rpm-qa|grep vsftpd#未输出信息,表示未安装vsftp

通过yum安装vsftp

yum-y install vsftpd

ftp启动、重启、停止、状态查询命令

service vsftpd start#启动ftpservice vsftpd stop#停止ftpservice vsftpd restart#重启ftpservice vsftpd status#查询ftp状态

设置为开机启动(可设置)

chkconfig vsftpd on

设置配置文件

vi/etc/vsftpd/vsftpd.conf

修改如下内容:

anonymous_enable=NO#设置不允许匿名账户登录chroot_local_user=YES#所有用户限制在主目录中chroot_list_enable=NO#不启动限制用户名单,直接限制所有用户userlist_enable=NO#当为YES时只有userlist_file文件中指定的用户才能登录allow_writeable_chroot=YES#(在文件尾部新增)防止用户有写入权限时报错local_root=/home/www#(在文件尾部新增)设置用户的根目录

重启ftp

service vsftpd restart

创建ftp用户

创建用户组

groupadd ftpgroups

创建用户

# useradd添加用户命令-d/home/www指定用户根目录-g ftpgroups加入用户组 ftptest用户名useradd-d/home/www-g ftpgroups ftptest

设置用户密码

passwd ftptest# passwd(命令) ftptest(用户名,根据你实际情况写)

设置不允许用于系统登录

usermod-s/sbin/nologin ftptest#ftptest(用户名,根据你实际情况写)

设置文件权限

chmod 755/home/www

设置目录拥有者

chown-R ftptest:root/home/www#ftptest:ftp用户名;/home/www:文件目录

设置防火墙

查看防火墙状态,如果未启动,直接跳过本步骤

systemctl status firewalld

开放20、21端口(阿里云服务器还需配置安全组开放防火墙)

firewall-cmd--permanent--zone=public--add-port=20/tcpfirewall-cmd--permanent--zone=public--add-port=20/udpfirewall-cmd--permanent--zone=public--add-port=21/tcpfirewall-cmd--permanent--zone=public--add-port=21/udpfirewall-cmd--reload#重新载入

至此ftp服务安装成功,如果出现不能访问或不能写入的情况,就还需要设置SELinux(关闭)

sestatus-v#查看SELinux状态,如果SELinux status参数为enabled即为开启状态setenforce 0#临时关闭(不用重启机器)

如何在CentOS系统利用命令行操作文件以及文件夹

下面总结一些linux,CentOS下面常用的命令:

cd pwd

NO1.显示当前路径

[root@rehat root]# pwd

NO2.返回用户主目录

[root@rehat root]# cd

NO3.改变到其它路径

[root@rehat root]# cd/etc

NO4.返回到上一级目录

[root@rehat root]# cd..

NO5.返回到根目录

[root@rehat root]# cd/

查询文件或文件夹的CentOS常用命令 find

NO1.查找当前用户主目录下的所有文件

[root@rehat root]# find~

NO2.让当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件;

[root@rehat root]# find.-perm 644-exec ls-l{}\;

NO3.为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径;

[root@rehat root]# find/ size 0-type f-exec ls-l{}\;

NO4.查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们;

[root@rehat root]# find/var/logs-mtime+7-type f-ok rm-i{}\;

NO5.为/找系统中所有属于root组的文件;

[root@rehat root]# find/-group root-exec ls-l{}\;

NO6. find命令将删除当目录中访问时间在7日以来、含有数字后缀的admin.log文件

[root@rehat root]# find.-name"admin.log[0-9][0-9][0-9]"-atime-7-ok rm{}\;

NO7.为了查找当前文件系统中的所有目录并排序

[root@rehat root]# find.-type d| sort

NO8.为了查找系统中所有的rmt磁带设备

[root@rehat root]# find/dev/rmt

显示文件/文件夹清单的CentOS常用命令 ls/ dir

NO1.显示所有文件,包括以.开头的隐含文件

[root@rehat root]# ls-a

NO2.显示文件的详细信息

[root@rehat root]# ls-l

NO3.显示当前目录及所有子目录信息

[root@rehat root]# ls-Rl

NO4.以时间排序显示目录,这在找最新文件有用

[root@rehat root]# ls-tl

NO5.以文件大小排序

[root@rehat root]# ls-Sl

NO6.显示文件大小,并按大小排序

[root@rehat root]# ls-s-l-S

移动或更改文件/文件夹名称的CentOS常用命令 mv与 cp命令用法相似

NO1.若移动目标文件已存在,要在移动之前,先备份原来的目录文件

[root@rehat root]# mv-b test.txt test2/

这样在 test2下将有两个文件 test.txt及 text.txt~

其中 test.txt~是备份文件,test.txt是新的文件

NO2.若移动目标文件已存在,但不想弹出是否覆盖的提示,直接覆盖

[root@rehat root]# mv-f test.txt test2/

NO3.当源与目标都拥有同一个文件,若源文件比目标新则移动,否则不移动

[root@rehat root]# mv-u test.txt test2/

NO4.更改文件名称

[root@rehat root]# mv test.txt test2.txt

NO5.更改目录名称

[root@rehat root]# mv/test2/test2_2[/size]

创建/改变文件系统的CentOS常用命令

NO1.创建文件系统类型

[root@rehat root]# umount/dev/sdb1

[root@rehat root]# mkfs-t ext3/dev/db1

[root@rehat root]# mount/dev/sdb1/practice

改变文件或文件夹权限的CentOS常用命令chmod

NO1.将自己的笔记设为只有自己才能看

[root@rehat root]# chmod go-rwx test.txt

或者

[root@rehat root]# chmod 700 test.txt

NO2.同时修改多个文件的权限

[root@rehat root]# chmod 700 test1.txt test2.txt

NO3.修改一个目录的权限,包括其子目录及文件

[root@rehat root]# chmod 700-R test

改变文件或文件夹拥有者的CentOS常用命令

chown该命令只有 root才能使用

NO1.更改某个文件的拥有者

[root@rehat root]# chown jim:usergroup test.txt

NO2.更改某个目录的拥有者,并包含子目录

[root@rehat root]# chown jim:usergroup-R test

查看文本文件内容的CentOS常用命令cat

NO1.查看文件内容,并在每行前面加上行号

[root@rehat root]# cat-n test.txt

NO2.查看文件内容,在不是空行的前面加上行号

[root@rehat root]# cat-b test.txt

NO3.合并两个文件的内容

[root@rehat root]# cat test1.txt test2.txt> test_new.txt

NO4.全并两具文件的内容,并追回到一个文件

[root@rehat root]# cat test1.txt test2.txt>> test_total.txt

NO5.清空某个文件的内容

[root@rehat root]# cat/dev/null> test.txt

NO6.创建一个新的文件

[root@rehat root]# cat> new.txt按 CTRL+ C结束录入

编辑文件文件的CentOS常用命令vi

NO1.新建档案文件

[root@rehat root]# vi newfile.txt

NO2.修改档案文件

[root@rehat root]# vi test.txt test.txt已存在

NO3. vi的两种工作模式:命令模式,编辑模式

NO4.进入 vi后为命令模式,按 Insrt键进入编辑模式

按 ESC进入命令模式,在命令模式不能编辑,只能输入命令

NO5.命令模式常用命令

:w保存当前文档

:q直接退出 vi

:wq先保存后退出。

:q!强制不保存退出

创建目录的CentOS常用命令mkdir

NO1.在当前路径创建一级目录

[root@rehat root]# mkdir test

NO2.在当前路径创建多级目录

[root@rehat root]# mkdir-p mytest/test1/test1_1

NO3.在创建目录的同时给新建的目录赋权限

[root@rehat root]# mkdir-m 777 testmod

这样任何人对此目录都有任何权限

复制文件与文件夹的CentOS常用命令cp

NO1.复制指定目录的文件到当前目录,并重命名

[root@rehat root]# cp~/.bashrc bashrc_bak

NO2.强制复制指定目录的文件到当前目录,而不管当前目录是否含有该文件

[root@rehat root]# cp-f~/.bashrc bashrc

NO2.复制指定目录到当前目录

[root@rehat root]# cp-r/root/test.

[root@rehat root]# cp-r/root/test/.

两者效果一样,在复制目录时,会将源路径的最后一级目录全部复制过去,包括它本身。

NO3.复制指定目录的文件到指定目录

[root@rehat root]# cp~/.bashrc/bak/.bashrc

NO4.在复制时将源文件的全部属性也复制过来。若不指定参数,则目标文件与源文件属性可能不一致。

[root@rehat root]# cp-a~/.bashrc/bak/.bashrc

NO5.若两个文件夹要保证同步,一个文件的改了,另一个文件也跟着改,但是要保证两个文件的文件都是最新的。

[root@rehat root]# cp-u/src/.bashrc/bak_src/bashrc

建立链接文件,包括硬链接与软链接的CentOS常用命令ln

NO1.建立类似于 Windows的快捷方式

[root@rehat root]# ln-s test.txt test.txt_slnk

NO2.当想备份一个文件,但空间又不够,则可以为该文件建立一个硬连接。这样,就算原文件删除了,只要该链接文件没被删除,则在存储空间里还是没有被删除。

[root@rehat root]# ln-l test.txt test.txt_hlnk

使用CentOS常用命令查看cpu

more/proc/cpuinfo| grep"model name"

grep"model name"/proc/cpuinfo

[root@localhost/]# grep"CPU"/proc/cpuinfo

model name: Intel(R) Pentium(R) Dual CPU E2180@ 2.00GHz

model name: Intel(R) Pentium(R) Dual CPU E2180@ 2.00GHz

如果觉得需要看的更加舒服

grep"model name"/proc/cpuinfo| cut-f2-d:

使用CentOS常用命令查看内存

grep MemTotal/proc/meminfo grep MemTotal/proc/meminfo| cut-f2-d: free-m|grep"Mem"| awk'{print$2}'

使用CentOS常用命令查看cpu是32位还是64位查看CPU位数(32 or 64)

getconf LONG_BIT

使用CentOS常用命令查看当前linux的版本

more/etc/redhat-release

cat/etc/redhat-release

使用CentOS常用命令查看内核版本

uname-r

uname-a

使用CentOS常用命令查看当前时间

date上面已经介绍如何同步时间了

使用CentOS常用命令查看硬盘和分区

df-h

fdisk-l

也可以查看分区

du-sh

可以看到全部占用的空间

du/etc-sh

可以看到这个目录的大小

使用CentOS常用命令查看安装的软件包,查看系统安装的时候装的软件包

cat-n/root/install.log

more/root/install.log| wc-l

查看现在已经安装了那些软件包

rpm-qa

rpm-qa| wc-l

yum list installed| wc-l

不过很奇怪,我通过rpm,和yum这两种方式查询的安装软件包,数量并不一样。没有找到原因。

使用CentOS常用命令查看键盘布局

cat/etc/sysconfig/keyboard

cat/etc/sysconfig/keyboard| grep KEYTABLE| cut-f2-d=

使用CentOS常用命令查看selinux情况

sestatus

sestatus| cut-f2-d:

cat/etc/sysconfig/selinux

使用CentOS常用命令查看ip,mac地址

在ifcfg-eth0文件里你可以看到mac,网关等信息。

ifconfig cat/etc/sysconfig/network-scripts/ifcfg-eth0| grep IPADDR cat/etc/sysconfig/network-scripts/ifcfg-eth0| grep IPADDR| cut-f2-d= ifconfig eth0|grep"inet addr:"|awk'{print$2}'|cut-c 6- ifconfig| grep'inet addr:'| grep-v'127.0.0.1'| cut-d:-f2| awk'{ print$1}'

查看网关

cat/etc/sysconfig/network

查看dns

cat/etc/resolv.conf

使用CentOS常用命令查看默认语言

echo$LANG$LANGUAGE

cat/etc/sysconfig/i18n

使用CentOS常用命令查看所属时区和是否使用UTC时间

cat/etc/sysconfig/clock

使用CentOS常用命令查看主机名

hostname

cat/etc/sysconfig/network

修改主机名就是修改这个文件,同时最好也把host文件也修改。

使用CentOS常用命令查看开机运行时间

uptime

09:44:45 up 67 days, 23:32,...

看来刚才确实是网段的问题,我的机器还是67天前开机的。

系统资源使用情况

vmstat 1-S m procs-----------memory-------------swap-------io------system-------cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 233 199 778 0 0 4 25 1 1 3 0 96 0 0 0 0 0 233 199 778 0 0 0 0 1029 856 13 1 86 0 0

删除文件的CentOS常用命令rm

NO1.删除当前目录的文件

[root@rehat root]# rm test.txt

NO2.强制删除当前目录的文件,不弹出提示

[root@rehat root]# rm-f test.txt

NO3.强制删除整个目录,包括目录与文件全部删除,需要管理员权限

[root@rehat root]# rm-r-f test

删除文件夹的CentOS常用命令rmdir

NO1.删除一个空目录

[root@rehat root]# rmdir emptydir

NO2.删除多级空目录

[root@rehat root]# rmdir-p emptydir/d1/d11

挂载文件系统与卸载文件系统的CentOS常用命令

mount/ umount

NO1.挂载光驱

[root@rehat root]# mount-t iso9660/dev/cdrom/mnt/cdrom

NO2.挂载光驱,支持中文

[root@rehat root]# mount-t iso9660-o codepage=936,iocharset=cp936/dev/cdrom/mnt/cdrom

NO3.挂载 Windows分区,FAT文件系统

[root@rehat root]# mount-t vfat/dev/hda3/mnt/cdrom

NO4.挂载 Windows分区,NTFS文件系统

[root@rehat root]# mount-t ntfs-o iocharset=cp936/dev/hda7/mnt/had7

No5.挂载 ISO文件

[root@rehat root]# mount-o loop/abc.iso/mnt/cdrom

NO6.挂载软驱

[root@rehat root]# mount/dev/fd0/mnt/floppy

NO7.挂载闪盘

[root@rehat root]# mount/dev/sda1/mnt/cdrom

NO8.挂载 Windows操作系统共享的文件夹

[root@rehat root]# mount-t smbfs-o username=guest,password=guest//machine/path/mnt/cdrom

NO9.显示挂载的文件系统

[root@rehat root]# mount

[root@rehat root]# cat/etc/fstab显示系统启动自动加载的文件系统

[root@rehat root]# cat/etc/mtab显示当前加载的文件系统

阅读剩余
THE END