linux文件夹权限管理
1. linux 中文件属性以及文件权限
可以看到列出了当前目录下的所有文件,包括权限信息,所属用户,日期和文件名,其它很好理解但是看到 -rwxrwxr-x 这一串字符的时候完全是懵逼状态的,我是谁?我在哪?我要干什么?😆先来对里面的字符一步步拆分吧。
首先第一个字符用来标识是文件还是目录,这里只列出两个有代表性的:
然后在接下来的剩余字符中,以三个为一组,且均为‘rwx’ 的三个参数的组合。其中,[ r ] 代表可读 (read)、[ w ] 代表可写 (write)、[ x ] 代表可执行 (execute)。我们知道,在 Linux 中,文件的基本权限就有九个,分别是
owner/group/others 三种身份各有自己的 read/write/execute 权限。那我们就明白了,并且可以得出结论:
我们如果想要查看单个文件的默认权限可以使用命令: ls -al 文件名
可以看到文件 hello.c 的默认权限为 -rwxr-xr-- ,要改变它的权限为 rwxrwxr-x ,我们可以使用 chmod 命令,有两种方法设置方法:
1、符号类型改变文件权限: chmod u=rwx,g=rwx,o=rx 文件名
从上示例中可以看到 hello.c 的权限已经变成 rwxrwxr-x 。
2、数字类型改变文件权限,各权限的分数对照表如下:
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 分数则是:
变更权限的指令 chmod 的语法是这样的:
选项与参数:
如果要将 hello.c 的所有权限都启用,那么可以这样:
一顿操作猛如虎, hello.c 的文件权限变更为 rwxrwxrwx ,😆美滋滋。
刚接触 Linux,如果有写得不对的地方,希望能指出,一起交流,一起学习😯。
2. linux文件权限管理(超详细)
在linux系统中,我们想看一些资源的权限常会使用 ls -a 来显示资源的列表以及他们各自对应的权限,但是有的时候看到那每一行开头的字母是不是会有点懵逼 drwxr-xr-x 或者 drwx------ 等等
文件或目录的权限可以和老分为3种:
常见的linux文件权限,数字和字母对应:
从左至右,
1-3位代表文件所有者的权限,
4-6位代表同组用户的权限,
7-9位代表其他用户的权限。
,看两个例子如下:
644
1-3位6等于4+2+0,rw-,所有者可读、可写、不可执行
4-6位4等于4+0+0,r--,同组用户仅可读
7-9位4等于4+0+0,r--,其他用户仅可读
755
1-3位7等于4+2+1,rwx,所有者可读、可写、可执行
4-6位5等于4+1+0,伏亮r--,同组用户可读、不可写、可执行
7-9位5等于4+1+0,r--,其他用户可读、不可写、唤厅升可执行
3. linux下文件夹权限设置
1、Linux权限说明
linux的文件夹也有三种权限分别是:
r(Read 读取):对文件有读取文件内容的权限(cat指令);对目录有查看目录下内容的权限(ls命令)。
x(eXecute 执行):对文件有执行文件的权限(./指令);对目录该有进入目录的权限(cd命令)。
w(Write 写入):对文件有增加、删除、修改文件内容的权限;对目录有增加、删除、修改目录下内容的权限。w 是可以在目录下创建、修改、删除文件,不仅可以修改自己的文件也可以修改别人的文件,因此增加了一个t 权限对 x 权限进行了限制,表示只可以修改自己的文件。
umask 命令可以设置系统的权限掩码,即可以控制文件夹、文件生成时的默认权限。文件夹的默认权限是755、文件的权限644.root 帐号的umask是022,而普通用户的umask是002,这代表root用户的文件对于其他用户来说默认的权限更少。文件的默认权限是用666减umask,而文件夹的默认权限是用777减umask,这样的话相当于无论何时生成的文件的默认权限都是不可能有运行的权限。umask的设置可以在配置文件 /etc/bashrc 中进行设置、更改。
2、改变权限
改变拥有者chown(change owner):
chown yly tmp //改变文件tmp的拥有者为yly用户
chown -R yly:yly tmp //改变tmp文件及其下的文件和子目录的权限为yly用户:yly组
说明:要改变的文件拥有者,也就是用户名必须存在于/etc/passwd文件中,否则就会显示错误。另外用户密码
是保存在/etc/shadow文件夹中的。
改变群组chgrp(change group):
chgrp yly tmp //改变tmp文件的群组为yly组
说明:要改变的目标群组名称必须在于/etc/group文件中存在,否则就会显示错误。
注意:当使用cp指令复制文件时,被复制的文件拥有者和群组仍没有改变,此时需要使用以上指令进行设置。
改变文件权限chmod
4. Linux系统下用户以及权限管理
一、操作系统中的用户管理 相关配置文件解读
Linux用户在操作系统可以进行日常管理和维护,涉及到的相关配置文件如下:
/etc/passwd 保存操作系统中的所有用户信息
root : x : 0 : 0 : root : /root : /bin/bash
name:password:UID:GID:GECOS:directory:shell
用户名 :密码占位符 :uid :基本组的gid :用户信息记录字段:用户的家目录:用户登录系统后使用的命令解析器
————————————————
字段1:用户名
字段2:密码占位符
字段3:用户的UID 0 表示超级用户 , 500-60000 普通用户 , 1-499 程序用户
字段4:基本组的GID 先有组才有用户
字段5:用户信息记录字段
字段6:用户的家目录
字段7:用户登录系统后使用的命令解释器
————————————————
UID:0表示超级用户, 程序用户 (1-499),普通用户 (500以上60000以下),根据uid将用户分为以上三类用户。
/etc/shw 保存用户密码(以加密形式保存)
[root@xing /]# cat /etc/shadow
root : $6$Jw5XsDvvNBH5Xoq. : 19180 : 0 : 99999 : 7 : : :
用户名:密码(加密后的字符串):最近一次的修改时间【距离1970年1月1日的距离】:密码的最短有效期:密码的最长有效期:密码过期前7天警告:密码的不活跃期:用户的失效时间: 保留字段
————————————————
字段1:用户名
*字段2:用户的密码加密后的字符串(sha)
字段3:距离1970/1/1密码最近一次修改的时间
字段4:密码的最短有效期
*字段5:密码的最长有效期(建议时间 90)
字段6:密码过期前7天警告
字段7:密码的不活跃期
字段8:用户的失效时间
字段9:保留字段
这个字段目前没有使用,等待新功能的加入。
————————————————
/etc/group 保存组信息
————————————————
root:x:0:
bin:x:1:bin,daemon
组名:组的密码占位符:gid:附加组成员
————————————————
/etc/login.defs 用户属性限制,密码过期时间,密码最大长度等限制
/etc/default/useradd 显示或更改默认的useradd配置文件
二、文件及目录权限
文件与权限: 即文件或者目录属于哪个用户,属于哪个组,不同的用户能对该文件进行何种操作。
————————————————
注:
查看文件权限: ls -l 文件
查看目录权限 : ls -ld 目录
————————————————
[root@xing Desktop]# ls -l /root/Desktop/
total 70584
lrwxrwxrwx. 1 root root 18 Jul 14 14:32 123.txt -> /root/Desktop/ming
-rw-r--r--. (文件属性) 1 (链接个数: 表示指向它的链接文件的个数 ) root (所属者) root (所属组) 0(文件大小:单位byte) Jul 14 14:14(最后一次修改时间) 2.txt(文件名)
drwx------.(文件属性) 7 (目录中的子目录数: 此处看到的值要减2才等于该目录下的子目录的实际个数。 ) root (所属者) root (所属组) 4096 (文件大小:单位byte)Jul 13 16:56(最后一次修改时间) vmware-tools-distrib(目录名)
[root@xing Desktop]# ls -ld /root/Desktop/
drwxr-xr-x. 3 root root 4096 Jul 14 14:44 /root/Desktop/
————————————————
文件属性解释:
- rw- r-- r-- .
d rwx r-x r-x .
字段1:文件类型 【- 普通文件 d目录 l符号链接 b块设备】
字段2:文件所有者对该文件的权限
字段3:文件所属组的权限
字段4:其他用户的权限(既不是文件所有者也不是文件所属组的用户)
字段5:表示文件受 selinux 的程序管理
8进制赋权法: r 【100】4; w【010】2; x【001】1
————————————————
三、用户以及权限管理命令汇总:
————————————————
用户增删改命令
useradd
userdel
usermod
————————————————
用户组增删改命令
groupadd
groupdel
groupmod
————————————————
passwd
change
————————————————
文件权限修改: chmod命令
chmod 对象 算数运算符 权限 文件
[root@xing tmp]# ls -ld ming
drwxr-xr-x. 2 root root 4096 Jul 16 10:27 ming
[root@xing tmp]# chmod o-x ming
[root@xing tmp]# ls -ld ming
drwxr-xr--. 2 root root 4096 Jul 16 10:27 ming
————————————————
文件所属者修改:
chown 用户 文件
[root@xing tmp]# chown ming ming
[root@xing tmp]# ls -ld ming
drwxr-xr--. 2 ming root 4096 Jul 16 10:27 ming
————————————————
文件所属组修改:
chgrp 组 文件
[root@xing tmp]# chgrp ming ming
[root@xing tmp]# ls -ld ming
drwxr-xr--. 2 ming ming 4096 Jul 16 10:27 ming
————————————————
8进制赋权法
[root@xing ~]# chmod 644 /tmp/ming
[root@xing ~]# ls -ld /tmp/ming
drw-r--r--. 2 ming ming 4096 Jul 16 10:27 /tmp/ming
————————————————
linux下命令“ll”是“ls -l"的别名。
————————————————
粘滞位:赋权后的文件 只有建立者可以删除
chmod o+t 文件
[root@xing ~]# chmod o+t /tmp/ming
[root@xing ~]# ll -d /tmp/ming
drw-r--r-T . 2 ming ming 4096 Jul 16 10:27 /tmp/ming
————————————————
sgid : 赋权后的目录,新建立的文件或者子目录的所属组继承父目录的所属组
chmod g+s 目录
[root@xing ming]# chmod g+s /tmp/ming
[root@xing tmp]# ll
drw-r-Sr-T. 2 ming ming 4096 Jul 16 11:29 ming
[root@xing ming]# touch 20.txt
[root@xing ming]# ll
-rw-r--r--. 1 root ming 0 Jul 16 11:33 20.txt
[root@xing ming]# mkdir 60
[root@xing ming]# ll
drwxr-sr-x. 2 root ming 4096 Jul 16 11:34 60
————————————————
suid :允许谁运行该文件具有该文件所属者的权限
chmod u+s 文件
[root@xing Desktop]# ll /usr/bin/vim
-rwxr-xr-x. 1 root root 2324712 Dec 22 2016 /usr/bin/vim
[root@xing Desktop]# chmod u+s /usr/bin/vim
[root@xing Desktop]# ll /usr/bin/vim
-rwsr-xr-x. 1 root root 2324712 Dec 22 2016 /usr/bin/vim
备注:linux 红底白字代表警告!
————————————————
[root@xing Desktop]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
suid:4 sgid:2 粘滞位:1
[root@xing Desktop]# find /usr/bin -perm 4 755
/usr/bin/at
/usr/bin/chage
/usr/bin/pkexec
/usr/bin/Xorg
/usr/bin/crontab
/usr/bin/newgrp
/usr/bin/vim
/usr/bin/gpasswd
/usr/bin/passwd
/usr/bin/ksu
————————————————
1、不再允许添加新用户的请求
chattr命令 :用于改变文件属性
chattr +i 文件
lsttr命令 :查看文件属性
lsattr 文件
[root@xing Desktop]# lsattr /etc/passwd /etc/shadow
-------------e- /etc/passwd
-------------e- /etc/shadow
[root@xing Desktop]# chattr +i /etc/passwd /etc/shadow
[root@xing Desktop]# lsattr /etc/passwd /etc/shadow
----i--------e- /etc/passwd
----i--------e- /etc/shadow
[root@xing Desktop]# useradd kk
useradd: cannot open /etc/passwd
2、umask
root用户的umask默认值是0022,一般用户默认是0002
目录的最高权限 0777-0022=0755
文件的最高权限 0666-0022=644
一般服务器配置umask的值配置为027最好;需要去修改两处文件中的umask值。
/etc/profile
/etc/bashrc
3、修改默认的密码最长有效期:修改以下配置文件
/etc/login.defs
5. 如何在Linux中管理文件和文件夹的权限
文件/目录权限设置命令:chmod
这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限。该命令有两种用法:
用包含字母和操作符表达式的文字设定法
其语法格式为:chmod [who] [opt] [mode] 文件/目录名
其中who表示对象,是以下字母中的一个或组合:
u:表示文件所有者
g:表示同组用户
o:表示其它用户
a:表示所有用户
opt则是代表操作,可以为:
+:添加某个权限
-:取消某个权限
=:赋予给定的权限,并取消原有的权限
而mode则代表权限:
r:可读
w:可写
x:可执行
例如:为同组用户增加对文件a.txt的读写权限:
chmod g+rw a.txt
用数字设定法
而数字设定法则更为简单:chmod [mode] 文件名
关键是mode的取值
用4代表r
用2代表w
用1代表x
那么rwx r-x r- -则可以表示成为:
421 401 400
然后数字各组相加:4+2+1 4+0+1 4+0+0
也就是 7 5 4
chmod 754 test.tx
6. linux 创建文件夹没有权限
如果是root用户的话,在要创建文件的目录,上层文件夹,执行chmod -R 777 ** ,**为文件夹名称,赋予最高权限,就可以在这里创建了。
如果不是的话,只能找root用户给开一下对这个文件夹的写权限,才可以进行创建文件夹操作。
拓展资料:
所谓“文件”,就是在我们的电脑中,以实现某种功能、或某个软件的部分功能为目的而定义的一个单位。
文件有很多种,运行的方式也各有不同。一般来说我们可以通过文件名来识别这个文件是哪种类型,特定的文件都会有特定的图标(就是显示这个文件的样子),也只有安装了相应的软件,才能正确显示这个文件的伏高迟图标。
文件是与软件研制、维护和使用有关的资料,通常可以长久保存。文件是软件的重要组成部分。在软件产品研制过程中,以书面形式固定下来的用户需求、在研制周期中各阶段产生的规格说明、研究人员作出的决策及其依据、遗留问题和进一步改进的方向,以及最终产品的使用手册和操作说明等,都记录念悔在各种形式的文件中。
文件是对软件中另一组成部分── 程序的解释和说明,是对研制过程进行管理的重要缺李手段。管理人员通过文件来确立不同研制人员或小组之间的工作联系,调整研制周期。
7. linux如何给文件权限
chmod -R 755 文件夹名 ,一般加这个权限就好了。第一个数字表示根用户有读写执行权限,第二个表示组用户有读和执行的权限,第三个是其他用户有读和执行的权限。
一、访问权限
访问权限分为读(read)、写(write)、执行(execute)三种,
并且涉及到文件所有者(user)、文件所属组(group)、其他人(other)三个主体。
选取上图红框中的两行为例,结合下面的表格先讲一下基本结构:
第一位表示文件类型
第二~十位表示权限:每三位一组,共三组,分别表示三个主体对应的三种权限
对照表格可以知道
drwxr-xr-x表示:
d为目录文件
文件所有者可读、可写、可执行(rwx:可读r、可写w、可执行x)
文件所属组可读、可执行(r-x:可读r、不可写-、可执行x)
其他人可读、可执行(r-x:可读r、不可写-、可执行x)
-rw-r--r--表示:
-为普通文件
文件所有者可读、可写(rw-:可读r、可写w、不可执行-)
文件所属组可读(r--:可读r、不可写-、不可执行-)
其他人可读(r--:可读r、不可写-、不可执行-)
二、修改权限
如何修改权限?一般有两种方法:
文字法:chmod [who][operator][permission] <file-name>
数字法:chmod xxx <file-name>
1.文字法:
[who]:表示要修改的主体,
u:用户(user),即文件所有者:创建文件的人
g:同组用户(group),即文件所属组:与文件属主有相同组ID的所有用户
o:其他用户(others),即其它人:与文件无关的人
a:所有用户(all),它是系统默认值
[operator]:表示进行哪种修改操作,
+:添加某个权限
-:取消某个权限
=:赋予给定权限并取消其他所有权限(如果有的话)
[permission]:表示要设置的权限,
r:可读
w:可写
x:可执行
2.数字法:
xxx表示数字属性,格式为3个从0到7的数,其对应的主体顺序是u g o,
将对应主体位上的所有权值分别相加就可以得到这个三位数了。
4表示可读权限
2表示可写权限
1表示可执行权限
0表示没有权限
相加后的值表示的意义如下:
7=4+2+1 表示可读可写可执行
6=4+2 表示可读可写
5=4+1 表示可读可执行
3=2+1 表示可写可执行
例1:
chmod 755 <file-name>
表示将文件<file-name>的权限修改为:
u(文件所有者) 可读可写可执行
g(文件所属组) 可读可执行
o(其它人) 可读可执行
这种修改用第一种方式来写就是(假设文件之前没任何权限)(如果有权限这样写也可以,只是太繁琐):
chmod a+rx,u+w <file-name>
或
chmod ugo+rx,u+w <file-name>
或
chmod u+rwx,go+rx <file-name>
另外,
如果原来文件已经有权限,如-rw-r--r--,则用第一种方式来写如下:
chmod ugo+x <file-name>
或
chmod a+x <file-name>
如果原来文件已经有权限,如drwxrwxrwx,则用第一种方式来写如下:
chmod go-w <file-name>
例2:
chmod 777 <file-name>
表示将文件<file-name>的权限修改为:
a(所有人)可读可写可执行
这种修改用第一种方式来写就是(假设文件之前没任何权限)(如果有权限这样写也可以,只是太繁琐):
chmod a+rwx <file-name>
或
chmod ugo+rwx <file-name>
另外,
如果原来文件已经有权限,如drwxr-xr-x,则用第一种方式来写如下:
chmod go+w <file-name>
8. Linux目录与文件的权限管理
文件的权限意义
r:
表示可以读取该文件的内容
w:
表示可以编辑、新增或修改该文件的内容,但不具备删除该文件的权限
x:
表示可以执行该文件
目录的权限意义
r:
表示具有读取目录结构列表的权限,即可以利用ls命令列出目录下的文件列表
w:
更改目录结构列表的权限,包含:新建、删除、重命名、移动该目录下的所有文件和目录
x:
表示拥护能否进入该目录成为工作目录(cd命令)
修改权限及属性的命令
chgrp:修改所属用户组
chown:修改所属用户和用户组
chmod:修改权限
chgrp
[-R]
dir/filename
chown
[-R]
user:group
dir/filename
chmod
[-R]
xyz
dir/filename
-R针对目录,表示递归修改,即连同该目录下的所有文件和主目录一起修改。
9. Linux权限管理基本知识
Linux权限管理基本知识大全
Linux系统有什么基本权限,权限管理命令是什么?下面跟我一起来看看吧!
一、基本权限
linux权限机制采用UGO模式。其中 u(user)表示所属用户、g(group)表示所属组、o(other)表示除了所属用户、所属组之外的情况。
u、g、o 都有读(read)、写(write)、执行(excute) 三个权限,所以UGO模式是三类九种基本权限。
用命令 ls -l 可列出文件的权限,第一列输出明确了后面的输出(后面一列代表 ugo权限)。第一个字母对应的关系:
“-” 普通文件
“d” 目录
”l“ 符号链接
”c“ 字符设备
"b" 块设备
"s" 套接字
"p" 管道
修改文件或目录的所属用户: chown 文件名 | 目录名 用户
-R 该参数以递归的方式修改目录下所有文件的所属用户,参数可以敲 chown --help 查看。
修改文件或目录的所属组: chgrp 文件名 | 目录名 组名
-R 该参数以递归的方式修改目录下的所有文件的'所属组。
命令chmod 用来修改文件或目录的权限: chmod -参数 模式 文件 | 目录
例子: 修改目录 log下所有文件的权限为700
chmod -R 700 log
注:700的来历是 u g o
rwx rwx rwx
111 000 000
关于 chmod 命令的权限模式除了数字表示,还可以是 u、g、o 、a 加 +、- 来表示。格式如下:u、g、o分别代表用户、属组和其他,a 就是
all ,可以代替ugo。 +、- 代表增加或删除对应的权限,r、w、x 代表三种权限,分别是读、写、执行。
例子:对于目录 log下的所有文件(已有权限是700)增加所属组(g)的读(r)、执行(x)权限。
chmod -R g+rx log
类似的命令可能还有很多,这里只是举几个最基本且常用的例子。很多命令用到时,再去查也可以。还可参考《鸟哥的Linux私房菜》。
二、特殊权限
Linux的3个特殊的权限,分别是setuid、setgid和stick bit。
setuid权限(S):只有用户可拥有,出现在执行权限(x)的位置。
setuid权限允许用户以其拥有者的权限来执行可执行文件,即使这个可执行文件是由其他用户运行的。
setgid权限(S):对应于用户组,出现在执行权限(x)的位置。
setgid权限允许以同该目录拥有者所在组相同的有效组权限来允许可执行文件。但是这个组和实际发起命令的用户组不一定相同。
stick bit (t /T):又名粘滞位,只有目录才有的权限,出现在其他用户权限(o)中的执行位置(x)。当一个目录设置了粘滞位,只有创建了该目录的用户才能删除目录中的文件,但是其他用户组和其他用户也有写权限。使用 t 或 T来表示。若没有设置执行权限,但是设置了粘滞位,使用 t;若同时设置了执行权限和粘滞位使用 T。典型的粘滞位使用是 /tmp 目录,粘滞位属于一种写保护。
设置特殊权限:
setuid: chmod u+s filename
setgid: chmod g+s directoryname
stick bit: chmod o+t directoryname
用数字表示特殊权限,是在基本权限之上的。浊嘴笨腮说不清楚,看例子:
例子:将上面例子中的log日志目录(已有权限 700)权限设置为755。特殊权限是类似 /tmp目录的 stick bit有效。
特殊权限 基本权限
setuid setgid stick bit user group other
0 0 1 rwx rwx rwx
111 000 000
所以,设置特殊权限(stick bit)的命令应该是:chmod 1755 log
设置特殊权限后,ls -dl 查看该目录:drwxr-xr-t 2 gg gg 4096 5月 11 19:05 log ( 注意 other 的 x 位是代表特殊权限的字母 t )
取消该特殊权限的命令:chmod 755 log 。如此 stick bit的权限就没有了。
再次 ls -dl 查看该目录: drwxr-xr-x 2 gg gg 4096 5月 11 19:15 log ( 注意最后一位已经变为代表普通权限的字母x )
需要注意的是,最前面一位 ”1“ 就是特殊权限位。其他两个特殊权限的设置也类似。setuid使用不是无限制的。出于安全目的,只能应用在Linux ELF格式二进制文件上,而不能用于脚本文件。
三、高级权限
ACL(Access Control List),访问控制列表是Linux下的的高级权限机制,可实现对文件、目录的灵活权限控制。ACL 允许针对不同用户、
不同组对同一个目标文件、目录进行权限设置,而不受UGO限制。
在一个文件系统上使用ACL需要在挂载文件系统的时候打开ACL功能。而根分区(ROOT)默认挂载的时候支持ACL。
命令:mount -o acl /挂载路径
例子:mount -o acl /dev/sdb1 /mnt
查看一个文件的ACL设置的命令: getfacl file
(针对一个用户)为一个文件设置指定用户的权限的命令: setfacl -m u:username:rwx filename
(针对一个组)为一个文件设置指定组的权限的命令: setfacl -m g:groupname:r-x filename
删除一个ACL设置的命令: setfacl -x u:username filename
;