linux命令笔记

阅读次数: 2,116

  • A+
所属分类:建站

// 断开某个用户

[root@qyi-5b5b1cfc3a5cd ~]# who
root pts/2 2018-08-07 13:19 (183.31.29.42)

fuser -k /dev/pts/1


//查看用户登录历史记录

who /var/log/wtmp

// 用户列表

1.当前登录的用户

w

2.所有的用户列表


[root@iZ1mwbe5cj0dhbZ ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync

1 用户名

2 用户的密码 存在 /etc/shadow文件中

3 用户的UID,root默认为0 1-499 位系统账号 500-65535位用户可登录账号

4 用的GID组ID

5 用户账号说明

6 用户的主目录

7 用户使用的shell   /sbin/nologin  是没有登录环境的

// 用户的修改

usermod

-c<备注>:修改用户帐号的备注文字;
-d<登入目录>:修改用户登入时的目录;
-e<有效期限>:修改帐号的有效期限;
-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
-g<群组>:修改用户所属的群组;
-G<群组>;修改用户所属的附加群组;
-l<帐号名称>:修改用户帐号名称;
-L:锁定用户密码,使密码无效;
-s<shell>:修改用户登入后所使用的shell;
-u<uid>:修改用户ID;
-U:解除密码锁定。

usermod -g group_apache user_ftp

把 user_ftp 归为 group_apache 小组成员

groups user_ftp 查看  user_ftp 所属那个小组

user_ftp:group_apache

使用 FTP时会用到这个方法

 


crontab 安装

yum install vixie-cron crontabs

crontab 启动

service crond start

service crond status 看状态

 

然后查看 系统启动时 是否启动 crond

chkconfig --list

发现已经有了  我们再 把 crond 加入 3 5 启动中  3 是命令模式  5是视图模式

chkconfig --level 35 crond on


改变 apache网站目录的 权限

 

首先CD到你要修改的网站目录,然后运行如下两个命令即可快速批量修改权限。

find -type d|xargs chmod 755
find -type f|xargs chmod 644

另外经常用sftp修改上传新文件后是root用户组,可以修改成www用户组,命令如下:

chown -R www:www /home/wwwroot/网站目录

下面补充另一种办法

方法1

find . -exec sh -c "if [[ -d "{}" ]]; then chmod 755 "{}"; else chmod 644 "{}"; fi " \;

方法2

find ./ -type f -print |xargs chmod 644;
find ./ -type d -print|xargs chmod 755;

方法3

常要用到的命令,记录一下。

find /path -type f -exec chmod 644 {} \;  //设置文件权限为644

find /path -type d -exec chmod 755 {} \;  //设置目录权限为755

推荐方法:

chmod 644 -R ./
find ./ -type d -print|xargs chmod 755;

禁止root用户使用密码登录

修改/etc/ssh/sshd_config文件

PasswordAuthentication no

这里应该是禁止所有用户使用密码登录

使用 ssh登录的方法在  https://www.shikexu.com/archives/86  这篇文章的中部有说明


查看线程数量

pstree -p | grep 'http' |wc -l


通过进程名字杀死进程

今天突然发现一个奇葩的问题

crontab -e

* * * * * sleep 10; echo '10秒一次’

这样就会GG了

尽管等下您把 crontab 中的这条删除 她依旧会执行

ps -aux 您就会发现 好多 sleep 进程

然后 使用 kill -9 +进程ID

然而并没有用 因为 进程会很快的变化

那就用这招:

ps -ef|grep sleep|grep -v grep|awk '{print $2}'|xargs kill -9

或者

kill -9 `ps -ef | grep httpd | grep -v grep |awk '{print $2}'`

再次 ps -ef|grep sleep

发现依然存在(日了狗)

ps -aux 再次发现 有不少 CRON 进程 CRON是什么 ?貌似 跟 crontab有关系

CRON 是GUN/Linux系统的任务调度工具

也就是说 其实是 调度任务本身并没有 被删除所以 不管您怎么删除 sleep 他都会被CRON这个工具再次启动。

kill -9 pid 删除通过进程 pid 删除进程


查看信号并删除信号

ipcs -s |grep apache | perl -e 'while (<STDIN>) { @a=split(/\s+/); print `ipcrm sem $a[1]`}'


来自时刻需

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: