Python os.lchown() 方法



Python 的 lchown() 方法用于更改指定文件路径的 owner ID (UID) 和群组 ID (GID)。要保持其中一个 ID 不变,请将其设置为 -1。

UID 和 GID 是与系统中的每个用户和组关联的整数值。仅允许超级用户更改这些 ID。

语法

以下是 Python lchown() 方法的语法 -


 os.lchown(path, uid, gid)

参数

Python lchown() 方法接受以下参数 -

  • path - 这是需要设置所有权的文件路径。
  • uid − 指定要为文件设置的 Owner ID。
  • gid − 这是要为文件设置的组 ID。

返回值

Python lchown() 方法不返回任何值。

以下示例显示了 lchown() 方法的用法。在这里,我们将更改单个文件的所有者 ID 和组 ID。


#!/usr/bin/python
import os, sys

# Open a file
path = "foo.txt"
fd = os.open( path, os.O_RDWR|os.O_CREAT )

# Close opened file
os.close( fd )

# Setting file owner ID
os.lchown( path, 500, -1)

# Set a file group ID
os.lchown( path, -1, 500)
print ("Ownership Changed Successfully!!")

当我们运行上述程序时,它会产生以下结果——

Ownership Changed Successfully!!

在以下示例中,我们使用 lchown() 方法一次更改多个文件的所有者 ID 和组 ID。


import os

# List of file paths
filePaths = ["txtFile.txt", "/home/TP/Python/tmp/new/monthly", "/home/TP/Python/tmp/"]

# setting UID and GID
user_id = 501
group_id = 21

# Changing ownership for each file
for path in filePaths:
	 	os.lchown(path, user_id, group_id)

print("Ownership successfully changed")

在运行上述程序时,它会生成以下输出 -

Ownership successfully changed