Linux

linux sftp user jailed into home directory

  • Check openssh version(Should newer than 4.8)
ssh -V
  • Edit ssh configuration file
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.20160606
vim /etc/ssh/sshd_config
  • Comment lines ‘Subsystem *’, add line:
#Subsystem      sftp    /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
  • Add lines from bottom of the conf file
Match Group cardftp
       ChrootDirectory %h
       ForceCommand internal-sftp
       AllowTcpForwarding no
  • Restart sshd service:
service sshd restart
  • Create group
groupadd cardftp
  • Create user
useradd -g cardftp -d /ftp/card -s /bin/false cardftp
  • Correct directory ownership
chown root:cardftp /ftp/
chown root:cardftp /ftp/card/
chmod 755 /ftp
chmod 755 /ftp/card
  • Give password to your sftp user

 

 

 

 

 

 

 

 

 

使用rpm升级系统软件

参考链接(鸟哥):http://linux.vbird.org/linux_basic/0520rpm_and_srpm.php#rpmmanager_update

使用 RPM 來升級真是太簡單了!就以 -Uvh 或 -Fvh 來升級即可,而 -Uvh 與 -Fvh 可以用的選項與參數,跟 install 是一樣的。不過, -U 與 -F 的意義還是不太一樣的,基本的差別是這樣的:

-Uvh 後面接的軟體即使沒有安裝過,則系統將予以直接安裝; 若後面接的軟體有安裝過舊版,則系統自動更新至新版;
-Fvh 如果後面接的軟體並未安裝到你的 Linux 系統上,則該軟體不會被安裝;亦即只有已安裝至你 Linux 系統內的軟體會被『升級』!

 

删除软件:rpm -e

遇到有依赖无法删除,建议不要强行删除。检查yum为上策。

 

 

Java并发编程:线程池的使用 executor.shutdown() executor.awaitTermination(7, TimeUnit.DAYS)

参考链接:http://www.cnblogs.com/dolphin0520/p/3932921.html

几个理解的key

  1. 线程池执行实现了Runnable的类,其实是反射调用该类实现的run()函数
  2. 线程池加载所有任务后,可以关闭(不能再添加新的线程任务),等待所有线程执行完后退出。使用以下代码实现
         executor.shutdown()
         executor.awaitTermination(7, TimeUnit.DAYS)

ulimit配置修改

修改配置文件:/etc/security/limits.conf

* soft   nofile   32768
* hard nofile 65536

星号代表全局,针对某个用户的话就把星号改为某用户

weblogic      soft    nproc   2048
weblogic      hard    nproc   16384
weblogic      soft    nofile  8192
weblogic      hard    nofile  65536

全部说明:

#Each line describes a limit for a user in the form:
#
#<domain>        <type>  <item>  <value>
#
#Where:
#<domain> can be:
#        - an user name
#        - a group name, with @group syntax
#        - the wildcard *, for default entry
#        - the wildcard %, can be also used with %group syntax,
#                 for maxlogin limit
#
#<type> can have the two values:
#        - "soft" for enforcing the soft limits
#        - "hard" for enforcing hard limits
#
#<item> can be one of the following:
#        - core - limits the core file size (KB)
#        - data - max data size (KB)
#        - fsize - maximum filesize (KB)
#        - memlock - max locked-in-memory address space (KB)
#        - nofile - max number of open files
#        - rss - max resident set size (KB)
#        - stack - max stack size (KB)
#        - cpu - max CPU time (MIN)
#        - nproc - max number of processes
#        - as - address space limit (KB)
#        - maxlogins - max number of logins for this user
#        - maxsyslogins - max number of logins on the system
#        - priority - the priority to run user process with
#        - locks - max number of file locks the user can hold
#        - sigpending - max number of pending signals
#        - msgqueue - max memory used by POSIX message queues (bytes)
#        - nice - max nice priority allowed to raise to values: [-20, 19]
#        - rtprio - max realtime priority
#
#<domain>      <type>  <item>         <value>
#

 

 

RedHat使用vnc远程显示桌面

安装vncserver

[root@test~]# yum install vnc-server

 

配置vnc

[root@test ~]# vim /etc/sysconfig/vncservers 

 VNCSERVERS="2:root"
 VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"

 

启动vnc

[root@abmdev01 ~]# vncserver 

You will require a password to access your desktops.

Password:
Verify:
Passwords don't match - try again
Password:
Verify:

New 'abmdev01:1 (root)' desktop is abmdev01:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/abmdev01:1.log

使用客户端连接

QQ截图20150804171734

 

关闭vnc连接

[root@test~]# vncserver -list

TigerVNC server sessions:

X DISPLAY #     PROCESS ID
:1              6069
:2              6487
[root@test~]# vncserver -kill :1
Killing Xvnc process ID 6069
[root@test~]# vncserver -kill :2
Killing Xvnc process ID 6487

关闭vnc服务

[root@test~]# service vncserver stop

 

 

 

 

linux 使用DISPLAY参数将图形化程序的界面投到其他机器

参考链接:http://blog.chinaunix.net/uid-23072872-id-3388906.html

目前的主要需求是安装oracle client、oracle instance(当然也可以生成脚本直接安装instance)。

一、用法

DISPLAY环境变量格式如下host:NumA.NumB, host指Xserver所在的主机主机名或者ip地址, 图形将显示在这一机器上, 可以是启动了图形界面的Linux/Unix机器, 也可以是安装了Exceed, X-Deep/32等Windows平台运行的Xserver的Windows机器. 假如Host为空, 则表示Xserver运行于本机, 并且图形程序(Xclient)使用unix socket方式连接到Xserver, 而不是TCP方式. 使用TCP方式连接时, NumA为连接的端口减去6000的值, 假如NumA为0, 则表示连接到6000端口; 使用unix socket方式连接时NumA则表示连接的unix socket的路径, 假如为0, 则表示连接到/tmp/.X11-unix/X0 . NumB则几乎总是0. 

二、实践

[root@testoracle Desktop]# xhost +
access control disabled, clients can connect from any host
[root@testoracle Desktop]# su - oracle
[oracle@testoracle ~]$ export DISPLAY=本地桌面:0.0
[oracle@testoracle ~]$ dbca

dbca的图形化界面即在本地出现。