当前位置: 首页 > IT知识 > 如何使用Linux更改文件属性?

如何使用Linux更改文件属性?

发布时间:2024-07-31 02:01:37 作者:电子资源网 阅读:3次

linux如何修改文件属性命令,文件所有者以外的用户又可以分为文件所属组的同组用户和其他用户。  因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。linux文件属性修改方法如下:

Linux文件属性修改

1、chgrp:更改文件属组

语法

chgrp [-R] 属组名 文件名

参数选项

 · -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

2、chown:更改文件属主,也可以同时更改文件属组

语法

chown [–R] 属主名 文件名 chown [-R] 属主名:属组名 文件名

进入 /root 目录(~)将install.log的拥有者改为bin这个账号:

[root@www ~] cd ~ [root@www ~]# chown bin install.log [root@www ~]# ls -l -rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log

将install.log的拥有者与群组改回为root:

[root@www ~]# chown root:root install.log [root@www ~]# ls -l -rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log

3、chmod:更改文件9个属性

Linux文件属性有两种设置方法,一种是数字,一种是符号。

Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。

先复习一下刚刚上面提到的数据:文件的权限字符为: -rwxrwxrwx , 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:

 · r:4

 · w:2

 · x:1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: -rwxrwx--- 分数则是:

 · owner = rwx = 4+2+1 = 7

 · group = rwx = 4+2+1 = 7

 · others= --- = 0+0+0 = 0

所以等一下我们设定权限的变更时,该文件的权限数字就是 770。变更权限的指令 chmod 的语法是这样的:

chmod [-R] xyz 文件或目录

选项与参数:

 · xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。

 · -R : 进行递归(recursive)的持续变更,以及连同次目录下的所有文件都会变更

举例来说,如果要将 .bashrc 这个文件所有的权限都设定启用,那么命令如下:

[root@www ~]# ls -al .bashrc -rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc [root@www ~]# chmod 777 .bashrc [root@www ~]# ls -al .bashrc -rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc

那如果要将权限变成 -rwxr-xr-- 呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754。

符号类型改变文件权限

还有一个改变权限的方法,从之前的介绍中我们可以发现,基本上就九个权限分别是:

 · user:用户

 · group:组

 · others:其他

那么我们就可以使用 u, g, o 来代表三种身份的权限。

此外, a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x,也就是可以使用下表的方式来看:

chmod u
g
o
a
+(加入)
-(除去)
=(设定)
r
w
x
文件或目录

如果我们需要将文件权限设置为 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定:

# touch test1 // 创建 test1 文件 # ls -al test1 // 查看 test1 默认权限 -rw-r--r-- 1 root root 0 Nov 15 10:32 test1 # chmod u=rwx,g=rx,o=r test1 // 修改 test1 权限 # ls -al test1 -rwxr-xr-- 1 root root 0 Nov 15 10:32 test1

而如果是要将权限去掉而不改变其他已存在的权限呢?例如要拿掉全部人的可执行权限,则:

# chmod a-x test1 # ls -al test1 -rw-r--r-- 1 root root 0 Nov 15 10:32 test1

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用户可以访问。

UOS系统打印机测试页和删除方法指南【2022最新】

UOS操作系统是基于Linux开发的一款操作系统,许多用户在使用该系统的时候对很多基础的操作还不是那么熟悉。下面大家一起看看怎么打印测试页和删除打印机吧!

操作方法:

打印测试页

点击 打印测试页,测试是否打印成功。

打印成功:测试页打印成功,可进行其他的打印任务。

打印失败:测试页打印失败,选择重新安装或故障排查。

故障排查

打印失败时,可点击 故障排查,排查内容如下:

UOS系统打印测试页和删除打印机的方法教程

检查 cups 服务是否开启。

检查驱动文件是否完整。

检查打印机设置:打印机是否启动、是否接受任务。

检查打印机连接状态是否正常

右键设置

选中打印机型号,点击右键,可设置打印机是否共享、是否启动、是否接受任务、是否设为默认打印机。

UOS系统打印测试页和删除打印机的方法教程

删除打印机

在打印管理器界面,点击-,可以删除选中的打印机。

UOS系统打印测试页和删除打印机的方法教程

Linux新特性:str()函数可将Python整数瞬间转化为字符串!

本文所使用的环境是Linux操作系统,在系统中使用Python str()函数可将Python整数转换为字符串,另外,本文还讲解连接字符串和整数的方法。当前Python有几种内置数据类型,有时,在编写Python代码时,您可能需要将一种数据类型转换为另一种数据类型,例如,连接一个字符串和整数,首先您需要将整数转换为字符串,以下就来一起操作。

转换方法

Python str()函数

在Python中,我们可以使用内置的str()函数将整数和其他数据类型转换为字符串。

str()函数返回给定对象的字符串版本,它采取以下形式:

class str(object='') class str(object=b'', encoding='utf-8', errors='strict')

其中object是要转换为字符串的对象。

该函数接受三个参数,但是通常,当将整数转换为字符串时,您只会将一个参数(object)传递给该函数。

将Python整数转换为字符串

要将整数23转换为字符串版本,只需将数字传递给str()函数:

str(23) type(days)

返回:

'23' <class 'str'>

23周围的引号表示数字不是整数,而是字符串类型的对象,同样,type()函数表明该对象是一个字符串。

注:在Python中,使用单引号('),双引号(")或三引号(""")声明字符串。

连接字符串和整数

让我们尝试使用+运算符将字符串和整数连接起来并打印结果:

number = 6 lang = "Python" quote = "There are " + number + " relATIonal operators in " + lang + "." print(quote)

Python将出现TypeError异常错误,因为它无法连接字符串和整数:

Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: can only concatenate str (not "int") to str

要将整数转换为字符串,请将整数传递给str()函数:

number = 6 lang = "Python" quote = "There are " + str(number) + " relATIonal operators in " + lang + "." print(quote)

现在,当您运行代码时,它将成功执行:

There are 6 relational operators in Python.

还有其他方式来连接字符串和数字。

内置的字符串类提供了format()方法,该方法使用任意一组位置和关键字参数来格式化给定的字符串:

number = 6 lang = "Python" quote = "There are {} relational operators in {}.".format(number, lang) print(quote)

返回:

There are 6 relational operators in Python.

在Python 3.6及更高版本上,您可以使用f字符串,这些字符串是前缀为“f”的文字字符串,其中包含括号内的表达式:

number = 6 lang = "Python" quote = f"There are {number} relational operators in {lang}." print(quote)

返回:

There are 6 relational operators in Python.

最后,您可以使用旧的%-格式:

number = 6 lang = "Python" quote = "There are %s relational operators in %s." % (number, lang) print(quote)

返回:

There are 6 relational operators in Python.

如果要在Python中将整数转换为字符串,使用str()函数就可以达到目的了。

渝ICP备20008086号-14 违法和不良信息举报/未成年人举报:dzjswcom@163.com

CopyRight©2003-2018 违法和不良信息举报(12377) All Right Reserved