用戶管理
========================================================
groupadd,groupdel
useradd,usermod,userdel
passwd,chage
一、用戶/組基本概念
Users and groups:
. Every process (running program) on the system runs as a particular user.
. Every file is owned by a particular user.
. Access to files and directories are restricted by user.
. The user associated with a running process determines the files and directories accessible to that process.
查看當前登錄的用戶資訊:
[root@CentOS ~]# id
uid=0(root) gid=0(root) groups=0(root)
查看檔案的owner:
[root@CentOS ~]# ll /home/
drwx------. 4 alice alice 4096 Jun 2 15:59 alice
drwx------. 2 root root 16384 Jun 1 23:09 lost+found
drwxr-xr-x 2 root root 4096 Jun 2 15:33 CentOS
查看運行行程的username:
[root@CentOS ~]# ps aux |less
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 19360 1536 ? Ss 13:29 0:00 /sbin/init
root 2 0.0 0.0 0 0 ? S 13:29 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 13:29 0:00 [migration/0]
root 4 0.0 0.0 0 0 ? S 13:29 0:00 [ksoftirqd/0]
和用戶組相關的一些檔案:
/etc/passwd root:x:0:0:root:/root:/bin/bash
用戶名:x:uid:gid:描述:HOME:shell
/etc/shadow root:$1$MYG2NDG6$a1wtyr5GDM2esAPjug0YP0:15636:0:99999:7:: :
$id$salt$encrypted
/etc/group root:x:0:
[root@CentOS ~]# man 5 passwd
[root@CentOS ~]# man 5 shadow
[root@CentOS ~]# man 5 group
[root@CentOS ~]# man 3 crypt
加密演算法$id:
$1: MD5
$5: SHA-256
$6: SHA-512
系統約定: RHEL6
uid: 0 特權用戶
uid: 1~499 系統用戶
uid: 500+ 普通用戶
The root user
. uid is 0
. all power
. This user has the power to override normal privileges on the file system
. installing or removing software and to manage system files and directorie
. Most devices can only be controlled by root
二、給普通用戶提權
以下兩種方式都可以將普通用戶提升為root
1.
Switching users with su
[alice@CentOS ~]$ useradd u1
-bash: /usr/sbin/useradd: 權限不夠
[alice@CentOS ~]$ su - root
password:
[root@CentOS ~]# useradd u1
2.
Running commands as root with sudo
以root身份授權普通用戶
[root@CentOS ~]# vim /etc/sudoers
%wheel ALL=(ALL) NOPASSWD: ALL
[root@CentOS ~]# useradd yangyang -G wheel
[root@CentOS ~]# id yangyang
uid=504(yangyang) gid=504(yangyang) 組=504(yangyang),10(wheel)
[yangyang@CentOS ~]$ useradd gougou10
-bash: /usr/sbin/useradd: 權限不夠
[yangyang@CentOS ~]$ sudo useradd gougou10
[yangyang@CentOS ~]$ id gougou10
uid=505(gougou10) gid=505(gougou10) 組=505(gougou10)
三、用戶/組管理
用戶組:
[root@CentOS ~]# groupadd hr
[root@CentOS ~]# groupadd sale
[root@CentOS ~]# groupadd it
[root@CentOS ~]# groupadd fd
[root@CentOS ~]# groupadd market
[root@CentOS ~]# groupadd net01 -g 2000 //添加組net01,并指定gid 2000
[root@CentOS ~]# grep 'net01' /etc/group //查看/etc/group中組net01資訊
[root@CentOS ~]# groupdel net01 //洗掉組net01
用戶:
useradd creates users
==創建用戶 未指定選項==
[root@CentOS ~]# useradd user01
. 未指定該用戶的主組
. 未指定該用戶的附加組
. 未指定用戶的HOME
. 未指定用戶的SHELL
. 未指定用戶的UID...
[root@CentOS ~]# grep 'user01' /etc/passwd /etc/shadow /etc/group
/etc/passwd:user01:x:507:512::/home/user01:/bin/bash
/etc/shadow:user01:!!:16589:0:99999:7:::
/etc/group:user01:x:512:
[root@CentOS ~]# id user01
uid=507(user01) gid=512(user01) groups=512(user01)
[root@CentOS ~]# ls /var/spool/mail/user01
/var/spool/mail/user01
小結:
如果創建一個用戶時,未指定任何選項,系統會創建一個和用戶名相同的組作為用戶的Primary Group.
==創建用戶 指定選項==
[root@CentOS ~]# useradd user02 -u 503 //創建用戶usr02,指定uid
[root@CentOS ~]# useradd user03 -d /aaa //創建用戶user03 指定家目錄
[root@CentOS ~]# useradd user05 -s /sbin/nologin //創建用戶并指定shell
[root@CentOS ~]# useradd user07 -G hr,it,fd //創建用戶,指定附加組
[root@CentOS ~]# useradd user10 -u 4000 -s /sbin/nologin
userdel deletes users
==洗掉用戶==
[root@CentOS ~]# userdel user10 //洗掉用戶user10,但不洗掉用戶家目錄和mail spool
[root@CentOS ~]# ll -d /home/user10/
drwx------ 3 506 510 4096 09-01 21:14 /home/user10/
[root@CentOS ~]# ll /var/spool/mail/user10
-rw-rw---- 1 506 mail 0 09-01 21:14 /var/spool/mail/user10
[root@CentOS ~]# userdel -r user2 //洗掉用戶user2,同時洗掉用戶家目錄和mail spool
==用戶密碼==
[root@CentOS ~]# passwd alice
[zhuzhu@CentOS ~]$ passwd
usermod modifies existing users
==組成員管理==
注意:只針對已存在的用戶
[root@CentOS ~]# usermod -G hr niuniu2 //覆寫原有的附加組
[root@CentOS ~]# usermod -G fd,it niuniu2
[root@CentOS ~]# usermod -aG hr niuniu2 //增加新的附加組
==其它選項管理==
[root@CentOS ~]# usermod -s /sbin/nologin niuniu2
四、擴展知識
useradd創建用戶時,參照的檔案...
[root@CentOS ~]# vim /etc/login.defs
MAIL_DIR /var/spool/mail
PASS_MAX_DAYS 30
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
CREATE_HOME yes
ENCRYPT_METHOD SHA512
[root@CentOS ~]# vim /etc/default/useradd
SHELL=/sbin/nologin
# chage -m 0 -M 90 -W 7 -I 14 username
chage -d 0 username will force a password update on next login.
chage -l username will list a username's current settings.
chage -E YYYY-MM-DD will expire an account on a specific day.
手動創建用戶示例:
[root@CentOS~]# useradd maomao100
[root@CentOS~]# echo 123456 |passwd --stdin maomao100
[root@CentOS~]# chage -d 0 maomao100 //強制用戶在下一次登錄時修改密碼
將多個用戶加入到指定的組:
[root@CentOS~]# gpasswd -a jack wheel //usermod -aG hr zhuzhu
[root@CentOS~]# gpasswd -M zhuzhu,maomao100 hr
[root@CentOS~]# gpasswd -d zhuzhu hr
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/160731.html
標籤:Linux
上一篇:BASH Shell 檔案管理
