删除用户_linux添加/删除用户和用户组 - CSDN
  • 原文 本文总结了Linux添加或者删除用户和用户组时常用的一些命令和参数。 1、建用户: adduser phpq //新建phpq用户 passwd phpq //给phpq用户设置密码 2、建工作组 groupadd test ...

    原文

    本文总结了Linux添加或者删除用户和用户组时常用的一些命令和参数。
    1、建用户:
    adduser phpq                             //新建phpq用户
    passwd phpq                               //给phpq用户设置密码

    2、建工作组
    groupadd test                          //新建test工作组

    3、新建用户同时增加工作组
    useradd -g test phpq                      //新建phpq用户并增加到test工作组

    注::-g 所属组 -d 家目录 -s 所用的SHELL


    4、给已有的用户增加工作组
    usermod -G groupname username  (这个会把用户从其他组中去掉)

    usermod -a groupname username

    或者:gpasswd -a user group

    如果添加了用户,添加了组,然后使这个组里的人都可以sudo 到公共账号下

    可以/etc/sudoers.d 下面建立一个文件内容如下 ,就可以是etl组的所有用户都可以无密码的切到etl用户下。

    %etl ALL=(ALL) NOPASSWD: /bin/su etl
    %etl ALL=(ALL) NOPASSWD: /bin/su - etl

    sudo 具体参考 http://www.cnblogs.com/xd502djj/p/6641475.html

    5、临时关闭:在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*就可以了。想恢复该用户,去掉*即可。

    或者使用如下命令关闭用户账号:
    passwd peter –l

    重新释放:
    passwd peter –u

    6、永久性删除用户账号
    userdel peter

    groupdel peter

    usermod –G peter peter   (强制删除该用户的主目录和主目录下的所有文件和子目录)

    7、从组中删除用户
    编辑/etc/group 找到GROUP1那一行,删除 A
    或者用命令
    gpasswd -d A GROUP

    8、显示用户信息
    id user
    cat /etc/passwd

    更详细的用户和用户组的解说请参考
    Linux 用户和用户组详细解说
    本文主要讲述在Linux 系统中用户(user)和用户组(group)管理相应的概念;用户(user)和用户组(group)相关命令的列举;其中也对单用户多任务,多用户多任务也做以解说。

    本篇文章来源于 PHP资讯 原文链接:http://www.phpq.net/linux/linux-add-delete-user-group.html

     

    Linux 用户(user)和用户组(group)管理概述

     

    、理解Linux的单用户多任务,多用户多任务概念;

    Linux 是一个多用户、多任务的操作系统;我们应该了解单用户多任务和多用户多任务的概念;


    1、Linux 的单用户多任务;

    单用户多任务;比如我们以beinan 登录系统,进入系统后,我要打开gedit 来写文档,但在写文档的过程中,我感觉少点音乐,所以又打开xmms 来点音乐;当然听点音乐还不行,MSN 还得打开,想知道几个弟兄现在正在做什么,这样一样,我在用beinan 用户登录时,执行了gedit 、xmms以及msn等,当然还有输入法fcitx ;这样说来就有点简单了,一个beinan用户,为了完成工作,执行了几个任务;当然beinan这个用户,其它的人还能以远程登录过来,也能做其它的工作。


    2、Linux 的多用户、多任务;

    有时可能是很多用户同时用同一个系统,但并不所有的用户都一定都要做同一件事,所以这就有多用户多任务之说;

    举个例子,比如LinuxSir.Org 服务器,上面有FTP 用户、系统管理员、web 用户、常规普通用户等,在同一时刻,可能有的弟兄正在访问论坛;有的可能在上传软件包管理子站,比如luma 或Yuking 兄在管理他们的主页系统和FTP ;在与此同时,可能还会有系统管理员在维护系统;浏览主页的用的是nobody 用户,大家都用同一个,而上传软件包用的是FTP用户;管理员的对系统的维护或查看,可能用的是普通帐号或超级权限root帐号;不同用户所具有的权限也不同,要完成不同的任务得需要不同的用户,也可以说不同的用户,可能完成的工作也不一样

    值得注意的是:多用户多任务并不是大家同时挤到一接在一台机器的的键盘和显示器前来操作机器,多用户可能通过远程登录来进行,比如对服务器的远程控制,只要有用户权限任何人都是可以上去操作或访问的;


    3、用户的角色区分;

    用户在系统中是分角色的,在Linux 系统中,由于角色不同,权限和所完成的任务也不同;值得注意的是用户的角色是通过UID和识别的,特别是UID;在系统管理中,系统管理员一定要坚守UID 唯一的特性;

    root 用户:系统唯一,是真实的,可以登录系统,可以操作系统任何文件和命令,拥有最高权限;
    虚拟用户:这类用户也被称之为伪用户或假用户,与真实用户区分开来,这类用户不具有登录系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、adm、ftp、mail等;这类用户都系统自身拥有的,而非后来添加的,当然我们也可以添加虚拟用户;
    普通真实用户:这类用户能登录系统,但只能操作自己家目录的内容;权限有限;这类用户都是系统管理员自行添加的;


    4、多用户操作系统的安全;

    多用户系统从事实来说对系统管理更为方便。从安全角度来说,多用户管理的系统更为安全,比如beinan用户下的某个文件不想让其它用户看到,只是设置一下文件的权限,只有beinan一个用户可读可写可编辑就行了,这样一来只有beinan一个用户可以对其私有文件进行操作,Linux 在多用户下表现最佳,Linux能很好的保护每个用户的安全,但我们也得学会Linux 才是,再安全的系统,如果没有安全意识的管理员或管理技术,这样的系统也不是安全的。

    从服务器角度来说,多用户的下的系统安全性也是最为重要的,我们常用的Windows 操作系统,它在系纺权限管理的能力只能说是一般般,根本没有没有办法和Linux或Unix 类系统相比;


    二、用户(user)和用户组(group)概念;


    1、用户(user)的概念;

    通过前面对Linux 多用户的理解,我们明白Linux 是真正意义上的多用户操作系统,所以我们能在Linux系统中建若干用户(user)。比如我们的同事想用我的计算机,但我不想让他用我的用户名登录,因为我的用户名下有不想让别人看到的资料和信息(也就是隐私内容)这时我就可以给他建一个新的用户名,让他用我所开的用户名去折腾,这从计算机安全角度来说是符合操作规则的;

    当然用户(user)的概念理解还不仅仅于此,在Linux系统中还有一些用户是用来完成特定任务的,比如nobody和ftp 等,我们访问LinuxSir.Org 的网页程序,就是nobody用户;我们匿名访问ftp 时,会用到用户ftp或nobody ;如果您想了解Linux系统的一些帐号,请查看 /etc/passwd ;


    2、用户组(group)的概念;

    用户组(group)就是具有相同特征的用户(user)的集合体;比如有时我们要让多个用户具有相同的权限,比如查看、修改某一文件或执行某个命令,这时我们需要用户组,我们把用户都定义到同一用户组,我们通过修改文件或目录的权限,让用户组具有一定的操作权限,这样用户组下的用户对该文件或目录都具有相同的权限,这是我们通过定义组和修改文件的权限来实现的;

    举例:我们为了让一些用户有权限查看某一文档,比如是一个时间表,而编写时间表的人要具有读写执行的权限,我们想让一些用户知道这个时间表的内容,而不让他们修改,所以我们可以把这些用户都划到一个组,然后来修改这个文件的权限,让用户组可读,这样用户组下面的每个用户都是可读的;

    用户和用户组的对应关系是:一对一、多对一、一对多或多对多;

    一对一:某个用户可以是某个组的唯一成员;
    多对一:多个用户可以是某个唯一的组的成员,不归属其它用户组;比如beinan和linuxsir两个用户只归属于beinan用户组;
    一对多:某个用户可以是多个用户组的成员;比如beinan可以是root组成员,也可以是linuxsir用户组成员,还可以是adm用户组成员;
    多对多:多个用户对应多个用户组,并且几个用户可以是归属相同的组;其实多对多的关系是前面三条的扩展;理解了上面的三条,这条也能理解;


    三、用户(user)和用户组(group)相关的配置文件、命令或目录;


    1、与用户(user)和用户组(group)相关的配置文件;


    1)与用户(user)相关的配置文件;

    /etc/passwd 注:用户(user)的配置文件;
    /etc/shadow 注:用户(user)影子口令文件;


    2)与用户组(group)相关的配置文件;

    /etc/group 注:用户组(group)配置文件;
    /etc/gshadow 注:用户组(group)的影子文件;


    2、管理用户(user)和用户组(group)的相关工具或命令;


    1)管理用户(user)的工具或命令;

    useradd    注:添加用户 
    adduser    注:添加用户
    passwd     注:为用户设置密码
    usermod  注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
    pwcov       注:同步用户从/etc/passwd 到/etc/shadow 
    pwck         注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
    pwunconv  注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
    finger        注:查看用户信息工具
    id              注:查看用户的UID、GID及所归属的用户组
    chfn          注:更改用户信息工具
    su             注:用户切换工具
    sudo         注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
    visudo      注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
    sudoedit  注:和sudo 功能差不多;



    2)管理用户组(group)的工具或命令;

    groupadd  注:添加用户组;
    groupdel         注:删除用户组;
    groupmod        注:修改用户组信息
    groups     注:显示用户所属的用户组
    grpck
    grpconv   注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
    grpunconv   注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;

     


    3、/etc/skel 目录;

    /etc/skel目录一般是存放用户启动文件的目录,这个目录是由root权限控制,当我们添加用户时,这个目录下的文件自动复制到新添加的用户的家目录下;/etc/skel 目录下的文件都是隐藏文件,也就是类似.file格式的;我们可通过修改、添加、删除/etc/skel目录下的文件,来为用户提供一个统一、标准的、默认的用户环境;

    [root@localhost beinan]# ls -la /etc/skel/
    总用量 92
    drwxr-xr-x    3 root root  4096  8月 11 23:32 .
    drwxr-xr-x  115 root root 12288 10月 14 13:44 ..
    -rw-r--r--    1 root root    24  5月 11 00:15 .bash_logout
    -rw-r--r--    1 root root   191  5月 11 00:15 .bash_profile
    -rw-r--r--    1 root root   124  5月 11 00:15 .bashrc
    -rw-r--r--    1 root root  5619 2005-03-08  .canna
    -rw-r--r--    1 root root   438  5月 18 15:23 .emacs
    -rw-r--r--    1 root root   120  5月 23 05:18 .gtkrc
    drwxr-xr-x    3 root root  4096  8月 11 23:16 .kde
    -rw-r--r--    1 root root   658 2005-01-17  .zshrc

     

    /etc/skel 目录下的文件,一般是我们用useradd 和adduser 命令添加用户(user)时,系统自动复制到新添加用户(user)的家目录下;如果我们通过修改 /etc/passwd 来添加用户时,我们可以自己创建用户的家目录,然后把/etc/skel 下的文件复制到用户的家目录下,然后要用chown 来改变新用户家目录的属主;

    4、/etc/login.defs 配置文件;

    /etc/login.defs 文件是当创建用户时的一些规划,比如创建用户时,是否需要家目录,UID和GID的范围;用户的期限等等,这个文件是可以通过root来定义的;

    比如Fedora 的 /etc/logins.defs 文件内容;

    # *REQUIRED*
    #   Directory where mailboxes reside, _or_ name of file, relative to the
    #   home directory.  If you _do_ define both, MAIL_DIR takes precedence.
    #   QMAIL_DIR is for Qmail
    #
    #QMAIL_DIR      Maildir
    MAIL_DIR        /var/spool/mail  注:创建用户时,要在目录/var/spool/mail中创建一个用户mail文件;
    #MAIL_FILE      .mail

    # Password aging controls:
    #
    #       PASS_MAX_DAYS   Maximum number of days a password may be used.
    #       PASS_MIN_DAYS   Minimum number of days allowed between password changes.
    #       PASS_MIN_LEN    Minimum acceptable password length.
    #       PASS_WARN_AGE   Number of days warning given before a password expires.
    #
    PASS_MAX_DAYS   99999   注:用户的密码不过期最多的天数;
    PASS_MIN_DAYS   0       注:密码修改之间最小的天数;
    PASS_MIN_LEN    5       注:密码最小长度;
    PASS_WARN_AGE   7       注:

    #
    # Min/max values for automatic uid selection in useradd
    #
    UID_MIN                   500  注:最小UID为500 ,也就是说添加用户时,UID 是从500开始的;
    UID_MAX                 60000   注:最大UID为60000;

    #
    # Min/max values for automatic gid selection in groupadd
    #
    GID_MIN                   500   注:GID 是从500开始;
    GID_MAX                 60000

    #
    # If defined, this command is run when removing a user.
    # It should remove any at/cron/print jobs etc. owned by
    # the user to be removed (passed as the first argument).
    #
    #USERDEL_CMD    /usr/sbin/userdel_local

    #
    # If useradd should create home directories for users by default
    # On RH systems, we do. This option is ORed with the -m flag on
    # useradd command line.
    #
    CREATE_HOME     yes   注:是否创用户家目录,要求创建;

     


    5、/etc/default/useradd 文件;

    通过useradd 添加用户时的规则文件;

    # useradd defaults file
    GROUP=100
    HOME=/home  注:把用户的家目录建在/home中;
    INACTIVE=-1  注:是否启用帐号过期停权,-1表示不启用;
    EXPIRE=   注:帐号终止日期,不设置表示不启用;
    SHELL=/bin/bash  注:所用SHELL的类型;
    SKEL=/etc/skel   注: 默认添加用户的目录默认文件存放位置;也就是说,当我们用adduser添加用户时,用户家目录下的文件,都是从这个目录中复制过去的;

    展开全文
  • Oracle中删除用户下所有对象的多种方法 2015-09-22 13:12 8299人阅读 评论(0) 收藏 举报  分类: Oracle数据库基本管理(336) oracle安装升级与卸载(75) oracle开发SQL语句(273) oracle...
     

    Oracle中删除用户下所有对象的多种方法

     8299人阅读 评论(0) 收藏 举报
     分类:
      

    目录(?)[+]

    Oracle中删除用户下所有对象的多种方法


    Oracle删除用户下所有对象的方法未必人人都会,下面就为您介绍两种常用的Oracle删除用户下所有对象的方法,希望对您学习Oracle删除用户方面能有所帮助。 方法1: drop user XXXX cascade; drop tablespace XXXX INCLUDING CONTENTS; 方法2: 写存储过程实现
       

    Oracle删除用户下所有对象的方法未必人人都会,下面就为您介绍两种常用的Oracle删除用户下所有对象的方法,希望对您学习Oracle删除用户方面能有所帮助。

    方法1:

    drop user XXXX cascade;

    drop tablespace XXXX INCLUDING CONTENTS;

    最省心的方法是级联删除
     
    drop user XXXX cascade; 最后这个级联特别有用(删除用户以及所有关联的数据库对象)
     
    麻烦一点的办法,把删除语句做成存储过程
    注释:

    1、删除用户 然后重建,这样最快:

    1、在cmd中输入
    sqlplus / as sysdba
    2、删除用户A,级所有和用户A关联的数据
    drop user a cascade;
    3、重建用户A
    create user A identified by 密码;
    grant connect,resource to A;
    4、登入A用户,就ok了
    conn A/密码
    这个方法挺快的,还方便啊。

    drop user xxx cascade这样有些数据库对象好像也删除不了

    有时候某些用户被授予很复杂的权限和角色,(若删除用户再创建用户的方法会很繁琐),所以还是衡量哪种方法更快,根据实际情况选择

    我常做db換版, 所以寫了上百個腳本, 附上8個.

    01_clear_recyclebin_plsql.sql
    02_del_mviews_plsql.sql 有時確保 mview 避免刪除, 這個可以不執行
    03_del_table_plsql.sql
    04_del_function_plsql.sql  這個可以自由調整
    05_del_scheduler_plsql.sql
    06_del_program_plsql.sql
    07_del_program_plsql.sql
    08_del_synonyms_plsql.sql


     08_del_synonyms_plsql.sql (597 Bytes, 下载次数: 0) 
     07_del_program_plsql.sql (802 Bytes, 下载次数: 0) 
     06_del_program_plsql.sql (797 Bytes, 下载次数: 1) 
     05_del_scheduler_plsql.sql (777 Bytes, 下载次数: 0) 
     04_del_function_plsql.sql (1.4 KB, 下载次数: 0) 
     03_del_table_plsql.sql (806 Bytes, 下载次数: 2) 
     02_del_mviews_plsql.sql (601 Bytes, 下载次数: 1) 
     01_clear_recyclebin_plsql.sql (1.01 KB, 下载次数: 0) 

    希望對你有幫助, 祝你好運.

    删除表时要先删除其外键再删除表本身,其他数据库对象貌似可以直接删除自己:

    begin
      -- 1、删除外键
      for s in (select 'alter table ' || c.TABLE_NAME || ' drop constraint ' ||
                       c.CONSTRAINT_NAME text
                  from user_constraints c
                 where constraint_type = 'R') loop
        execute immediate s.text;
      end loop;
      -- 2、删除对象(表等数据库对象
      for s in (select 'drop ' || o.OBJECT_TYPE || ' ' || o.OBJECT_NAME text
                  from user_objects o
                 where o.OBJECT_TYPE in
                       ('FUNCTION', 'PROCEDURE', 'PACKAGE', 'SEQUENCE', 'TABLE')) loop
        execute immediate s.text;
      end loop;
    end;
    /


    --这个简单点儿,可能不全面

    http://www.itpub.NET/thread-849733-2-1.html

    2、

    删除指定表空间是这样:
    drop tablespace test1 including contents cascade constraints;
    之后还要手动删除数据文件,因为上述操作只是删除了控制文件和数据字典中的记录。如果想简单可以使用OEM来删除,但我并不推荐。
    删除指定表空间下的表使用select table_name,tablespace_name from user_talbes;然后把这些表做删除,可能会比较麻烦。
    ——————————————————
    因为我手上没有oracle,所以看不到数据字典,我记得desc user_tables应该可以看到一个owner之类的,总之就是可以确定表格的归属,然后删除。楼上说删除用户的方法也不是很好。如果不是很清楚依然可以使用oem操作,然后选择显示SQL,就可以看到了。

    方法2:

    写存储过程实现

    DECLARE
    TYPE name_list IS TABLE OF VARCHAR2(40);
    TYPE type_list IS TABLE OF VARCHAR2(20);

    Tab_name name_list:=name_list();
    Tab_type type_list:=type_list();

    sql_str VARCHAR2(500);
    BEGIN
    sql_str := 'select uo.object_name,uo.object_type from user_objects uo where uo.object_type not in(''INDEX'',''LOB'') order by uo.object_type desc';
    EXECUTE IMMEDIATE sql_str BULK COLLECT INTO tab_name,tab_type;

    FOR i IN Tab_name.FIRST.. Tab_name.LAST LOOP
    sql_str := 'DROP ' || Tab_type(i) || ' ' || Tab_name(i);
    EXECUTE IMMEDIATE sql_str;
    END LOOP;
    END;

    http://www.php100.com/html/webkaifa/database/oracle/2010/1117/6832.html

    *******************************************************************

    ORACLE下删除当前用户下所有对象
    Sql代码  收藏代码
    1. --删除某个用户下的对象  
    2. set heading off;  
    3. set feedback off;  
    4. spool c:\dropobj.sql;  
    5.   prompt --Drop constraint  
    6.  select 'alter table '||table_name||' drop constraint '||constraint_name||' ;' from user_constraints where constraint_type='R';  
    7.  prompt --Drop tables  
    8.  select 'drop table '||table_name ||';' from user_tables;   
    9.    
    10.  prompt --Drop view  
    11.  select 'drop view ' ||view_name||';' from user_views;  
    12.    
    13.  prompt --Drop sequence  
    14.  select 'drop sequence ' ||sequence_name||';' from user_sequences;   
    15.    
    16.  prompt --Drop function  
    17.  select 'drop function ' ||object_name||';'  from user_objects  where object_type='FUNCTION';  
    18.   
    19.  prompt --Drop procedure  
    20.  select 'drop procedure '||object_name||';' from user_objects  where object_type='PROCEDURE';  
    21.    
    22.  prompt --Drop package  
    23.  prompt --Drop package body  
    24.  select 'drop package '|| object_name||';' from user_objects  where object_type='PACKAGE';  
    25.   
    26.  prompt --Drop database link  
    27.  select 'drop database link '|| object_name||';' from user_objects  where object_type='DATABASE LINK';  
    28.    
    29. spool off;  
    30. set heading on;  
    31. set feedback on;  
    32.   
    33. @@c:\dropobj.sql;  
    34. host del c:\dropobj.sql;  


    注释: 
    1.上面这个语句,在pl/sql里面是放在命令里面执行的。 
    2.set heading off; 意思就是关闭表头。如果不关闭,写入dropobj.sql文件中就会带有结果集的表头如: 
    'DROPTABLE'||TABLE_NAME||';' 
    ------------------------------------------ 
    drop table TEACHER; 
    实际上我们需要的是“drop table TEACHER;”,“'DROPTABLE'||TABLE_NAME||';' 
    ”就是表头。 
    3.set feedback off; 意思就是关闭回显。如果不关闭,写入dropobj.sql文件中就会带有返回结果集的大小等信息,如:"137 rows selected" 
    4.spool c:\dropobj.sql; 把结果集写入这个文件。spool off; 结束写入。 
    5.@@c:\dropobj.sql; 执行这个sql 
    6.host del c:\dropobj.sql; 删除主机上这文件。 
    7.CONSTRAINT_TYPE 就是键的类型: 
    Sql代码  收藏代码
    1. C (check constraint on a table)   
    2. P (primary key)   
    3. U (unique key)  
    4. R (referential integrity)  
    5. V (with check optionon a view)  
    6. O (with read onlyon a view)  

    8.当执行'drop package ………… '这句时,package body会被同时删除。
    http://www.iteye.com/topic/260823

    http://blog.csdn.Net/xiaol_zhong/article/details/13094373

    ******************************************************

    --delete tables 
    Sql代码  
    select 'drop table ' || table_name ||';'||chr(13)||chr(10) from user_tables;   

    select 'drop table ' || table_name ||';'||chr(13)||chr(10) from user_tables; 

    --delete views 
    Sql代码  
    select 'drop view ' || view_name||';'||chr(13)||chr(10) from user_views;   

    select 'drop view ' || view_name||';'||chr(13)||chr(10) from user_views; 

    --delete seqs 
    Sql代码  
    select 'drop sequence ' || sequence_name||';'||chr(13)||chr(10) from user_sequences;  

    select 'drop sequence ' || sequence_name||';'||chr(13)||chr(10) from user_sequences; 

    --delete functions 
    Sql代码  
    select 'drop function ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='FUNCTION';   

    select 'drop function ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='FUNCTION'; 

    --delete procedure 
    Sql代码  
    select 'drop procedure ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='PROCEDURE';   

    select 'drop procedure ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='PROCEDURE'; 

    --delete package 
    Sql代码  
    select 'drop package ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='PACKAGE';   

    select 'drop package ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='PACKAGE'; 

    因为ORACLE等中大型数据库一般不推荐采用批量删除,因为效率会很慢,还是逐行删除比较好。

    http://zhidao.baidu.com/question/43963217.html?qbl=relate_question_0&word=oracle%C9%BE%B3%FD%D3%C3%BB%A7%CF%C2%CB%F9%D3%D0%B6%D4%CF%F3&optimi=4

    ==================================================================

    ORACLE删除当前用户下所有的表的方法

    1、如果有删除用户的权限,则可以:

    drop user user_name cascade;

    加了cascade就可以把用户连带的数据全部删掉。

    删除后再创建该用户。
    --创建管理员用户
    create user 用户名 identified by 密码 default tablespace space_data(表空间名称) temporary tablespace space_temp(临时表空间名称);
    --授权
    grant connect,dba to 用户名;
    --修改限额
    ALTER USER "用户名" QUOTA UNLIMITED ON SPACE_DATA(表空间名称);

    --查看所有用户对象
    select uo.object_name,uo.object_type from user_objects uo where uo.object_type<>'LOB' order by uo.object_type desc

     

    2、如果没有删除用户的权限,则可以执行:

    select 'drop table '||table_name||';' 
    from cat 
    where table_type='TABLE'

    将会输出一批删除表的sql语句,这些SQL语句执行一下就可以了。(需要有drop table的权限)

    http://www.cnblogs.com/chshnan/archive/2012/02/07/2341694.html

    如何删除oracle中指定用户下的所有表


    在该用户下写一个存储过程(要保证该用户并不是以dba身份登录的,不然会把系统表都删掉哦)
    create or replace procedure pro_droptable is
    cursor cur is select table_name from user_tables;
    drop_sql varchar2(1000);
    begin
    for tbname in cur loop
    begin
    drop_sql:='drop table '||tbname.table_name;
    execute immediate drop_sql;
    end;
    end loop;
    end pro_droptable;

    然后执行就OK啦
    执行语句:call pro_droptable()
    注释:

    在Oracle中如何删除当前用户下所有的表?


    前提条件:我没有删除该用户的权限,不用能drop user user_name cascade;
    只能用drop table XXX 一个个个删很麻烦;
    不行,删不了

    参考:

    oracle删除用户下所有对象 百度

    Oracle中删除用户下所有对象的多种方法

    2010年11月17日 - Oracle删除用户下所有对象的方法未必人人都会,下面就为您介绍两种常用的Oracle删除用户下所有对象的方法,希望对您学习Oracle删除用户方面能有所帮助。...
    www.php100.com/html/we...  
      - 百度快照 - 77%好评

    如何删除一个用户下所有对象,而又不删除该用户 - Oracle数据库...

    9条回复 - 发帖时间: 2007年9月9日
    2007年9月9日 - 如何删除一个用户下所有对象,而又不删除该用户 [复制链接] rumsfeld 注册会员...发表于 2007-9-9 17:08:45 |显示全部楼层 确实有些麻烦! 不知道o...
    www.itpub.net/thread-8...  
      - 百度快照 - 71%好评

    Oracle中删除用户下所有对象的多种方法_百度知道

    1个回答 - 提问时间: 2014年10月24日

    最佳答案: 最省心的方法是级联删除 drop user XXXX cascade; 最后这个级联特别有用 麻烦一点的办法,把删除语句做成存储过程 存储过程实现 DECLARE TYPE name_list ...
    zhidao.baidu.com/link?...  
      - 80%好评

    Oracle删除用户下所有对象的两种方法_开发/数据库_IT专家网

    2010年11月17日 - 如果要将Oracle用户下的所有对象删除,应该如何实现呢?下文就教您两种删除Oracle用户下的所有对象的方法,供您参考学习之用。 Oracle删除用户下所有对象...
    database.ctocio.com.cn...  
      - 百度快照 - 评价

    Oracle删除当前用户下所有的表的方法 - Vanessa - 博客园

    2012年2月7日 - Oracle删除当前用户下所有的表的方法1、如果有删除用户的权限,则可以: drop ...--查看所有用户对象select uo.object_name,uo.object_type from user_o...
    www.cnblogs.com/chshna...  
      - 百度快照 - 92%好评

    ORACLE删除用户下所有对象 - xiaol_zhong的专栏 - 博客频道 - ...

    2013年10月26日 - --.sql脚本 --唯一注意的是下面的f:\dropobj.sql 为操作的.sql; --你的电脑没有F盘,请换为D或者E其他存在的盘符 --用于删除当前用户所有对象 --use ...
    blog.csdn.net/xiaol_zh...  
      - 百度快照 - 88%好评

    Oracle 删除用户下所有用户对象_数据库技术_Linux公社-Linux...

    2013年1月12日 - 而这时候我的心都碎了,大家知道system是Oracle的超级管理员之一,仅次于sys用户,是管理次一级的系统对象用户对象的管理员,不能够删除和重建,然而那么多数据导进去...
    www.linuxidc.com/Linux...  
      - 百度快照

    Oracle删除当前用户下所有表、视图、序列、函数、存储过程、包...

    Oracle删除当前用户下所有表、视图、序列、函数、存储过程、包的相关文章:--delete tables Sql代码  select 'drop table ' || table_name ||';'||chr(...
    www.iteye.com/wiki/blo...  
      - 百度快照 - 68%好评

    oracle 删除某个用户下所有对象 - panfuy - ITeye技术网站

    2011年11月11日 - 博客分类: Oracle oracle 删除某个用户下所有对象 先存放好dropobj.sql 文件 然后登录需要删除的用户删除前最好备份一下:(备份是在cmd中进行的) C...
    panfuy.iteye.com/blog/...  
      - 百度快照 - 68%好评

    Oracle 中如何删除一个用户拥有的所有对象 - 开源中国社区

    下面的脚本在oracle中如何将一个用户所拥有的所有对象,表,sequence,procedure。。。全部删掉。 1,drop 对象的方式,注意要先将所有的外键约束删掉。 DECLARETYPE cst...
    www.oschina.net/questi...  
      - 百度快照
    相关搜索

    展开全文
  • 1、先用命令 cat /etc/passwd 查看一下所有的... 2、用命令 who 查询当前登录的用户 ... 4、用命令 kill pid 杀掉他的sshd或者是shell进程 5、再用命令 userdel -r 用户名 删除用户   如果删除 ucente...

    1、先用命令   cat /etc/passwd  查看一下所有的用户  可以看到片你需要删除的用户名

    2、用命令    who    查询当前登录的用户

    3、用命令   ps -u 用户名     查看该用户的pid 

    4、用命令  kill  pid    杀掉他的sshd或者是shell进程

    5、再用命令   userdel -r 用户名   删除用户

     

    如果删除 ucenter 时报用户已登录   如下图:

     

    我本地确定已经关闭了ucenter用户的连接, 于是,我在root用户下,使用 w 指令,看一下当前Linux系统的用户连接情况,

    如下图:

     

    当前Linux服务器只有我一个用户(我此时使用的是root用户)。此时,很令人郁闷,明明当前Linux服务器只有我一个root用户,为什么我在删除 ucenter 用户时,却会报 用户 ucenter 目前已登录 呢?

     

    解决方法:我在root用户下,输入指令 ps -ef |grep ucenter,如图:

     

    正如查询的红色箭头所示,还有一个进程未关闭,现在再用  kill  1715 杀死这个进程   再运行删除用户命令  userdel -r  ucenter  就可以删除用户了!

     

    展开全文
  • 【userdel】 删除用户

    2016-04-14 08:52:55
    【userdel】 删除用户 语法 userdel [option] username  注意:如果删除用户时如果不加选项,则该用户的家目录是不会被删除 userdel -r username 同时删除用户的宿主目录 参数 -r 删除用户的同时删除用户的家...
    【userdel】 删除用户


    语法
    userdel [option] username 
    注意:如果删除用户时如果不加选项,则该用户的家目录是不会被删除


    userdel -r username 同时删除用户的宿主目录
    参数
    -r 删除用户的同时删除用户的家目录
    展开全文
  • 删除用户

    2019-07-19 20:53:13
    删除一个普通用户时,需要执行一个" # userdel -r zheng" 命令,但执行完命令后,系统提示“user name is currently user by process 3495(用户名当前是进程3495的用户名),此时使用Ctrl+Dt退出当前登录,同样Ctrl...

    当删除一个普通用户时,需要执行一个" # userdel -r zheng" 命令,但执行完命令后,系统提示“user name is currently user by process 3495(用户名当前是进程3495的用户名),此时使用Ctrl+Dt退出当前登录,同样Ctrl+D 退出zheng用户登录,然后在回到root用户执行" # userdel -r zheng" 命令,OK在这里插入图片描述

    展开全文
  • Linux完全删除用户

    2019-05-03 23:50:03
    创建一个用户删除后再重建可能会报错 [root@mylinux ~]# useradd test -g test -s /sbin/nologin useradd: warning: the home directory already exists. Not copying any file from skel directory into it. 或者 ...
  • 1、首先进入系统创建一个用户  [root@localhost /]# useradd haha #创建用户 haha是用户名  [root@localhost /]# passwd haha #为该用户设置密码  更改用户 haha 的密码 。  新的 密码:*****...
  • 一、用户:在创建用户时,需要为新建用户指定一用户组,如果不指定其用户所属的工作组,自动会生成一个与用户名同名的工作组。创建用户user1的时候指定其所属工作组users,例:useradd –g users user11、使用命令 ...
  • 删除用户账户|win7系统怎么删除用户账户 来源:Win7之家  在win7系统中,随缘小编创建了很多的账户,方便不同的人来使用这台电脑。但是时间长久后,发现有好几个账户是没有用过的,所以现在想要删除这个...
  • 注解类: package com.sql.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation....
  • 创建用户、设置密码、修改用户、删除用户: useradd testuser 创建用户testuser passwd testuser 给已创建的用户testuser设置密码 说明:新创建的用户会在/home下创建一个用户目录testuser usermod --help
  • centos系统添加/删除用户和用户组 在centos中增加用户使用adduser命令而创建用户组使用groupadd命令,这个是不是非常的方便呀,其实复杂点的就是用户的组与组权限的命令了,下面来给各位介绍一下吧。1、建用户:...
  • Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下 对于单个user和tablespace 来说...说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的。 步骤二: 删除tab
  • 删除用户 1. 创建用户 sudo useradd -r -m -s /bin/bash XXX //XX指代创建的用户名 参数意义: ·-r:建立系统账号 ·-m:自动建立用户的登入目录 ·-s:指定用户登入后所使用的shell · 在Ubuntu18.04系统中,如...
  • userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件命 令: userdel 功能说明:删除用户帐号。 语 法:userdel [-r][用户帐号] 补充说明:userdel可删除用户帐号与相关的文件。若...
  • 本篇文章主要介绍了CentOS添加和删除用户以及用户组的方法,具有一定的参考价值,有兴趣的可以了解一下 1.Linux环境下的账户系统文件主要在/etc/passwd, /etc/shadow,/etc/group,和/etc/gshadow四个文件。基本含义...
  • 查看所有用户组:cat /etc/group 查看用户组所有成员:通过上面查看用户组最后一个数字然后终端运行 ...删除用户组:groupdel 用户组名 添加用户:useradd -d /usr/用户组名 -m 用户组名 -d,新账户的主目录,在/u...
  • 1、以system用户登录查找需要删除的...2、查询需要删除用户对应的表空间 select * from dba_data_files; 3、删除用户和表空间 drop user usernamecascade; drop tablespace tablespacename including contents...
  • linux服务器下添加用户和删除用户的命令,需要的朋友可以参考下。 其中各选项含义如下:   -c comment 指定一段注释性描述。   -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主...
  • 删除用户 sql&gt;drop user &lt;username&gt; cascade; (3)创建用户: sql&gt;create user &lt;username&gt; identified by &lt;password&gt;;   最后欢迎大家访...
1 2 3 4 5 ... 20
收藏数 1,855,981
精华内容 742,392
关键字:

删除用户