user用户管理
切换到root账户
$ su - root
因为修改普通账户的用户名,所以建议切换到root用户,这样可以避免一些权限的问题和其他不必要的影响。新申请或安装的机器root用户是没有密码的,所以可以先为root账户设置密码:
# 如果设置了密码可跳过此步
ubuntu@VM-0-4-ubuntu:~$ sudo passwd root
su - root
用户操作
创建新用户
$ sudo useradd -d /rsgroup/xilong -s /bin/bash xilong
# useradd [选项] 用户名
默认家目录 /home
默认shell /bin/bash
默认创建与用户同名的基本用户组
# 默认值可通过参数修改
useradd -d /home/linux -u 8888 -s /sbin/nologin linuxprobe
-e 账户到期时间:YYYY-MM-DD
-g 指定初始用户基本组(必须已存在)
-G 指定一个或多个扩展用户组
-N 不创建与用户同名的基本用户组
添加用户
添加普通用户
root@ecs:~# adduser liupei
添加到超级用户组(sudoer 用户组)
root@ecs:~# adduser username sudo
root@ecs:~# vim /etc/sudoers
liupei ALL=(ALL) ALL
删除用户
sudo userdel username
修改用户密码
sudo passwd liupei
切换用户(root -> )
su - liupei; or su (-> root)
设置 ssh 自动登陆,及 X11 转发
liupei@ecs:$ cd .ssh/
liupei@ecs:$ vim authorized_keys
putty->connection->Data: liupei
putty->connection->SSH->Auth: private.ppk
putty->connection->SSH->X11: localhost:0 (enable X11 forwarding)
save
ppk generate
puttygen.exe工具。
- 先点“生成(Generate)”,然后随意移动鼠标直到进度条填满,即可生成密钥
- 公钥部分:把上边那一段文字全选->复制备用。(不要点击“保存公钥(Save Public Key)”,点那个保存的公钥没有用!)
- 私钥部分:点击“保存私钥(Save Private Key)”,保存一个.ppk文件。
- Connection -> SSH -> Auth, Private keyfile for authentication
- login server, vim ~/.ssh/authorized_keys 把刚才COPY下来的公钥粘到这个文件里去
永久修改linux主机名
sudo cp /etc/hostname /etc/hostname_backup
sudo vim /etc/hostname
ssh空闲超时不间断
您可以编辑 /etc/ssh/sshd_config 文件,
ClientAliveInterval 60
ClientAliveCountMax 3
这两项默认是注释的, 您可以使用 vi 或者 vim 编辑器 去掉注释
然后重启 sshd 服务:
systemctl restart sshd
ssh 重启服务器
sudo reboot
安装图形化界面您可以参考: 图形化界面安装
修改用户属性
查询用户信息
id liupei #查询用户信息
添加用户到其他组
# usermod [选项] 用户名
usermod -a -G rsgroup liupei # 添加用户 liupei 到组 rsgroup
usermod -G rsgroup liupei # 没有 -a 会离开其他组
usermod -u 8888 liupei #变更UID
-d -m 连用可重新指定家目录并把旧数据迁移过去
usermod -d /home/old -m new
-g 变更用户所属组
-c 填写用户备注信息
-e 账户到期时间:YYYY-MM-DD
-L 锁定用户禁止其登录系统
-U 解锁
修改用户密码
# passwd [选项] 用户名
passswd # 修改自己的密码
passwd mas # 修改别人的密码
-l 锁定用户禁止其登录系统
-u 解锁
-S 显示密码是否锁定
删除用户
# userdel [选项] 用户名
userdel -f stu #强制删除用户
userdel -r stu #同时删除用户及用户家目录
修改用户名1?
su - root
sudo usermod -l newName oldName
修改用户名2
修改用户名我们需要进行四步操作:
1.修改/etc/passwd文件: vim /etc/passwd
2.修改/etc/shadow文件: vim /etc/shadow
3.修改/etc/group文件: vim /etc/group
4.修改用户目录
cd /etc/
cp passwd passwd_backup
vim passwd
:s/ubuntu/liupei/g
cp shadow shadow_backup
vim shadow
:s/ubuntu/liupei/g
cp group group_backup
vim group
:%s/ubuntu/liupei/g
cd /home/
mv ubuntu liupei
su liupei
tty踢出用户
使用命令pkill -kill -t 用户tty
首先检查当前用户列表
who
root tty1 2022-02-17 11:56
root pts/0 2022-02-21 17:17 (192.168.19.1)
zhangsan pts/1 2022-02-21 17:23 (192.168.19.1)
lisi pts/2 2022-02-21 17:28 (192.168.19.1)
wangwu pts/3 2022-02-21 17:29 (192.168.19.1)
查看当前自己所在的终端tty
/dev/pts/0
踢除指定终端[root@c510 ~]# pkill -kill -t pts/2
再次检查是否踢除成功who
root tty1 2022-02-17 11:56
root pts/0 2022-02-21 17:17 (192.168.19.1)
zhangsan pts/1 2022-02-21 17:23 (192.168.19.1)
wangwu pts/3 2022-02-21 17:29 (192.168.19.1)
踢出桌面登录用户
1️⃣ 找到 session ID
loginctl
2️⃣ 终止该会话
loginctl terminate-session <SESSION_ID>
例如:
loginctl terminate-session 2
📌 特点:
- 只踢桌面
- 不影响 SSH
- systemd 官方方式,最安全
禁止某用户ssh登录
在 /etc/ssh/sshd_config 文件下添加
DenyUsers liu wang zhang
重启sshd服务
sudo systemctl restart sshd.service
隐藏用户
tellme:x:0:0:despcriptiong:/:/bin/bash >> /etc/passwd
共7个字段
用户名:密码:用户ID:组ID:信息说明:家目录:SHELL路径tellme:$tb0Z.m3w:19332:0:99999:7:::
共9个字段
用户名:密码:最近更改密码日期:密码不可更改的天数:密码需要重新更改的天数:密码更改前的警告期限:密码过期宽限时间:账号失效日期:保留
清理删除last登录日志# > /var/log/wtmp# > /var/log/btmp# > /var/log/lastlog
清除 historyhistory -c
组操作
创建用户组
# groupadd [选项] 群组名
groupadd rsgroup
组共享文件夹
设置用户组rsgroup并向组添加用户xilong
liupei@hw:~$sudo groupadd rsgroup
sudo usermod -a -G rsgroup xilong
在home下新建cnn_work文件夹共享用
sudo mkdir ../cnn_work
把cnn_work交给rsgroup组
sudo chgrp rsgroup cnn_work/
增加rsgroup组权限
sudo chmod g+rwx cnn_work/
撤销其他组权限
sudo chmod o-rwx cnn_work/
liupei设为组长
sudo chown liupei cnn_work/
修改组名
sudo groupmod -n newGroup oldGroup
查看组下所有用户
查看用户所属组
groups <user1> <user2>
查看 组的id,即gid
grep 'rsgroup' /etc/group
输出为101,然后输入:
awk -F":" '{print $1"\t\t"$4}' /etc/passwd | grep '1001'
主机名/家名操作
修改主机名
查看主机名(1) hostname; (2) uname -a
修改主机名(1)临时 hostname newName;(2)永久 vim /etc/hostname
终端用户名和主机名高亮
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;35;40m\]\u\[\033[00;00;40m\]@\[\033[01;35;40m\]\h\[\033[00;31;40m\]:\[\033[00;00;40m\]\w \[\033[01;32;40m\]\$ \[\033[01;37;40m\]'
修改家目录
sudo usermod -d /home/new -m newName
home重新挂载
/home没有单独挂载,放在 / 目录下或者 /home 单独挂载,分区空间较小不够用了,需要重新挂在/home。首先要有一个单独的空的逻辑分区,用它来重新挂载/home
先把空白分区格式化为ext4
sudo mkfs.ext4 /dev/sdb1 转换磁盘分区
partprobe //它的作用 不用重启系统就能使新建的分区生效
参考文献,here
将该分区挂载在/mnt/newpart
sudo mount /dev/sdb /mnt/newpart
把/home下的文件拷贝到新的分区下
cd /home
sudo cp -ax * /mnt/newpart
重命名原来的/home并新建一个空的/home 并把新分区挂载到这个home下
cd /
sudo mv /home /home.old
sudo mkdir /home
sudo mount /dev/sdb1 /home
修改/etc/fstab文件
sudo vi /etc/fstab
UUID=ca649933-9b7f-4713-a70c-14b0beb84883 /home ext4 defaults 1 2
UUID查看方法:sudo blkid
假设安装系统过程中建立的用户名是 username,使用
sudo chown -R username:username /home
参考文献,here








