问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在Linux中管理文件和文件夹的权限

发布网友 发布时间:2022-04-19 16:14

我来回答

3个回答

懂视网 时间:2022-05-03 14:05

一 前言

每个 DM 数据库都有一个名为 dm.ctl 的控制文件。控制文件是一个二进制文件,它记录了数据库必要的初始信息,如果控制文件损坏,数据库则无法正常启动。

二 控制文件内容

控制文件位置是在配置文件dm.ini中指定的:
[dmdba@dm3 IESDB]$ cat dm.ini |grep CTL
CTL_PATH = /usr/appsoft/dmdbms/data/IESDB/dm.ctl #ctl file path
CTL_BAK_PATH = /usr/appsoft/dmdbms/data/IESDB/ctl_bak #dm.ctl backup path
CTL_BAK_NUM = 10 #backup number of dm.ctl, allowed to keep one more backup file besides $pecified number.
RAC_N_CTLS = 10000 #Number Of LBS/GBS ctls
控制文件主要包含以下内容:

  1. 数据库名称;
  2. 数据库服务器模式;
  3. OGUID 唯一标识;
  4. 数据库服务器版本;
  5. 数据文件版本;
  6. 数据库的启动次数;
  7. 数据库最近一次启动时间;
  8. 表空间信息,包括表空间名,表空间物理文件路径等,记录了所有数据库中使用的表空间,数组的方式保存起来;
  9. 控制文件校验码,校验码由数据库服务器在每次修改控制文件后计算生成,保证控制文件合法性,防止文件损坏及手工修改。

    三、控制文件转换

    控制文件本身是二进制文件,无法正常查看其具体内容,达梦提供了转换工具dmctlcvt可以将其转换为文本文件,这样就可以方便修改和查看。
    Dmctlcvt工具语法:
    [dmdba@dm3 IESDB]$ dmctlcvt -h
    DMCTLCVT V7.6.0.171-Build(2019.07.02-109059)ENT

    Format: ./dmctlcvt KEYWORD=value
    Note: ctl file name must be dm.ctl or dmmpp.ctl or dmwatcher.ctl

    Keyword Explanation

    TYPE 1 convert ctl file(dm.ctl or dmmpp.ctl) to txt file
    2 convert txt file to ctl file(dm.ctl or dmmpp.ctl)
    3 convert txt file to ctl file(dmwatcher.ctl), the dest_file_path not include file name
    4 convert ctl file(dmwatcher.ctl) to txt file
    SRC Source file
    DEST Destination file
    DCR_INI the path of dmdcr.ini
    HELP Show this help info

    Example:
    ./dmctlcvt TYPE=1 SRC=/opt/dmdbms/data/dameng/dm.ctl DEST=/opt/dmdbms/data/dameng/dmctl.txt
    ./dmctlcvt TYPE=2 SRC=/opt/dmdbms/data/dameng/dmctl.txt DEST=/opt/dmdbms/data/dameng/dm.ctl
    ./dmctlcvt TYPE=3 SRC=/opt/dmdbms/data/dameng/dmwatcher.txt DEST=/opt/dmdbms/data/dameng
    ./dmctlcvt TYPE=4 SRC=/opt/dmdbms/data/dameng/dmwatcher.ctl DEST=/opt/dmdbms/data/dameng/dmwatcher_ctl.txt
    从语法中可以看到,TYPE为1或2时,支持控制文件与文本文件的相互转换。
    下面我们将控制文件转换为文本文件,并查看一下其具体内容:
    1.转换文本文件
    [dmdba@dm3 IESDB]$ dmctlcvt TYPE=1 src=/usr/appsoft/dmdbms/data/IESDB/dm.ctl dest=/tmp/dmctl.txt
    DMCTLCVT V7.6.0.171-Build(2019.07.02-109059)ENT
    convert ctl to txt succes$!
    2.查看文件内容
    [dmdba@dm3 IESDB]$ cat /tmp/dmctl.txt
    ##############################################################################

    please do not adjust parameter order, ensure the ctl have no difference

    ##########################################################################

    database name

    dbname=IESDB

    server mode

    svr_mode=0
    #OGUID
    oguid=0

    db server version

    version=117507755

    database version

    db_version=458762

    pseg version

    pseg_version=458762
    #SGUID
    sguid=-1677197550
    #NEXT_TS_ID
    next_ts_id=6
    #RAC_NODES
    rac_nodes=0
    #NEXT_HTS_ID
    next_htsid=1
    #TIME_FLAG
    time_flag=170
    #STARTUP_CNT
    startup_cnt=1
    #LAST_STARTUP_TIME
    last_startup_time=2020-5-26 15:21:53
    #DM7_DCT_VERSION
    dm7_dct_version=2
    #DM8_DCT_VERSION
    dm8_dct_version=0
    #===============================================
    #===============================================

    table space name

    ts_name=SYSTEM

    table space ID

    ts_id=0

    table space status

    t$_state=0

    table space cache

    ts_cache=

    RAC node number

    ts_nth=0

    table space create time

    ts_create_time=2019-9-21 22:37:7

    table space modify time

    ts_modify_time=2019-9-21 22:37:7

    table space encrypt flag

    ts_encrypt_flag=0
    #-----------------------------------------------

    file path

    fil_path=/usr/appsoft/dmdbms/data/IESDB/SYSTEM.DBF

    mirror path

    mirror_path=

    file id

    fil_id=0

    whether the file is auto extend

    autoextend=1

    file create time

    fil_create_time=2019-9-21 22:37:7

    file modify time

    fil_modify_time=2019-9-21 22:37:7

    the max size of file

    fil_max_size=0

    next size of file

    fil_next_size=0
    #===============================================

    table space name

    ts_name=ROLL

    table space ID

    ts_id=1

    table space status

    t$_state=0

    table space cache

    ts_cache=

    RAC node number

    ts_nth=0

    table space create time

    ts_create_time=2019-9-21 22:37:7

    table space modify time

    ts_modify_time=2019-9-21 22:37:7

    table space encrypt flag

    ts_encrypt_flag=0
    #-----------------------------------------------

    file path

    fil_path=/usr/appsoft/dmdbms/data/IESDB/ROLL.DBF

    mirror path

    mirror_path=

    file id

    fil_id=0

    whether the file is auto extend

    autoextend=1

    file create time

    fil_create_time=2019-9-21 22:37:7

    file modify time

    fil_modify_time=2019-9-21 22:37:7

    the max size of file

    fil_max_size=0

    next size of file

    fil_next_size=0
    #===============================================

    table space name

    ts_name=RLOG

    table space ID

    ts_id=2

    table space status

    t$_state=0

    table space cache

    ts_cache=

    RAC node number

    ts_nth=0

    table space create time

    ts_create_time=2019-9-21 22:37:7

    table space modify time

    ts_modify_time=2019-9-21 22:37:7

    table space encrypt flag

    ts_encrypt_flag=0
    #-----------------------------------------------

    file path

    fil_path=/usr/appsoft/dmdbms/data/IESDB/IESDB01.log

    mirror path

    mirror_path=

    file id

    fil_id=0

    whether the file is auto extend

    autoextend=1

    file create time

    fil_create_time=2019-9-21 22:37:7

    file modify time

    fil_modify_time=2019-9-21 22:37:7

    the max size of file

    fil_max_size=0

    next size of file

    fil_next_size=0

    file path

    fil_path=/usr/appsoft/dmdbms/data/IESDB/IESDB02.log

    mirror path

    mirror_path=

    file id

    fil_id=1

    whether the file is auto extend

    autoextend=1

    file create time

    fil_create_time=2019-9-21 22:37:7

    file modify time

    fil_modify_time=2019-9-21 22:37:7

    the max size of file

    fil_max_size=0

    next size of file

    fil_next_size=0
    #===============================================

    table space name

    ts_name=MAIN

    table space ID

    ts_id=4

    table space status

    t$_state=0

    table space cache

    ts_cache=

    RAC node number

    ts_nth=0

    table space create time

    ts_create_time=2019-9-21 22:37:8

    table space modify time

    ts_modify_time=2019-9-21 22:37:8

    table space encrypt flag

    ts_encrypt_flag=0
    #-----------------------------------------------

    file path

    fil_path=/usr/appsoft/dmdbms/data/IESDB/MAIN.DBF

    mirror path

    mirror_path=

    file id

    fil_id=0

    whether the file is auto extend

    autoextend=1

    file create time

    fil_create_time=2019-9-21 22:37:8

    file modify time

    fil_modify_time=2019-9-21 22:37:8

    the max size of file

    fil_max_size=0

    next size of file

    fil_next_size=0
    #===============================================

    table space name

    ts_name=SEMITER

    table space ID

    ts_id=5

    table space status

    t$_state=0

    table space cache

    ts_cache=NORMAL

    RAC node number

    ts_nth=0

    table space create time

    ts_create_time=2020-5-26 14:58:40

    table space modify time

    ts_modify_time=2020-5-26 14:58:49

    table space encrypt flag

    ts_encrypt_flag=0
    #-----------------------------------------------

    file path

    fil_path=/usr/appsoft/dmdbms/data/IESDB/semiter01.dbf

    mirror path

    mirror_path=

    file id

    fil_id=0

    whether the file is auto extend

    autoextend=1

    file create time

    fil_create_time=2020-5-26 14:58:40

    file modify time

    fil_modify_time=2020-5-26 14:58:40

    the max size of file

    fil_max_size=0

    next size of file

    fil_next_size=0

    file path

    fil_path=/usr/appsoft/dmdbms/data/semiter02.dbf

    mirror path

    mirror_path=

    file id

    fil_id=1

    whether the file is auto extend

    autoextend=1

    file create time

    fil_create_time=2020-5-26 14:58:49

    file modify time

    fil_modify_time=2020-5-26 14:58:49

    the max size of file

    fil_max_size=0

    next size of file

    fil_next_size=0
    #===============================================

    HUGE table space name

    htsname=HMAIN

    HUGE table space id

    htsid=0
    #HUGE table space share flag
    htsflag=0

    HUGE table space create time

    hts_create_time=2019-9-21 22:37:8

    HUGE table space modify time

    hts_modify_time=2019-9-21 22:37:8

    HUGE table space path

    htspath=/usr/appsoft/dmdbms/data/IESDB/HMAIN
    #===============================================

    四 重建控制文件

    我们可以根据控制文件的内容进行修改,并重建控制文件以完成实际修改。在数据库关闭状态下,我们可以将数据文件移动到其它位置,再修改控制文件中数据文件的路径,然后重建控制文件,来完成数据文件路径的更换。
    其实,基本上涉及到路径修改的,都可以通过重建控制文件的方式来完成。
    在oracle数据库中,即使控制文件损坏了,可以通过重建的方式来进行恢复,但达梦数据库如果控制文件损坏了,经过实验无法通过这种方式进行恢复;只能通过重建实例,必须相同环境的实例,包括数据库版本、操作系统版本、各种文件路径等。

    4.1 创建测试环境

    创建如下表空间及用户用于数据文件迁移测试。
    表空间:
    create tablespace "SEMITER" datafile ‘/usr/appsoft/dmdbms/data/TEST/semiter01.dbf‘ size 128 CACHE = NORMAL;
    表空间扩展:
    alter tablespace "SEMITER" add datafile ‘/usr/appsoft/dmdbms/data/TEST/semiter02.dbf‘ size 128;
    用户:
    create user "SEMITER" identified by "semiter123" default tablespace "SEMITER";
    角色与权限:
    grant "DBA","PUBLIC","RESOURCE" to "SEMITER";
    alter user "SEMITER" limit failed_login_attemps unlimited, pas$word_lock_time unlimited, pas$word_grace_time unlimited;
    表空间SEMITER中有两个数据文件,semiter01.dbf和semiter02.dbf,我们将迁移semiter02.dbf到新的目录/usr/appsoft/dmdbms/data下。
    迁移前数据文件路径如下:
    SQL> select t.name tablespace_name,t.id file_id,d.path file_name,d.total_size*SF_GET_PAGE_SIZE()/1024/1024
    ‘M‘ total_space from v$tablespace t, v$datafile d where t.id=d.group_id and t.name=‘SEMITER‘;
    行号 tablespace_name file_id file_name total_space

    1 SEMITER 5 /usr/appsoft/dmdbms/data/TEST/semiter02.dbf 128M
    2 SEMITER 5 /usr/appsoft/dmdbms/data/TEST/semiter01.dbf 128M
    已用时间: 2.918(毫秒). 执行号:19.

    4.2 关闭实例并转换控制文件为文本文件

    1.关闭数据库实例:
    [root@dm3 data]# /etc/init.d/DmServiceTEST stop
    Stopping DmServiceTEST: [ OK ]
    2.转换控制文件
    [dmdba@dm3 usr]$ dmctlcvt type=1 src=/usr/appsoft/dmdbms/data/TEST/dm.ctl dest=/tmp/semiter.txt
    DMCTLCVT V7.6.0.171-Build(2019.07.02-109059)ENT
    convert ctl to txt succes$!

    4.3 拷贝数据文件到新的路径

    [dmdba@dm3 TEST]$ pwd
    /usr/appsoft/dmdbms/data/TEST
    [dmdba@dm3 TEST]$ mv semiter02.dbf ../

    4.4 修改文本文件中数据文件路径到新路径并重建控制文件

    [dmdba@dm3 IESDB]$ cat /tmp/semiter.txt |grep semiter02.dbf
    fil_path=/usr/appsoft/dmdbms/data/semiter02.dbf

    [dmdba@dm3 IESDB]$ dmctlcvt type=2 src=/tmp/semiter.txt dest=/usr/appsoft/dmdbms/data/IESDB/dm.ctl
    DMCTLCVT V7.6.0.171-Build(2019.07.02-109059)ENT
    convert txt to ctl succe$s!
    [dmdba@dm3 IESDB]$

    4.5 启动数据库并进行验证

    [dmdba@dm3 IESDB]$ /etc/init.d/DmServiceIESDB start
    Starting DmServiceIESDB: [ OK ]

    SQL> select t.name tablespace_name,t.id file_id,d.path file_name,d.total_size*SF_GET_PAGE_SIZE()/1024/1024||‘M‘ total_space from v$tablespace t, v$datafile d where t.id=d.group_id and t.name=‘SEMITER‘;

    行号 tablespace_name file_id file_name total_space


    1 SEMITER 5 /usr/appsoft/dmdbms/data/semiter02.dbf 128M
    2 SEMITER 5 /usr/appsoft/dmdbms/data/IESDB/semiter01.dbf 128M
    已用时间: 9.828(毫秒). 执行号:4.
    从上面的输出中可以明显看到,semiter02.dbf的路径已经更改,至此我们就完成了达梦数据库下数据文件路径的修改。

Linux平台达梦数据库V7之控制文件管理

标签:ensure   init   include   add   sof   个数   启动   system   pac   

热心网友 时间:2022-05-03 11:13

命令行:文件权限 改动文件权限和所有权的两个命令如下: chmod - 更改权限 chown - 更改所有权 上面两个命令用起来都不难。不过你要明白,只有用户是当前所有者或根用户,才能够实际更改文件的权限或所有权,这一点很重要。所以,如果你是用户B如何在Linux中管理文件和文件夹的权限

热心网友 时间:2022-05-03 12:31

指令名称 : chmod
使用权限 : 所有使用者
使用方式 : chmod [-cfvR] [--help] [--version] mode file...
说明 : Linux/Unix 的档案调用权限分为* : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。
参数 :
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
范例 :将档案 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt
将档案 file1.txt 设为所有人皆可读取 :
chmod a+r file1.txt
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该档案拥有者可以执行 :
chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取 :
chmod -R a+r *
此外chmod也可以用数字来表示权限如 chmod 777 file
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
范例:
chmod a=rwx file

chmod 777 file
效果相同
chmod ug=rwx,o=x file

chmod 771 file
效果相同
若用chmod 4755 filename可使此程序具有root的权限.

指令名称 : chown
使用权限 : root

使用方式 : chmod [-cfhvR] [--help] [--version] user[] file...


明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由
系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才
有这样的权限。

把计 :

user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群
体(group)-c : 若该档案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结
(link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者
变更(即以递回的方式逐个变更)--help : 显示辅助说明--version : 显示版本

范例 :
将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :
chown jessie:users file1.txt

将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :
chmod -R lamport:users *
-rw------- (600) -- 只有属主有读写权限。
-rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) -- 只有属主有读、写、执行权限。
-rwxr-xr-x (755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) -- 所有用户都有文件读、写权限。这种做法不可取。
-rwxrwxrwx (777) -- 所有用户都有读、写、执行权限。更不可取的做法。
以下是对目录的两个普通设定:

drwx------ (700) - 只有属主可在目录中读、写。
drwxr-xr-x (755) - 所有用户可读该目录,但只有属主才能改变目录中的内容。

--------------------------------------------------------------------------

运行 .sh 文件类型的文件:
用file命令测试一下看是什么类型的
file xxxx.sh
如果是Bourne-Again shell script 可以sh xxxx.sh 或者chmod +x xxxx.sh 再./xxx.sh
一般 .sh 的直接添加x(可执行属性) chmod +x xxx.sh 然后./xxx.sh就可以了
chmod是一个改变用户拥有指定文件的权限的命令.r:只读,w:写,x执行.也可以用数字
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
青海摇什么时候火的 宋庄镇都有哪些村 唐山多地解除封控管理、静态管理,市民仍需做好哪些防护? 拼多多上面的旗舰店是正品吗 ...尺是20:1的图纸上,应画多少厘米,在比例尺是1:200的图纸上测_百度知... 4x2=8,4x20=8,4x200=800,我发现了:一个因数不变,另外一个因数乘以几,积... 小学三年级数学上册4X2=8,4X20=80,4X200=800我发现:一个因数不变,另... 描写雪的段落优选好句60句 程序员最低学历是多少 电脑不识别独显了怎么办? 我的世界1.7.10小地图mod怎么安装 Linux 文件夹权限 华为mate+30+pro怎么在快手上设置水印 gta5警察mod怎么安装? 在linux中怎么给文件夹赋权限? 在linux上怎么查看指定文件夹的权限 华为mt305g照相机日期怎么设置? (急)我的世界小地图mod安装在哪? 我的世界1.8小地图mod怎么安装 《gta5》警察mod安装教程是什么? 华为mate30pro照相怎么显示时间地点 我的世界小地图怎么安装 我的世界小地图1.7.2mod怎么下载和安装 mate30相机时间水印可以改字吗 手机我的世界小地图mod怎么安装 我的世界1.7.2小地图mod怎么装 我的世界小地图mod怎么用详细~~ 华为mate30如何将将以前的照片添加水印显示当前时间? GTA5MOD怎么装啊? 我的世界怎么安装小地图MOD 我的世界小地图怎么安装,谁有1.6.1的小地图mod,... linux目录文件权限问题 华为mate30pr拍摄如何加时间? 我的世界1.7.10VoxelMap小地图怎么安装? linux下文件夹的权限操作问题 gta5下载的mod怎么安装(详细步骤) 如何查看文件夹的权限 linux 我的世界加了小地图mod怎么用 如何查看linux的文件目录权限设置 我的世界VoxelMap-Mod安装方法 Linux文件夹添加权限和取出权限 我的世界1.14版本怎么安装小地图mod,我的世界中文... 如何修改linux中的文件夹读取权限 linux上,如何设置文件夹的访问权限? linux 下怎么查询指定目录下所有文件的权限? 怎样在linux文件夹上看权限 linux中,如何设置文件夹的访问权限? 在Linux中,用什么命令查看文件或目录的权限?权限... 在Linux系统中,执行什么命令查看文件或目录的权限? linux如何让新加入文件夹的文件自动有执行权限?