用户工具

站点工具


prog:linuxsetup

Linux安装

Ubuntu 20 LTS

升级系统

apt-get dist-upgrade

1.1 修改源

vi /etc/apt/sources.list

sources.list
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

1.2 安装、开启SSH

apt install ssh
apt install openssh-server
#安装ssh

vi /etc/ssh/sshd_config
#编辑配置文件,允许root通过ssh登录

PasswordAuthentication yes
PermitRootLogin yes

service ssh restart
#启动服务

ps -e | grep sshd
#用于查看

1.3 安装常用包

apt install apt-transport-https
apt install build-essential
apt install libcurl4-gnutls-dev
apt install libssl-dev
apt install gfortran
apt install libreadline-dev
apt install libicu-dev
apt install xauth
apt install xorg
apt install openbox
apt install libzmq3-dev
apt install libgtk2.0-dev
apt install libreadline-dev

1.4 配置pip

/root/.config/pip/pip.conf

pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

1.5 配置用户

用户密码文件 /etc/shadow
用户配置文件 /etc/passwd 格式:用户名:密码:UID:GID:用户信息:HOME目录路径:用户shell
用户组文件 /etc/group 格式:group_name:passwd:GID:user_list
sudo文件 /etc/sudoers
adduser -d home_dir -g default_group
userdel 
usermod 

修改用户文件权限

chmod

ls -l 

chmod o w xxx.xxx   表示给其他人授予写xxx.xxx这个文件的权限

chmod go-rw xxx.xxx   表示删除xxx.xxx中组群和其他人的读和写的权限

u 代表所有者(user)
g 代表所有者所在的组群(group)
o 代表其他人,但不是u和g (other)
a 代表全部的人,也就是包括u,g和o

r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)

- 表示删除权限
= 表示使之成为唯一的权限

-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限

chown root:root xxx.xxx

1.6 Samba & Mount

mount /dev/sda /home/s

fdisk -l|grep Disk
mount -t cifs -o username=,password='' //192.168.50.10/share /home/share

给/etc/fstab文件写入挂载硬盘的信息,不然重启系统后挂载就没了,那么每次重启后就要手动挂载了。
vi /etc/fstab
/dev/sda /home/s defaults 0 0

//192.168.50.10/Share /home/share cifs rw,username=,password= 0 0

mount -l
mount -a
df -h

1.7 Backup

/var/spool/cron/crontabs/

backupnotebook.sh
find /home/notebook/ -name '*.ipynb' -type f ! -name "*-checkpoint.ipynb" |xargs zip -r /home/bak/$(date -d "today" +"%Y%m%d_%H%M%S").zip
find /home/bak/ -mtime -1 -type f -exec cp {} /home/s/bak/ \;
find /home/bak/ -mtime +60 -name "*.zip" | xargs rm
backupwiki.sh
find /var/www/html/wiki/data/pages -name '*' |xargs zip -r /home/bak/wiki$(date -d "today" +"%Y%m%d_%H%M%S").zip
find /var/www/html/tpr/data/pages -name '*' |xargs zip -r /home/bak/tpr$(date -d "today" +"%Y%m%d_%H%M%S").zip
find /home/bak/ -mtime +120 -name "*.zip" | xargs rm

定时

crontab -l

crontab –e

service cron restart
# 每周1、4的0点运行脚本
0 0 * * 1,4 /root/backup.sh

# 每天0点0分,执行指定脚本
0 0 * * * /home/MakeProject.sh

# 星期1到星期5,11点30分,执行指定脚本
30 11 * * 1,2,3,4,5 /home/MakeProject.sh

# 星期1、星期3、星期5,23点00,执行指定脚本,并将内容重定向到文件(使用日期命名)
# 获取日期命令,必须使用如下格式,否则会导致cron执行失败。
00 23 * * 1,3,5 /home/MakeProject.sh all >> "/home/Build_$(date +"\%Y-\%m-\%d")".log 2>&1

rsync

rsync -rptP --delete /home/wwwroot/wiki/data/pages/ root@inkit.cc:/var/www/html/wiki/data/pages/

1.8 Systemd

prog/linuxsetup.txt · 最后更改: 2020/05/09 12:16 (外部编辑)