linux里面怎么设置用户只能看某个目录下的文件?不能看其他的目录,但其他用户能看这个目录。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux里面怎么设置用户只能看某个目录下的文件?不能看其他的目录,但其他用户能看这个目录。相关的知识,希望对你有一定的参考价值。

比如说:用户A只能访问1目录下的文件,然后不能访问其他目录,但是B、C、D等用户能访问1目录和其他目录,要怎么做????

可以用setfacl -x u:userA -R /   #删除userA的所有权限,

setfacl -m u:userA:rwx /dir1  #赋予userA对dir1的读写执行权限,

setfacl -m u:userB:rwx /dir1  #赋予userB对dir1的rwx权限,同理可以设置userB C D对dir2,3,4等等其它目录的权限。

不过一般设置权限都需要你有root权限才行。

1、首先在终端输入 su 回车, 输入root帐户密码,获得root权限(如果已经是管理员权限则这步可以省了)。

2、然后就是chmod 777(此处空格)+上你要改的文件目录地址,777的意思是给所有的用户读、写、执行的权限。

3、还有常用的是755(把上面的命令中的777改成755)这是对目录的所有者添加读、写、执行的权限,其他用户只有读和执行的权限。 

参考技术A 用ACL授权可以处理这个问题

setfacl -m u:username:rwx dir/file  
-m:添加或者修改
u[设置用户]:username[用户名]:rwx[设置权限]
g[设置组]:groupname[组名]:rwx[设置权限]
 
setfacl -m u:username:r -R dir #同时设置子目录下的权限
-R : 递归设置子目录下的权限

setfacl -x u:username dir/file #删除用户的权限
setfacl -x g:groupname dir/file #删除组的权限
setfacl -b dir/file  #删除该目录的全部acl权限

 

就这个问题,可以用

setfacl -x u:userA -R /   #删除userA的所有权限

setfacl -m u:userA:rwx /dir1  #赋予userA对dir1的读写执行权限

setfacl -m u:userB:rwx /dir1  #赋予userB对dir1的rwx权限,同理可以设置userB C D对dir2,3,4等等其它目录的权限

参考技术B 权限分为 读写执行 (r w x )
用户分为(文件所属) 拥有者owner 同组 grouper 其他人other
1文件 将B/C/D 划分为同组成员 ,然后对/根目录(或者为1的上级目录)做只有拥有者及同组成员有 r w x 权限(自定义),A为其它成员,单独为1做其它人也能访问的权限(rwx)
命令涉及 chmod ;chown -R
参考技术C 把A用户放入a组,BCD用户放入b组
然后把1目录的权限设成rwxrwx---,然后组是a组
最后,再把BCD用户加入a的额外组里面,就可以了
参考技术D 建两个group

第一个group 只对1目录有访问权限
第二个gruop 对所有目录有访问权限
把A 加到第一个组 B C D 加到另一个组本回答被提问者采纳

让linux下的用户只有只读权限

就是说 我再SSH下新建了个SSH用户 想让那个用户只有读目录的权限 没有其他执行权限 或者无法修改SSH其他目录下文件的权限 有方法可以解决吗?
LINUX怎么新建个组啊,给个guest权限,指定一个临时目录

能把具体命令告诉我下吗

  可以用chmod 命令修改文件权限。
  chmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
  用法:
  文字设定法:
  chmod [who] [+ | - | =] [mode] 文件名¼
命令中各选项的含义为:
操作对象who可是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是:
+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行。
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件 的用户ID位,“g+s”设置组ID位。
t 保存程序的文本到交换设备上。
u 与文件属主拥有一样的权限。
g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。
文件名:以空格分开的要改变权限的文件列表,支持通配符。
在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r example 使同组和其他用户对文件example 有读权限。
  数字设定法:
  数字表示的属性的含义:
  0表示没有权限
  1表示可执行权限
  2表示可写权限
  4表示可读权限
  然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)
  如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)
参考技术A 可以啊,用命令下输入 groupadd 组名
chmod g-w 文件名 给这个组只写的权限
chmod g-r 文件名 给这个组只读的权限
参考技术B 系统默认吧 用chown +rrr 目录名 参考技术C groupadd guest 参考技术D linux下的读写和执行权限是基于文件的。每个目录、甚至每个设备都是文件。每个单个的文件有文件主rwx、组rwx和别人(other, 即外部世界)的rwx标识, 这里r是读,w是写,x是执行。
另外,不给一个用户一点必要的执行权限(如果可能的话),那也是不现实的。因为,他要进入一个目录,这个目录必须至少是other可执行的。他要读一个文件,必须用到如ls, less, cat一类工具(即执行这些可执行文件)。
有个折中的办法是,新建了个用户时不给他HOME,因为,每个用户在自己的HOME里一般(有些文件也例外)有rwx全权。同时,给他一个简单的shell(包括以上所说的ls, less, cat之类)。
关于文件夹的执行权限:当要访问一个文件夹的时候必须要有执行权限,如果没有那么不能进入这个文件夹,即使对这个文件夹有写的权限也不能在这文件夹下建立任何文件和文件夹。
如果对一个文件夹只有只读的权限,那么只能在这个文件夹外部对其读取而不能进入其内部。

关于文件夹内的删除文件问题:
要想在文件夹内写新的文件和新的文件夹进去,或者想删除文件夹里的文件,必须同时拥有执行和写这两个权限,没有的话是不能新建目录的。
建立一个新用户

  修改用户的个人设置

文件目录的权限设置

两个重要文件:passwd与group

建立一个新用户

建立一个新的用户包括两个步骤,第一步是使用useradd命令完成一个新用户的初始化设置工作;第二步是用passwd为这个新用户设置密码。例如,我们要给系统添加一个用户叫floatboat,密码为fan2001z,那相关的操作是:

useradd floatboat <回车>

这时候系统没有任何显示。接着:

passwd floatboat <回车>

系统显示:

Changing password for user floatboat

New UNIX password:

你输入:

fan2001z<回车>

注意,由于linux并不采用类似windows的密码回显(显示为*号)——为避免你输入密码时被人注意到有多少位——所以,输入的这些字符你是看不见的。

系统显示:

Retype new UNIX password:

你再重新输入一次密码,然后回车确认,这时系统会显示:

passwd:all authentication tokens updated successfully

表示修改密码成功了。

到这里,新用户的创建工作就算完成了。

以上是关于linux里面怎么设置用户只能看某个目录下的文件?不能看其他的目录,但其他用户能看这个目录。的主要内容,如果未能解决你的问题,请参考以下文章

svn用户权限的设置

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

linux怎么删除当前目录下的所有文件

Linux怎么将一个文件后五行内容转存到其他目录下?

linux 怎么压缩某个目录下的所有文件

linux如何修改用户主目录