linux的权限管理?ubuntu用户权限管理

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

;

Linux系统设置安全管理教程

Linux是一个免费传播的操作系统,Linux系统进程可以操作任何文件、数据库等。在特定条件下。如果这个过程被不法分子用于其他非法目的,会给系统带来很大的危害。占服务器市场份额绝大部分的Linux系统,在这个前提下必须保证计算机系统的安全性,所以我们不得不对其进程进行安全管理。如何设置Linux系统安全管理?

下面就是设置系统安全管理的步骤:

1.引导程序安全

Linux系统的root密码是很容易破解的,当然前提是你没有设置引导程序密码,如GRUB或LILO,为了防止通过引导程序破译root密码,强烈建议设置GRUB或LILO的引导密码,可以编辑其配置文件/etc/grub.conf或/etc/lilo.conf,设置password参数。

2.不安全权限设置

大家常见的Linux下文件权限是r w x,其实还有一种权限叫s,如果给某个文件赋予的s权限,那么这个文件在执行的时候就会拥有相应宿主用户或宿主组用户的权限,例如:

#chmod u+s testfile

#ls-la testfile

rwsr root root 10 testfile

这样,当这个文件被其它用户执行的时候,此用户就具有了此文件宿主用户root的对testfile的执行权限。类似,当文件的宿主组具有s权限后,执行此文件的用户就具有了此文件宿主组用户对此文件的权限,这是相当危险的。

大家可以试想下,如果命令chmod的文件被赋予了s权限,那么其它用户还有什么事情是不能做的呢?那它就可以更改任何文件的权限了,当然,s权限需要和x权限结合使用,没有x权限的s权限是没有任何意义的。

3.自动注销

当某个用户使用服务器后忘记注销,也是很危险的事情,此时,管理员可以设置/etc/profile文件的timeout参数,当用户一段时间不做任何操作时,系统自动注销此用户。

4.设置口令复杂度

为了防止系统用户口令过于简单而被破译,可以编辑/etc/login.defs文件,设置系统用户口令复杂度,例如口令最长,最短,过期时间等。

5.禁止不必要用户登陆系统

为了防止其它非系统用户登陆系统,可以在添加用户时,赋予此用户不存在的主目录和不存在的shell环境,当然,最好还更改/etc/passwd和/etc/shadow两个文件的访问权限,使之后root用户可以访问。

Linux中如何把普通用户提升为root用户权限

在Linux系统中,拥有root用户权限是进行系统管理工作的必备条件。通常情况下,普通用户只有特定权限,无法执行需要root权限的操作。然而,当需要执行系统级别的操作时,如修改系统配置文件或安装软件,就需要提升权限。

实现这一目标的途径之一是修改/etc/passwd文件。具体操作是将需要提升权限的用户的UID和GID均改为0。这样做可以赋予该用户root权限。

此外,值得注意的是,对于/etc/group文件,是否进行修改取决于实际需求。通过测试发现,即使不修改/etc/group文件,系统依然能够识别并赋予用户root权限。当然,如果修改了/etc/group文件,也不会产生负面影响,依然能够正常使用。

但是,这种方法并不推荐作为常规操作。因为直接修改/etc/passwd和/etc/group文件可能会对系统安全性和稳定性造成潜在风险。因此,建议使用更安全的机制,如sudo工具,来临时提升普通用户的权限。

使用sudo工具时,用户需要在/etc/sudoers文件中进行配置,指定哪些用户可以使用sudo命令以及允许执行哪些命令。这样,系统管理员可以更精细地控制哪些用户拥有哪些权限,从而提高系统的安全性和管理效率。

总之,在Linux系统中,通过修改/etc/passwd文件可以临时赋予普通用户root权限,但这并不是推荐的做法。使用sudo工具进行权限管理更为安全和灵活,能够更好地满足日常管理和维护需求。

阅读剩余
THE END