ubuntu14.04技巧連載

附:有些內容來源于網絡。期待大家踴躍評論,比如:如何在ubuntu中實現windows/other Linux的功能等

基本配置


  • 停止、禁用network-manager

      先停止:sudo stop network-manager
      
      禁止開機啟動:
      echo "manual" | sudo tee /etc/init/network-manager.override 
      或
      注釋/etc/init/network-manager.conf的start on行
      或
      sudo initctl stop network-manager
    
      禁用后只能通過networking來管理接口,查看networking服務狀態:
      initctl status networking
    
      并通過編輯文件/etc/network/interfaces來配置網口(方法如下)
    
      sudo restart networking
    
  • IP設置(以eth0為例)

      cat >>/etc/network/interfaces <<EOF
      auto eth0
      iface eth0 inet static
      address 10.10.10.xxx
      netmask 255.255.254.0
      gateway 10.10.10.254
      EOF   
    
  • dns設置

      方法1:
    
      sudo vim /etc/network/interfaces
      dns-nameservers 8.8.8.8
    
      方法2:(這個文件默認是空的)
    
      sudo vim /etc/resolvconf/resolv.conf.d/base
      nameserver 8.8.4.4
      nameserver 8.8.8.8 
    
      resolvconf -u 
    
      驗證下:dig cnet.com
    
      注意:不建議直接修改/etc/resolv.conf,重啟后此設置將無效!
    
  • 添加用戶并強制用戶首次登陸修改密碼

    先添加用戶,命令如下: 
    sudo adduser --home /home/testing --quiet --uid 1001  testing 
    
    設置密碼過期,則用戶首次登陸必須修改密碼
    sudo chage -d 0 testing
    
    由于以上方式創建的用戶home目錄對于其他用戶也是可讀的(不安全)
    drwxr-xr-x  2 testing testing  4096  5?10 13:48 testing/
    
    建議修改權限(禁止同組和其他用戶讀寫): chmod 700  ~testing/
    
    不建議用useradd來添加用戶,無法自動創建home目錄和拷貝相關/etc/skel下的文件
    
  • vi臨時提權保存修改的文件

       :w !sudo tee %
    
  • 修改/etc/sudoers來給用戶授權

      # User privilege specification
      root    ALL=(ALL:ALL) ALL
    
      # Members of the admin group may gain root privileges
      %admin ALL=(ALL) ALL
    
      # Allow members of group sudo to execute any command
      %sudo   ALL=(ALL:ALL) ALL
    
      # Allow members of group OSP_Group to execute apt-get command
      %OSP_Group   ALL=(ALL:ALL) NOPASSWD:/usr/bin/apt-get
      #將需要授權的用戶加入到組OSP_Group
    
  • 配置apt-get等其他程序使用代理聯網(非root用戶,還須更改下面sudo的配置)

      vi ~/.bashrc 加入行:
    
          export http_proxy=http://www.ProxyServer.com:3128
          export ftp_proxy=http://www.ProxyServer.com:3128
          export https_proxy=http://www.ProxyServer.com:3128
    
  • 使sudo調用當前用戶的環境變量(默認會重置環境變量并只使用自身配置文件中的變量)

      sudo vi /etc/sudoers 
      
          #Defaults       env_reset
          Defaults        !env_reset
    
  • 配置docker使用代理聯網

      sudo vi /etc/default/docker
    
          # If you need Docker to use an HTTP proxy, it can also be specified here.
          #export http_proxy="http://127.0.0.1:3128/"
          export http_proxy="http://www.ProxyServer.com:3128"
          export ftp_proxy="http://www.ProxyServer.com:3128"
          export https_proxy="http://www.ProxyServer.com:3128"
    
  • 禁用所有接口dhcp

      sudo  apt-get remove isc-dhcp-client isc-dhcp-common
    
  • 無線網卡驅動安裝(以ThinkPad X240的網卡RTL8192EE為例)

      lshw -c network           #查看現有網絡設備狀態,也可用lspci
      git clone https://github.com/lwfinger/rtlwifi_new
      cd rtlwifi_new
      sudo make
      sudo make install
      sudo reboot
    
  • mirrors站點配置

       vi /etc/hosts添加如下內容:
           91.189.91.24   security.ubuntu.com
           112.124.140.210 cn.archive.ubuntu.com 
    
  • 安裝包(以安裝java7為例)

       如果不知道包的具體名字,可以先從庫里模糊查找來獲取包名:
       sudo apt-cache search jdk  
       然后,安裝相關包:
       sudo apt-get install openjdk-7-jdk openjdk-7-jre  openjdk-7-jre-headless
       根據文件名來查看所屬包:
        root@cnet:~# dpkg -S  /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
        openjdk-7-jre-headless:amd64: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
       根據包來查看其所有的文件:
        root@cnet:~# dpkg -L openjdk-7-jre-headless
        /.
        /usr
        /usr/lib
        /usr/lib/jvm
        /usr/lib/jvm/.java-1.7.0-openjdk-amd64.jinfo
        /usr/lib/jvm/java-7-openjdk-amd64
        /usr/lib/jvm/java-7-openjdk-amd64/man
        。。。。。。
       查看是否已安裝jdk相關包:
        root@cnet:~# dpkg -l |grep jdk|less
        ii  openjdk-7-dbg:amd64                    7u79-2.5.6-0ubuntu1.14.04.1         amd64        Java runtime based on OpenJDK (debugging symbols)
        ii  openjdk-7-demo                         7u79-2.5.6-0ubuntu1.14.04.1         amd64        Java runtime based on OpenJDK (demos and examples)
        ii  openjdk-7-doc                          7u79-2.5.6-0ubuntu1.14.04.1         all          OpenJDK Development Kit (JDK) documentation
        ii  openjdk-7-jdk:amd64                    7u79-2.5.6-0ubuntu1.14.04.1         amd64        OpenJDK Development Kit (JDK)
        ii  openjdk-7-jre:amd64                    7u79-2.5.6-0ubuntu1.14.04.1         amd64        OpenJDK Java runtime, using Hotspot JIT
    
  • 安裝ssh/vncserver/xfce4

       sudo apt-get update
       sudo apt-get upgrade
       sudo apt-get remove openssh-client gnome-terminal        (現有gnome-terminal,openssh-client有bug)
       sudo apt-get -y install openssh-client openssh-server vnc4server xfce4-terminal xfce4
    
  • 安裝配置KVM和Openvswitch

       sudo grep -E 'vmx|svm' /proc/cpuinfo             #確保主機已開啟cpu虛擬化支持
       sudo apt-get install qemu-kvm qemu-system libvirt-bin virt-manager bridge-utils
       sudo lsmod |grep kvm                             #確保kvm、kvm_intel模塊已載入
       sudo apt-get install openvswitch-controller openvsiwtch-switch openvswitch-datapath-source
    
  • 解決Terminal中無法用Tab自動補全命令

       sudo vi /etc/bash.bashrc
    
       找到文件中的下列代碼:
            #if ! shopt -oq posix; then
            #      if [-f  /usr/share/bash-completion/bash_completion ]; then
            #          . /usr/share/bash-completion/bash_completion
            #      elif [ -f /etc/bash_completion]; then
            #           . /etc/bash_completion
            #      fi
            #fi
       將注釋符號#去掉
    
       source /etc/bash.bashrc
    
  • 配置桌面為xfce4的vnc

       vncserver :1
       vncserver -kill :1
           
       配置~/.vnc/xstartup內容如下:
    
            unset SESSION_MANAGER
            unset DBUS_SESSION_BUS_ADDRESS
    
            [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
            [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
            xsetroot -solid grey
            vncconfig -iconic &
            xfce4-session &
    
  • ubuntu的tftp服務器配置

      apt-get install tftp-hpa tftpd-hpa
      mkdir /tftpboot
      sudo chmod 0777 /tftpboot
      sudo touch test.txt
      sudo vi /etc/default/tftpd-hpa
        TFTP_USERNAME="tftp"
        TFTP_DIRECTORY="/tftpboot" # 這里是你的tftpd-hpa的服務目錄,這個想建立在哪里都行
        TFTP_ADDRESS="0.0.0.0:69"
        TFTP_OPTIONS="-l -c -s" # 這里是選項,-c是可以上傳文件的參數,-s是指定tftpd-hpa服務目錄,上面已經指定
    
      sudo service tftpd-hpa restart
      tftp 127.0.0.1
      tftp>get test.txt
      tftp>put test1.txt
      tftp>q
    
  • 配置安裝telnetd服務

        sudo apt-get install xinetd telnetd
        
    
         
         編輯文件/etc/xinetd.conf,并改后文件如下:
         # Simple configuration file for xinetd
         #
         # Some defaults, and include /etc/xinetd.d/
         defaults
         {
         # Please note that you need a log_type line to be able to use log_on_success
         # and log_on_failure. The default is the following :
         # log_type = SYSLOG daemon info
         instances = 60
         log_type = SYSLOG authpriv
         log_on_success = HOST PID
         log_on_failure = HOST
         cps = 25 30
         }
    
         另外可以修改telnet的監聽端口,編輯文件/etc/services的如下行:
          telnet           23/tcp
    
         創建或編輯文件/etc/xinetd.d/telnet,使其內容如下:
    
         # default: on
         # description: The telnet server serves telnet sessions; it uses
         # unencrypted username/password pairs for authentication.
         service telnet
         {
           disable = no
           flags = REUSE
           socket_type = stream
           wait = no
           user = root
           server = /usr/sbin/in.telnetd
           log_on_failure += USERID
           only_from = 192.168.25.0/24 #Only users in 192.168.25.0 can access to
         }
    
         啟動telnet服務:
         sudo /etc/init.d/xinetd restart
    
         注意:相關telnet日志將寫入/var/log/auth.log (方便排障)
    
  • 配置nis client(需在console/圖形界面里操作)

        sudo apt-get install nis
             按提示輸入nisdomain
        
        在/etc/yp.conf中添加nis服務器映射條目
              domain nis.yourdomain server 10.X.X.X
    
        修改/etc/nsswitch.conf項目如下
               passwd: compat nis
               group:  compat nis
               shadow: compat nis
               hosts:  files mdns4_minimal [NOTFOUND=return] dns nis
    
        sudo service ypbind restart
    
        ypcat passwd  (查看用戶數據)
    
  • 配置nfs client

       sudo apt-get install nfs-common
    
       修改/etc/idmapd.conf項目如下
           Domain = yourdomain.com
    
       initctl restart idmapd 
     
       mount -t nfs nfs.yourdomain.com:/home /home 
    
       修改/etc/fstab添加開機掛載nfs條目
       
          nfs.yourdomain.com:/home   /home  nfs     defaults        0       0
    
  • 配置vsftpd(PAM認證)

      sudo apt-get install vsftpd
    
       mkdir /home/OSP_DATA       #創建ftp的根目錄
    
       修改配置 /etc/vsftpd.conf,內容如下
        listen=YES
        anonymous_enable=NO
        local_enable=YES
        dirmessage_enable=YES
        use_localtime=YES
        xferlog_enable=YES
        connect_from_port_20=YES
        xferlog_file=/var/log/vsftpd.log
        ftpd_banner=Welcome to OSP_Group FTP service.
        chroot_local_user=YES                                  
        secure_chroot_dir=/var/run/vsftpd/empty
        pam_service_name=vsftpd
        rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
        rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
        local_root=/home/OSP_DATA                            #將目錄/home/OSP_DATA設置為ftp的根,否則會開放整個系統根/(非常不安全)
    
        重啟服務: sudo service vsftpd restart
    

其他


  • 64bit系統編譯安裝32bit的Openssl

    setarch i486 ./config \
    --prefix=/opt/openssl-1.0.2c-test \
    no-zlib no-shared  no-dso -m32 
    
    386       Use the 80386 instruction set only (the default x86 code is
              more efficient, but requires at least a 486). Note: Use
              compiler flags for any other CPU specific configuration,
              e.g. "-m32" to build x86 code on an x64 system.
    
  • ubuntu禁用usb-storage

    echo "blacklist usb-storage" | sudo tee -a /etc/modprobe.d/blacklist.conf
    sudo update-initramfs -u
    
  • kvm中ubuntu運行異常的解決方法

    問題描述
    1. 登錄后無法顯示桌面標題欄和菜單
    2. cpu使用率100%
    解決方法
    sudo apt-get remove xserver-xorg-video-qxl

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,030評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,310評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,951評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,796評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,566評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,055評論 1 322
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,142評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,303評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,799評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,683評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,899評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,409評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,135評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,520評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,757評論 1 282
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,528評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,844評論 2 372

推薦閱讀更多精彩內容