【Linux-運維】スとス-の違い

2001 ワード

背景:会社は安全を考慮して、サーバーにログインする権限を回収しました.全員は普通のユーザーを使ってサーバーにログインしなければなりません.root権限を使用して、維持や位置問題を解決するには、命令sudu suまたはsudo su -を実行して権限切り替えを行う必要があります.
システム構成の説明
CentOS 6.2
遭遇した状況
root権限が必要なので、一般ユーザー権限を使ってマシンにログインした後、sudo suコマンドを使ってrootユーザに切り替えます.切り替え後、以前にrootユーザに設定されていた環境変数は効果がないことが分かりました.よくよく考えてみると、スコマンドを使ってユーザrootの環境変数を切り替えていないため、ここではsusu -の違いを簡単に整理して、忘れ防止しています.
スとス-の違いsu:ユーザキャラクターを一般ユーザーからrootに切り替えるが、一般ユーザーのshell環境su -は保留されている.ユーザキャラクターを一般ユーザーからrootに切り替え、shell環境をrootに切り替えるshell環境の違い:
  • shell環境が異なります.suはもとの一般ユーザーのshell環境を使用しています.su -はrootユーザのshell環境
  • を使用しています.
  • コマンド実行後のワークディレクトリは異なります.suコマンド実行後にディレクトリを元の一般ユーザのワークディレクトリに切り替え、su -コマンド実行後にディレクトリをrootユーザのディレクトリ
  • に切り替えます.
    [test@Storm-Test ~]$ sudo su 
    [root@Storm-Test /data/home/test]# echo $PATH
    /sbin:/bin:/usr/sbin:/usr/bin
    [root@Storm-Test /data/home/test]# pwd
    /data/home/test
    [root@Storm-Test /data/home/test]# exit
    [test@Storm-Test ~]$ sudo su -
    [root@Storm-Test ~]# echo $PATH
    /root/zale/tools/:/usr/local/jdk1.7.0_25/bin:/usr/local/Zookeeper/bin:/usr/local/apache-maven-3.0.5/bin:/usr/local/apache-storm-0.9.2-incubating/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
    [root@Storm-Test ~]# pwd
    /root
    
    締め括りをつける
    ここでは、使用中のsuおよびsu -は、環境変数とワークディレクトリが異なる以外は、他の内容は同じである.suの場合に環境変数を更新したい場合は、コマンドsource /etc/profileを実行すればいいです.効果は以下の通りです.
    [test@Storm-Test ~]$ sudo su
    [root@Storm-Test /data/home/test]# echo $PATH
    /sbin:/bin:/usr/sbin:/usr/bin
    [root@Storm-Test /data/home/test]# source /etc/profile     
    [root@Storm-Test /data/home/test]# echo $PATH         
    /root/zale/tools/:/usr/local/jdk1.7.0_25/bin:/usr/local/Zookeeper/bin:/usr/local/apache-maven-3.0.5/bin:/usr/local/apache-storm-0.9.2-incubating/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin