1. 用户操作
一、用户操作
- 1、查看用户
id 用户名
cut -d : -f 1 /etc/passwd
cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1
cat /ect/passwd
/etc/passwd文件每一行代表一个用户,格式如下:
username:password:UserID:Group ID:comment:home directory:shell
分别代表用户名、密码、用户ID(整数)、组ID(整数)、用户说明、用户登陆的主目录、
用户登陆后执行命令。值得注意的是密码现在不存这个文件了,改成 /etc/shadow 文件。
- 2、添加用户
复制代码
useradd -h
useradd username
useradd username -g groupname
useradd username -g groupname -s /bin/false
useradd username -g groupname -s /sbin/nologin
useradd mysql -g mysql -s /bin/false -r
- 3、设置用户密码
passwd username
- 4、修改用户
usermod -h
usermod username -l username2
usermod username -l username2 -d /home/username2 -m
usermod username -g groupname
usermod username -s /bin/bash
mkdir /home/username
cp /etc/skel/.bashrc /home/username/
cp /etc/skel/.bash_profile /home/username/
- 5、删除用户
userdel -h
userdel username
userdel -r username
如果忘记使用-r参数,手工删除/home和/var/spool/mail对应的目录即可。
rm -rf /home/xxx
rm -rf /var/spool/mail/xxx
- 6、其它
last
2. 用户密码操作
可以使用chage命令来手动修改账户的相关属性:
格式:chage [选项] 账户名
[选项]
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。
-w:账户密码到期前,提前收到警告信息的天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
-d:上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l:例出当前的设置。由非特权账户来确定他们的密码或帐号何时过期。
passwd 命令用于修改用户密码,过期时间,认证信息等。
普通用户只能使用 passwd 命令修改自身的系统密码,而 root 管理员则有权限修改其他所有人的密码。
参数 作用
-l 锁定用户,禁止登陆。
-u 解除锁定,允许登陆。
--stdin 允许通过标准输入修改用户密码,如 echo "NewPassWord" | passwd --stdin Username
-d 删除密码,允许用户空密码登陆
-e 强制用户在下次登陆时修改密码
-S 显示用户的密码是否被锁定,以及密码所采用的加密算法名称
vim /etc/login.defs
PASS_MAX_DAYS 90
PASS_MIN_DAYS 1
PASS_MIN_LEN 8
PASS_WARN_AGE 7
FAIL_DELAY 10
FAILLOG_ENAB yes
SYSLOG_SU_ENAB yes
SYSLOG_SG_ENAB yes
MD5_CRYPT_ENAB yes
3. 用户权限(visudo)
vim /etc/sudoers 或 visudo
user ALL=(ALL) ALL
%wheel ALL=(ALL) NOPASSWD: ALL
hong ALL=NOPASSWD: ALL
1)"字段2"表示允许登录的主机, ALL表示所有; 如果该字段不为ALL,表示授权用户只能在某些机器上登录本服务器来执行sudo命令. 比如:
jack mycomputer=/usr/sbin/reboot,/usr/sbin/shutdown
2)字段3,字段4是可以省略的,"字段3"如果省略, 相当于(root:root),表示可以通过sudo提权到root; 如果为(ALL)或者(ALL:ALL), 表示能够提权到(任意用户:任意用户组)。
表示: 普通用户jack在主机(或主机组)mycomputer上, 可以通过sudo执行reboot和shutdown两个命令。"字段3"和"字段4"省略
3)"字段5"是使用逗号分开一系列命令,这些命令就是授权给用户的操作; ALL表示允许所有操作。
linuxprobe ALL=(ALL) /usr/sbin/useradd, /bin/rm
linuxprobe ALL=(ALL) /usr/sbin/*, /usr/bin/*
linuxprobe ALL=(ALL) /usr/sbin/*, /usr/bin/*, !/usr/sbin/visudo
linuxprobe ALL=(ALL) NOPASSWD: /usr/sbin/useradd, /bin/rm
4. 用户组基础操作
- 1、查看用户组
cut -d : -f 1 /etc/group
cat /etc/group
- 2、添加用户组
groupadd -g 1001
groupadd -g 1001 test
- 3、修改用户组
groupmod test -n mytest
- 4、删除用户组
groupdel test
5. 实操
id
cat /etc/passwd
cat /etc/group
groupadd manager
useradd -G manager nova
useradd -s /sbin/nologin john
useradd -g root lany
usermod -G manager lanny
usermod -aG wheel lany
useradd -c "hello" alex
useradd -u 1234 tom
echo P@ssW9rD | passwd --stdin nova
groupadd ansible
vim /etc/sudoers 或 visudo
%ansible ALL=(ALL) NOPASSWD: ALL
vim /etc/sudoers 或 visudo
复制root那一行
vim /etc/sudoers
alex ALL= NOPASSWD: /usr/sbin/useradd,/usr/sbin/userdel,/usr/sbin/usermod
echo “user1” > /etc/cron.deny
chage -M 90 oper1
Chage -d 0 oper1
chage -E '2022-01-01' oper1
date -d "+30day" +%F
chage -E '显示日期' oper1
chage -d 0 -m 0 -M 90 -W 15 root
Su - oper1
Vim .bashrc
添加cal