鱼C论坛

 找回密码
 立即注册
查看: 611|回复: 4

[已解决]centos9 用户权限的问题求助

[复制链接]
发表于 2023-3-30 13:04:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请问友友,
     我最近在服务器上安装了centos9,也安装了samba,实现了文件共享,我把用户分成了组,把共享的文件夹分给相应的组访问,
但是不熟悉这个系统,现在碰到了有关用户权限的问题。
1、用户登录共享目录时,会显示共享的目录,同时会出现以用户登录名命名的一个共享目录,但是打不开;
    我想如何把这个自动生成的共享目录关闭。

2、加入了多个组的用户,只能访问其中一个组共享的目录,其它组的共享目录无法访问。
   我的想法是,如果user1加入了A、B两个用户组,那么user1应该可以访问A、B组相应的两个共享目录,
   但是现在的情况是 user1只能访问A组的共享目录。

我刚接触这个linux,请教高手指点,万分感谢!!!!
最佳答案
2023-3-30 13:11:11
您的问题可能有以下几种解决方法:

1、用户登录共享目录时,会显示共享的目录,同时会出现以用户登录名命名的一个共享目录,但是打不开;
    我想如何把这个自动生成的共享目录关闭。

    这可能是因为您的samba配置文件中有一个默认的[homes]区域,它会为每个登录的用户创建一个以用户名命名的共享目录。如果您不需要这个功能,您可以在samba配置文件中注释掉或删除这个区域。

2、加入了多个组的用户,只能访问其中一个组共享的目录,其它组的共享目录无法访问。
   我的想法是,如果user1加入了A、B两个用户组,那么user1应该可以访问A、B组相应的两个共享目录,
   但是现在的情况是 user1只能访问A组的共享目录。

    这可能是因为您的samba配置文件中没有正确设置用户组和权限。您需要确保每个共享目录都有对应的valid users和write list参数,指定哪些用户或用户组可以访问和写入该目录。例如,如果您想让A组和B组都可以访问和写入file1目录,您可以在samba配置文件中添加如下内容:

    [file1]
    path = /var/samba/file1
    valid users = @A @B
    write list = @A @B

    您还需要确保每个用户都属于正确的用户组,并且每个共享目录都有正确的所有者和权限[^3^][3] [^4^][4]。例如,如果您想让user1属于A组和B组,您可以使用如下命令:

    # usermod -aG A,B user1

    如果您想让file1目录属于user1用户和user1用户组,并且只有所有者和用户组成员可以读写执行该目录,您可以使用如下命令:

    # chown user1.user1 /var/samba/file1
    # chmod 770 /var/samba/file1

    您修改完samba配置文件后,需要重启samba服务才能生效。您可以使用如下命令:

    # systemctl restart smb nmb

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-30 13:11:11 | 显示全部楼层    本楼为最佳答案   
您的问题可能有以下几种解决方法:

1、用户登录共享目录时,会显示共享的目录,同时会出现以用户登录名命名的一个共享目录,但是打不开;
    我想如何把这个自动生成的共享目录关闭。

    这可能是因为您的samba配置文件中有一个默认的[homes]区域,它会为每个登录的用户创建一个以用户名命名的共享目录。如果您不需要这个功能,您可以在samba配置文件中注释掉或删除这个区域。

2、加入了多个组的用户,只能访问其中一个组共享的目录,其它组的共享目录无法访问。
   我的想法是,如果user1加入了A、B两个用户组,那么user1应该可以访问A、B组相应的两个共享目录,
   但是现在的情况是 user1只能访问A组的共享目录。

    这可能是因为您的samba配置文件中没有正确设置用户组和权限。您需要确保每个共享目录都有对应的valid users和write list参数,指定哪些用户或用户组可以访问和写入该目录。例如,如果您想让A组和B组都可以访问和写入file1目录,您可以在samba配置文件中添加如下内容:

    [file1]
    path = /var/samba/file1
    valid users = @A @B
    write list = @A @B

    您还需要确保每个用户都属于正确的用户组,并且每个共享目录都有正确的所有者和权限[^3^][3] [^4^][4]。例如,如果您想让user1属于A组和B组,您可以使用如下命令:

    # usermod -aG A,B user1

    如果您想让file1目录属于user1用户和user1用户组,并且只有所有者和用户组成员可以读写执行该目录,您可以使用如下命令:

    # chown user1.user1 /var/samba/file1
    # chmod 770 /var/samba/file1

    您修改完samba配置文件后,需要重启samba服务才能生效。您可以使用如下命令:

    # systemctl restart smb nmb

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-30 14:31:18 | 显示全部楼层
isdkz 发表于 2023-3-30 13:11
您的问题可能有以下几种解决方法:

1、用户登录共享目录时,会显示共享的目录,同时会出现以用户登录名 ...

你好,非常感谢你的回答,
按你的操作,第1个问题已经解决了,
另外,我想就第2个问题,还有3个疑问,
1、我发现我的问题是权限设置成了760的就是无法访问,
按理来说,760是应该可以读写的,还是想不明白这点。

2、这条命令,chown user1.user1 /var/samba/file1
组内的每个用户都需要这样执行吗?
我不能只执行chown .user1 /var/samba/file1 ,表示所有组内用户可以访问吗?
有什么区别呢?
3、如何实现共享目录里,只让用户看见自己能访问的共享目录。
感谢你的答疑,谢谢!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-30 14:52:27 | 显示全部楼层
pysunred 发表于 2023-3-30 14:31
你好,非常感谢你的回答,
按你的操作,第1个问题已经解决了,
另外,我想就第2个问题,还有3个疑问,
...

1、760 这个权限表示所有者权限为 7(可读可写可执行),所有组权限为6(可读可写),其它用户权限为0

如果访问这个目录的用户不是这个目录的所有者或所有组中的一员,则归为其它用户,这是没有任何权限的

2、chown 这个命令只是改变文件或目录的所有组和所有者,至于访问权限还得根据权限的设置来定

3、通过chown和chmod结合对目录的所有权和权限的设置来限定
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-30 15:40:14 | 显示全部楼层
isdkz 发表于 2023-3-30 14:52
1、760 这个权限表示所有者权限为 7(可读可写可执行),所有组权限为6(可读可写),其它用户权限为0

...

感谢,
现在A组的成员user1,user2……可以访问属于A组的共享目录files_A,
但是A组的成员在共享目录里新建的文件或文件夹,只有自己可以访问,A组其他成员无法访问
我执行了下面的命令,问题仍然存在,
chmod -R 770 /usr/share/files_A
按理来说,-R是表示给目录下的所有文件或文件夹执行770权限,为什么没有生效呢?
感谢答疑!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 17:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表