linux · 2021年 1月 31日 0

LINUX用户管理

切换到root账户

$ su - root

因为修改普通账户的用户名,所以建议切换到root用户,这样可以避免一些权限的问题和其他不必要的影响。新申请或安装的机器root用户是没有密码的,所以可以先为root账户设置密码:

如果设置了密码可跳过此步

$ sudo passwd root

$ su - root

创建新用户

useradd [选项] 用户名 默认家目录 /home

默认shell /bin/bash 默认创建与用户同名的基本用户组

sudo useradd xilong

默认值可通过参数修改,

-d 改变默认家目录

-s 改变默认shell

-e 账户到期时间:YYYY-MM-DD

-g 指定初始用户基本组(必须已存在)

-G 指定一个或多个扩展用户组

-N 不创建与用户同名的基本用户组

如:

$ sudo useradd -d /rsgroup/xilong -s /bin/bash xilong

把用户加入或移除用户组

sudo usermod -aG <组名> <要加入组的用户>

sudo usermod -aG sudo liupei

添加普通用户

adduser liupei

删除用户

sudo userdel username 

添加到超级用户组

adduser username sudo

 vim /etc/sudoers liupei ALL=(ALL) ALL

修改用户密码

sudo passwd liupei

切换用户

su – liupei

ssh 自动登陆

 cd .ssh/

vim authorized_keys

putty->connection->Data: liupei

putty->connection->SSH->Auth: private.ppk

X11 转发

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 l

ogin server, vim ~/.ssh/authorized_keys 把刚才COPY下来的公钥粘到这个文件里去

永久修改linux主机名

sudo cp /etc/hostname /etc/hostname_backup

vim /etc/hostname;修改为需要的名称

ssh空闲超时不间断断开的问题

您可以编辑/etc/ssh/sshd_config 文件,

ClientAliveInterval 60

ClientAliveCountMax 3

这两项默认是注释的, 您可以使用vi 或者vim编辑器 去掉注释

然后重启 sshd 服务:

systemctl restart sshd

然后,重启服务器:

sudo reboot

安装图形化界面您可以参考: 图形化界面安装

修改用户属性

查询用户信息:id username # 如 id liupei

修改用户属性:usermod [选项] 用户名

usermod -aG rsgroup liupei # 添加用户 liupei 到组 rsgroup
usermod -G rsgroup liupei # 没有 -a 会离开其他组

变更用户UID:usermod -u 8888 liupei

usermod -d /home/old -m new
-d -m 连用可重新指定家目录并把旧数据迁移过去
-g 变更用户所属组
-c 填写用户备注信息
-e 账户到期时间:YYYY-MM-DD
-L 锁定用户禁止其登录系统
-U 解锁

修改用户密码

passwd [选项] 用户名
passswd # 修改自己的密码
passwd mas # 修改mas的密码
-l 锁定用户禁止其登录系统
-u 解锁
-S 显示密码是否锁定

删除用户

userdel [选项] 用户名
userdel -f stu #强制删除用户
userdel -r stu #同时删除用户及用户家目录

修改用户名1

“` bash
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.修改用户目录

bash
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

[参考文献](https://www.jianshu.com/p/170521ab7403)

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)

踢除指定终端
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)

禁止某用户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登录日志
1. 登录成功的日志
空格 > /var/log/wtmp
2. 登录失败的日志
空格 > /var/log/btmp
3. 当前登录用户
空格 > /var/log/lastlog
4. 使用方法
last查看登录成功记录
lastb 查看登录失败记录,或`ast -f /var/log/btmp

清除 history
history -c

groupadd [选项] 群组名

groupadd rsgroup

向组添加用户

设置用户组rsgroup,并向组添加用户xilong

sudo groupadd rsgroup
sudo usermod -aG 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/

[参考文献](https://blog.csdn.net/LCYong_/article/details/58592541),可能有用的[参考文献](https://jingyan.baidu.com/article/a681b0de159b093b184346a7.html)

修改组名

sudo groupmod -n newGroup oldGroup

查看用户所属组

groups

查看 组的id,即gid

grep ‘rsgroup’ /etc/group

输出为101,然后输入:

awk -F”:” ‘{print 1″\t\t”4}’ /etc/passwd | grep ‘1001’

终端用户名和主机名高亮

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]'

主机名/家名操作

查看主机名(1) hostname; (2) uname -a

修改主机名:(1)临时 hostname newName; (2)永久 vim /etc/hostname

修改家目录

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

TOC