[3] 操作系统 · 2021年2月6日

修改用户/主机名/home

切换到root账户

su -

因为修改普通账户的用户名,所以建议切换到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 不创建与用户同名的基本用户组

修改用户属性

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 #同时删除用户及用户家目录

修改用户名

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
[root@c510 ~]# pkill -kill -t pts/2

用户组操作

创建用户组

# 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