在 Linux 上给用户赋予指定目录的读写权限

在 Linux 上给用户赋予指定目录的读写权限,第1张

在 Linux 上指定目录的读写权限赋予用户,有两种方法可以实现这个目标:第一种是使用 ACL (访问控制列表),第二种是创建用户组来管理文件权限,下面会一一介绍。为了完成这个教程,我们将使用以下设置:

请确认所有的命令都是使用 root 用户执行的,或者使用 sudo 命令来享受与之同样的权限。让我们开始吧!下面,先使用 mkdir 命令来创建一个名为 share 的目录。

1. 使用 ACL 来为用户赋予目录的读写权限

重要提示: 打算使用此方法的话,您需要确认您的 Linux 文件系统类型(如 ext3 和 ext4, NTFS, BTRFS)支持 ACL。

1.1. 首先, 依照以下命令在您的系统中检查当前文件系统类型,并且查看内核是否支持 ACL:

从下方的截屏可以看到,文件系统类型是 ext4,并且从 CONFIG_EXT4_FS_POSIX_ACL=y 选项可以发现内核是支持 POSIX ACL 的。

[图片上传失败...(image-c85622-1574572716190)]

1.2. 查看文件系统(分区)挂载时是否使用了 ACL 选项。

[图片上传失败...(image-bdb4d9-1574572716190)]

通过上边的输出可以发现,默认的挂载项目中已经对 ACL 进行了支持。如果发现结果不如所愿,你可以通过以下命令对指定分区(此例中使用 /dev/sda3)开启 ACL 的支持)。

1.3. 指定目录 share 的读写权限分配给名为 shenweiyan 的用户了,依照以下命令执行即可。

[图片上传失败...(image-dfb909-1574572716190)]

在上方的截屏中,通过输出结果的第二行 getfacl 命令可以发现,用户 shenweiyan 已经成功的被赋予了 /data/share 目录的读写权限。

如果想要获取 ACL 列表的更多信息。请参考:

2. 使用用户组来为用户赋予指定目录的读写权限

2.1. 如果用户已经拥有了默认的用户组(通常组名与用户名相同),就可以简单的通过变更文件夹的所属用户组来完成。

另外,我们也可以通过以下方法为多个用户(需要赋予指定目录读写权限的)新建一个用户组。如此一来,也就创建了一个共享目录。

2.2. 接下来将用户 shenweiyan 添加到 dbshare 组中:

2.3. 将目录的所属用户组变更为 dbshare:

2.4. 现在,给组成员设置读写权限。

ok,在 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/shdaow 保存用户密码(以加密形式保存)

[root@xing /]# cat /etc/shadow

root : $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

在linux中给文件夹赋权限的步骤如下:

1.首先,咱们用客户端工具(工具很多,我用的是xshell),用需要建立的文件夹的账户登录系统,例如我现在是用的Root用户。红色框框内,写着root证明,登录的用户没有问题。

2.此时进入到需要新建文件夹的目录下,例如我们现在要去/u1下面去建立文件夹,则使用命令cd u1即可。如果其他的文件夹:cd u1/out。

3.进入需要建立新文件的目录后完成,直接录入新建文件命令:mkdir  fanfan建立后,可以“ls”下,可以看到建立的目录存在了。

4.此时可以查看文件夹的权限,可以使用ls -la此命令可以看到下属相关文件夹的权限。这样就解决了在linux中给文件夹赋权限的问题了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/6182152.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存