linux python开发者管理
1 用户管理
1.1 添加用户
方案一(自动化添加):adduser <用户名>
后按提示设计密码、全名等
方案二(个性化添加):useradd -m <用户名>
, 设置密码 passwd <用户名>
。当出现切换用户(su <用户名>
)后只有$
时,使用usermod -s /bin/bash <用户名>
修复。
1.2 设置用户组
usermod -G groupname username
:把用户username添加到groupname组,并从其他组中删除。
如:usermod -G root libo
表示添加libo用户到root组中,并只属于root组;
usermod -G groupname1[,groupname2,…] username
:把用户添加到groupname1(groupname2…等)组。
如:usermod -G root,amax libo
表示把libo用户添加到root和amax两个用户组里。
usermod -a -G groupname[,groupname2,…] username
:把用户username添加到groupname组,之前所属组不影响,即用户属于多个组。
如:usermod -a -G sudo libo
表示把 libo用户附加到amax组中,libo原先所在组不受影响。
1.3 查看系统所有用户组和用户信息
系统用户组信息保存在/etc/group
文件里,使用cat /etc/group
查看,一行表示一个用户组,每个用户组是由3个:连起来的4个信息。
比如:root:x:0:libo,liber
表示用户组名为root,密码为x,用户组ID(或称GID)为0,用户包括libo和liber(如果用户名为空,则表示用户组只有名为用户组名的用户)
系统用户信息保存在/etc/passwd
文件里,使用cat /etc/passwd
查看,一行表示一个用户,每个用户是由6个:组成的7个信息。
比如:root:x:0:0:root:/root:/bin/bash
表示用户名为root,密码为x(代表加密密码保存在 /etc/shadow
文件中),用户ID为0(每个用户都要有一个唯一的 ID 。UID 号为 0 的是为 root 用户保留的,UID 号 1 到 99 是为系统用户保留的,UID 号 100-999 是为系统账户和群组保留的),用户组ID为0(每个用户组都有一个唯一的 GID ,保存在/etc/group文件中),用户信息,用户根目录(用户登录状态下cd ~
所到的目录),用户使用的shell类型。
系统用户信息可以用 cat /etc/passwd | cut -d: -f1
查看
| 表示管道,把cat的输出传给cut处理;cut取出每一行的内容并以:分割再输出
1.4 查看用户信息
who
查看当前登录用户名信息。
比如:who 后显示
root pts/0 2020-05-22 12:16 (192,168.176.1)
libo :0 2020-05-20 11:29 (:0)
每一行:当前登录的用户名 登录终端(tty表示本地登录,即在真实的机器上登录;pts表示远程终端,如果有多个远程终端,为了区别会加/0,1,2之,如pts/0、pts/1、pts/2…) 登录时间 登录的主机IP地址
w
命令显示的信息比who命令显示的信息更加详细一点,他会对系统的资源做一些简单的统计,如一共有多少个登录用户,此Linux从开始到现在一共运行了多久等。
whoami
查看当前登录用户名
id
查看用户名的UID和用户组的GID信息(id <用户名>
0 为root权限,非0则不是。)
1.5 修改用户
删除用户:userdel -r <用户名>
修改密码:
修改root用户密码:passwd
修改libo用户密码:passws libo
(如果提示密码太简单不让修改,可以加上sudo后再修改)
2 anaconda配置:
2.1 共用其他用户anaconda环境
修改anaconda路径:
1.复制现有用户的annconda路径(假设已有用户amax)
vim /home/amax/.bashrc
后复制
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/amax/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/amax/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/amax/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/amax/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
export LD_LIBRARY_PATH=/home/amax/anaconda3/lib:/home/amax/anaconda3/lib:
最后export LD_LIBRARY_PATH=/home/amax/anaconda3/lib:/home/amax/anaconda3/lib:
表示共用程序路径。
2.拷贝到个人用户的~/.bashrc
文件下(假设新建用户名为libo
)
vim /home/libo/.bashrc
后粘贴在最后面
3.刷新.bashrc配置:source ~/.bashrc
2.2 独立安装anaconda环境
也可以自己安装一个anaconda:
- 官网https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh下载:
wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh
- 安装anaconda:
bash Anaconda3-2020.07-Linux-x86_64.sh
2.1 查看license文档:按q
跳过查看,输入yes
同意license
2.2 确认安装位置:默认为保存Anaconda3-2020.07-Linux-x86_64.sh
的路径(别多按不然跳过添加环境变量)
2.3 添加环境变量:输入yes
添加环境变量(不小心默认no跳过添加环境变量就参考上面共用其他用户anaconda环境中的代码自己配置。) - 刷新.bashrc配置:
source ~/.bashrc
3 设置免密登录
方案一:(如果服务器没有授权登录文件时,自动设置)本地ssh ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub
方案二:(如果服务器有授权登录文件时,自动设置):本地ssh ssh-copy-id -i ~/.ssh/id_rsa.pub user@host
方案三:(如果服务器没有授权登录文件时,手动设置)
自动创建.ssh
目录:ssh localhost
创建authorized_keys文件:touch ~/.ssh/authorized_keys
;并赋权:chmod 600 ~/.ssh/authorized_keys
复制本地(~/.ssh/id_rsa.pub
)公钥,再粘贴到远程~/.ssh/authorized_keys
里去
4 设置文件权限
4.1 文件信息解读
在Linux通过ll
查看文件:
- 7种文件类型:普通文件(
-
)、目录(d
)、软连接(l
)、像硬盘和光驱等块设备(b
)、管道文件(p
)、字符设备文件(c
)、套接口文件/数据接口文件(s
))。 - 4种文件权限:0无(
-
)、4读(r
)、2写(w
)、1执行(x
)。可以通过数字更改权限,如:chmod 777 1.txt
比如:
drwxr-xr-x 3 libo root 4096 11月 16 19:03 applications/
drwxr-xr-x
依次表示:d
表示文件类型为目录,rwx
表示文件所属用户的权限为读、写、执行,r-x
表示文件所属组的权限为读、执行,r-x
表示其他用户的权限为读、执行;
3
表示该文件下的第一级子目录下的文件个数,包括./
(上级目录名)和../
(上上级目录名);
libo root
表示文件所属用户 文件所属组;
4096
表示目录符大小(如果文件类型为文件时表示文件大小),以字节度量;
11月 16 19:03
表示最后修改的月 日 时间;
applications/
表示文件名。
文件权限可以通过操作权限和所属关系进行设置。
4.2 文件操作权限设置
chmod [选项设置] [权限设置] 文件或目录的名称
[选项设置]:-R :递归设置,针对文件夹(目录)
[权限设置]:
1. 4种身份:文件所属用户(u)、文件所属组(g)、其他用户(o)、所有(ugo 或者 a)
2. 3种类型:添加权限(+)、删除权限(-)、赋予权限(=)
3. 3种权限,r、w、x
比如:
- 递归目录下所有文件,赋予所有文件的所属用户(u)、所属组(g)和其他用户(o)的读( r )、写( w )、执行( x )权限:
sudo chmod -R ugo=rwx AA/
,也可以写成:sudo chmod -R a=rwx AA/
- 递归目录下所有文件,删除所有文件的其他用户(o)的读( r)权限:
sudo chmod -R o-r ×××/
4.3 文件所属关系设置
% 设置文件所属用户 文件所属组
chown [选项设置] 文件所属新用户名称:文件所属新组名称 文件名称
[选项设置]:-R : 代表递归修改,主要针对文件夹
比如:chown libo:root 1.txt
表示将文件1.txt设置为root
组下的libo
用户
% 设置文件所属用户
chown [选项设置] 文件所属新用户名称 文件名称
[选项设置]:-R :代表递归修改,主要针对文件夹
比如:chown libo 1.txt
表示将文件1.txt设置为用户libo
% 设置文件所属组
chgrp [选项设置] 文件所属新组名称 文件名称
[选项设置]:-R : 代表递归修改,主要针对文件夹
比如:chgrp root 1.txt
表示将文件1.txt设置为root组
参考链接:
https://blog.csdn.net/LEON1741/article/details/82386520
https://www.51cto.com/article/746594.html