目录

Linux

1. Command

1.1 SSH

ssh Proxy

ssh -fTnN -p 2222 -i /root/.ssh/key -D 0.0.0.0:8157 $User@$Ip

ssh configure

...

1.2 Git

名称 命令 备注
强制提交 git push -u origin dev -f  
checkout分支 git checkout dev  
Pull分支 git pull origin dev  
查看本地分支 git branch  
查看远程分支 git branch -a  
提交远程分支 git push origin test  
删除远程分支 git branch -r -d origin/branch-name  

1.3 alias

alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

1.4 awk

#截取第N列之后所有列的数据
cat filename | awk -F " "  '{for (i=4;i<=NF;i++)printf("%s ", $i);print ""}'

2 内核参数

* soft nproc 60000
* hard nproc 60000
* soft nofile 4194304
* hard nofile 4194304

3 Pam

3.1 pam_succeed allow user1 to “su - user2”

需求描述 机器有N个用户,不同用户隶属不通goup,group-user有权限做一些事情所以需要,组内用户>可以免密码su到group-user,并且用户不配置密码 http://www.361way.com/pam-limit-user-login/4269.html https://dzone.com/articles/linux-pam-easy-guide

p-user  p-group
user1   group1 p-group
user2   group2 p-group
配置文件/etc/pam.d/su
#配置一:user1/2 可以"su - p-user", user1 属于组group1 和 p-group
#打开这行注释
auth            sufficient      pam_rootok.so
auth       [success=ignore default=1] pam_succeed_if.so user = p-user
auth       sufficient   pam_succeed_if.so use_uid user ingroup p-group


p-user  p-group
user1   group1
#配置二: user1 可以免密码 "su - p-user"
auth            sufficient      pam_rootok.so
auth       [success=ignore default=1] pam_succeed_if.so user = p-user
auth       sufficient   pam_succeed_if.so use_uid user = user1



例子二:
#需求描述,同一台机器两组用户group1和group2, group1的用户可以su group1组,group2的用户可以su group2,配置如下:

auth		sufficient	pam_rootok.so
auth       [success=ignore default=2] pam_succeed_if.so user = xxx
auth       [success=ignore default=1]   pam_succeed_if.so  use_uid user ingroup $group1
auth       [success=done default=ignore]  pam_permit.so
auth       [success=ignore default=2]     pam_succeed_if.so user = xxx
auth       [success=ignore default=1]     pam_succeed_if.so use_uid user ingroup $group2
auth       [success=done default=ignore]  pam_permit.so

3.2 pam_wheel

描述: 有些时候需要系统中的部分用户可以su root,及时有些用户su root后密码输入正确,也不让他su成功,就需要以下配置

一:
vim /etc/pam.d/su
#打开注释
auth           required        pam_wheel.so use_uid

二:
修改/etc/login.defs文件,可以新建一个用户,再su登陆发现无法正常su过去,通过如下的命令将用户加入到wheel组后,其可以正常su登陆。

echo "SU_WHEEL_ONLY yes" >> /etc/login.defs

三:
usermod -G wheel 用户名

四:
vim /etc/pam.d/su
auth required /lib/security/pam_wheel.so group=test

4 Git

4.1 git 配置部署的秘钥对

ssh-keygen -f test   -C "test"
cat .ssh/config
Host xxx.com
  HostName xx.com
  Port 22x
  User git
  IdentityFile ~/.ssh/test

Q&&A

1 mac升级后编码错误

【问题描述】
-bash: 警告:setlocale: LC_CTYPE: 无法改变区域选项 (UTF-8): 没有那个文件或目录

【解决方案】
sudo vim /etc/ssh/ssh_config
注释掉   SendEnv LANG LC_*

2 ssh 登录失败

#错误信息
  unix_chkpwd[7485]: could not obtain user info ()
  sshd[7483]: fatal: Access denied for user   by PAM account configuration [preauth]
  #解决方法
 vim  /etc/pam.d/sshd
 
 #这行后面添加-auth      optional     pam_reauthorize.so prepare 
 account    sufficient   pam_localuser.so