linux 目录权限设置

Posted lixinliang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 目录权限设置相关的知识,希望对你有一定的参考价值。

权限设置

  • 需求: 所有除 root 用户外的普通用户拥有对指定数据目录的所有权限
  • 方式一:
  • 模拟
# 创建两个用户 
useradd test1 
useradd test2 

# 创建指定数据目录
mkdir /export/yp

# setfacl 设置权限
setfacl -d -m u::rwx,g::rwx,o::rwx  /export/yp

# 创建数据目录(data 为777 权限)
mkdir /export/yp/data

# 用户 test1 操作
su - test1
cd /export/yp/data/
mkdir test1data

# 用户 test2 操作
su - test2
cd /export/yp/data/
rm -rf test1data


# test2 可以删除 test1 用户创建的文件,证明权限已设置正确
  • 方式二:
# 设置所有普通用户的umask 值
umask 0000
这是临时生效,可以将 umask 值放入 .bashrc 里面。

echo "umask 0000" >> /home/test1/.bashrc
 
echo "umask 0000" >> /home/test2/.bashrc

Linux 权限设置chmod

Linux中设置权限,一般用chmod命令

1、介绍

权限设置chmod

功能:改变权限命令。
常用参数:

1=x(执行权execute) 2=w(写权write) 4=r(读权Read)

setuid 设置后,文件拥有文件所有者的权限如root权限

setgid 设置后,目录下创建的文件件拥有此目录所属组的权限

stickybit 设置后,文件不可被删除
操作提示:chmod 参数 文件或目录名

2、文件权限解析

 

如上图,这是一个txt文件的权限属性,ower即为文件创建者对文件可操作的权限,group为文件创建者所在组对文件可操作的权限,Others就是其它用户操作的权限了。

Octal中,第一个数字0代表setuid+setgid+stickybit,第二个数字7代表owner的R+W+X相加,第三个数字代表Group的R+W+X相加,Others也是一样。

所以如上"0776"的详细解释就是:rwxrwxrw-

再如”7766“,代表rwsrwSrwT

那么原来的执行标志x到哪里去了呢? 系统是这样规定的, 如果本来在该位上有x, 则这些特殊标志显示为小写字母 (s, s, t). 否则, 显示为大写字母 (S, S, T)

Got it?

3、命令窗口

讲一个例子,“6677”,在属性权限和命令窗口中,显示为如下:

 具体权限的含义就不说了,看看命令行窗口中标红的地方,是不是觉得和之前说的有点不一样?

是的,前面多了一位”-“,这第一位是用来代表文件或者目录是否是symbolic link符号链接(通俗的说,快捷方式)

如果是快捷方式,如上c.txt,第一位显示为l,具体指向a.txt

4、命令操作

显示文件列表详细 ls -l

改变权限 chmod 776 h.txt

一般常用的就这俩个命令。

也有一些其它的命令,单独设置某种类型权限。

chmod u+s temp -- 为temp文件加上setuid标志. (setuid 只对文件有效)
chmod g+s tempdir -- 为tempdir目录加上setgid标志 (setgid 只对目录有效)
chmod o+t temp -- 为temp文件加上sticky标志,防止误删 (sticky只对文件有效)

如上命令,chmod u+s h.txt,单独设置了h.txt文件拥有创建者的权限。

以上是关于linux 目录权限设置的主要内容,如果未能解决你的问题,请参考以下文章

linux 用户怎么设置权限,只能访问指定的目录,其他目录都不允许访问

linux 目录权限设置

Linux设置文件目录权限,四位数的目录权限定义

Linux下web目录权限设置

如何在linux上设置写入但不删除目录的权限?

Linux文件目录权限