Linux用户管理与权限
一、用戶和用戶組
??? Linux最優秀的地方之一,就在于它的多用戶、多任務環境。而為了讓各個用戶具有較保密的文件數據,因此用戶和文件的權限管理就變得很重要了。Linux一般將文件可
?
?存取訪問的身份分為3個類別,分別是owner、group、others。且三種身份各有read、write、execute等權限。
?
??? 文件所有者,是為了考慮每個人的隱私權以及每個人喜好的工作環境而提出的概念。?
??
?用戶,我們明白Linux是真正意義上的多用戶操作系統,所以我們能在Linux系統中建若干用戶(user)。比如我們的同事想用我的計算機,但我不想讓他用我的用戶名登??????
???????? 錄,因為我的用戶名下有不想讓別人 看到的資料和信息(也就是隱私內容)這時我就可以給他建一個新的用戶名,讓他用我所開的用戶名去折騰,?????
???????? 這從計算機安全角度來說是符合操作規則的;
???
???????? 當然用戶(user)的概念理解還不僅僅于此,在Linux系統中還有一些用戶是用來完成特定任務的,比如nobody和ftp等,我們訪問LinuxSir.Org的網頁程序,就是
???
?? nobody用戶;我們匿名訪問ftp時,會用到用戶ftp或nobody ;如果您想了解Linux系統的一些帳號,請查看 /etc/passwd ;??????
???
?用戶組,用戶組(group)就是具有相同特征的用戶(user)的集合體;比如有時我們要讓多個用戶具有相同的權限,比如查看、修改某一文件或執行某個命令,這時我們
?
??????? 需要用戶組,我們把用戶都定義到同一用戶組,我們通過修改文件或目錄的權限,讓用戶組具有一定的操作權限,這樣用戶組下的用戶對該文件或目錄都具有相同
?????
???? 的權限,這是我們通過定義組和修改文件的權限來實現的;?
?
二、用戶(user)和用戶組(group)相關的配置文件、命令或目錄
??? 1,用戶(user)和用戶組(group)相關的配置文件;
?
??? 與用戶(user)相關的配置文件
????
??????? /etc/passwd? 注:用戶(user)的配置文件
?????
???? /etc/shadow? 注:用戶(user)影子口令文件
?????
??? 與用戶組(group)相關的配置文件
????
??????? /etc/group 注:用戶組(group)的配置文件
?????
???? /etc/gshadow 注:用戶組(group)的影子文件
?????
?2、管理用戶和用戶組的相關工具或命令;
?
?????? 管理用戶的工具或命令
????
?????????? useradd? 添加用戶
?????
?????????? adduser? 添加用戶
?????
?????????? passwd?? 為用戶設置密碼
?????
?????????? usermod? 修改用戶命令,可以usermod來修改登錄名、用戶的家目錄等等。
?????
?????????? pwck??校驗用戶配置文件/etc/passwd和/etc/shadow文件內容是否合法或完整??
?????
??????? finger?? 查看用戶信息工具
?????
???? chown??? 改變文件所有者
?????
???? chmod??? 改變文件的權限
?????
???? chgrp??? 改變文件所屬用戶組
?????
???? id?????? 查看用戶的UID、GID及所歸屬的用戶組
?????
???? chfn???? 更改用戶信息工具
?????
???? su?????? 用戶切換工具
?????
???? sudo???? 通過另一個用戶執行命令( execute a commmand as another user )
?????
???? visudo?? 編輯/etc/sudoers的命令
?????
??? 管理用戶組的工具或命令
????
?????????? groupadd 添加用戶組
?????
?????????? groupdel 刪除用戶組
?????
?????????? groupmod 修改用戶組信息
?????
?????????? groups?? 顯示用戶所屬的用戶組?????
?????
???? newgrp?? 新建用戶組
?????
??注:添加一個用戶:
??
?????????? # useradd USERNAME
?????
???????????????????? -u UID
??????
???????????????????? -g GID
??????
???????????????????? -c "string"注釋信息
??????
???????????????????? -d PATH 指定路徑
??????
???????????????????? -s SHELL指定shell
??????
???????????????????? -G group1,group2...指定附加組
??????
???????????????????? -M 不創建家目錄
??????
???????????????????? -m? 必須創建家目錄
??????
???????????????????? -D? 指定設備
??????
?????????????????????? -b 指定塊設備
????????
?????????????????????? -s 指定字符設備
????????
??????? 注:建立一個用戶:
??
??????????? 1. /etc/passwd
???
??????????? 2. /etc/shadow
???
??????????? 3. /etc/group
???
??????????? 4. /home/USERNAME
???
?????????????????? /etc/passwd
???????
??????????????????? username:x:UID:GID:comment:HOMEDIR:SHELL
???????
?????????????????? /etc/shadown
???????
?????? username:密碼加密后結果:從1970-1-1到密碼修改時間的天數:最近一次更改密碼的日期:密碼最短保留天數:密碼多久需要進行更改:密碼過期
???????
?????? 前警告日期:密碼失效日期,非活動時間:賬號失效日::預留段
???????
?????????????????? student:$1$PPAfA5Zs$B8Q7.8JCD69ueI.xGin320:15354:0:99999:7:::????????
?????
?添加密碼:
???? # passwd? USERNAME
????????? passwd? [-k]? [-l] [-u [-f]] [-d] [-n mindays] [-x maxdays] [-w warn-
?????????????????? days] [-i inactivedays] [-S] [--stdin] [username]
?
三、/etc/skel 目錄;
/etc/skel目錄一般是存放用戶啟動文件的目錄,這個目錄是由root權限控制,當我們添加用戶時,這個目錄下的文件自動復制到新添加的用戶的家目錄下;/etc/skel
?目錄下的文件都是隱藏文件,也就是類似.file格式的;我們可通過修改、添加、刪除/etc/skel目錄下的文件,來為用戶提供一個統一、標準的、默認的用戶環境;
[root@localhost beinan]# ls -la /etc/skel/
總用量 92
drwxr-xr-x??? 3 root root? 4096? 8月 11 23:32 .
drwxr-xr-x? 115 root root 12288 10月 14 13:44 ..
-rw-r--r--??? 1 root root??? 24? 5月 11 00:15 .bash_logout
-rw-r--r--??? 1 root root?? 191? 5月 11 00:15 .bash_profile
-rw-r--r--??? 1 root root?? 124? 5月 11 00:15 .bashrc
-rw-r--r--??? 1 root root? 5619 2005-03-08? .canna
-rw-r--r--??? 1 root root?? 438? 5月 18 15:23 .emacs
-rw-r--r--??? 1 root root?? 120? 5月 23 05:18 .gtkrc
drwxr-xr-x??? 3 root root? 4096? 8月 11 23:16 .kde
-rw-r--r--??? 1 root root?? 658 2005-01-17? .zshrc
/etc/skel 目錄下的文件,一般是我們用useradd 和adduser 命令添加用戶(user)時,系統自動復制到新添加用戶(user)的家目錄下;如果我們通過修改
/etc/passwd 來添加用戶時,我們可以自己創建用戶的家目錄,然后把/etc/skel 下的文件復制到用戶的家目錄下,然后要用chown 來改變新用戶家目錄的屬主;
四、/etc/login.defs 配置文件;
/etc/login.defs 文件是當創建用戶時的一些規劃,比如創建用戶時,是否需要家目錄,UID和GID的范圍;用戶的期限等等,這個文件是可以通過root來定義的;
比如Fedora 的 /etc/logins.defs 文件內容;
# *REQUIRED*
#?? Directory where mailboxes reside, _or_ name of file, relative to the
#?? home directory.? If you _do_ define both, MAIL_DIR takes precedence.
#?? QMAIL_DIR is for Qmail
#
#QMAIL_DIR????? Maildir
MAIL_DIR??????? /var/spool/mail? 注:創建用戶時,要在目錄/var/spool/mail中創建一個用戶mail文件;
#MAIL_FILE????? .mail
# Password aging controls:
#
#?????? PASS_MAX_DAYS?? Maximum number of days a password may be used.
#?????? PASS_MIN_DAYS?? Minimum number of days allowed between password changes.
#?????? PASS_MIN_LEN??? Minimum acceptable password length.
#?????? PASS_WARN_AGE?? Number of days warning given before a password expires.
#
PASS_MAX_DAYS?? 99999?? 注:用戶的密碼不過期最多的天數;
PASS_MIN_DAYS?? 0?????? 注:密碼修改之間最小的天數;
PASS_MIN_LEN??? 5?????? 注:密碼最小長度;
PASS_WARN_AGE?? 7?????? 注:
#
# Min/max values for automatic uid selection in useradd
#
UID_MIN?????????????????? 500? 注:最小UID為500 ,也就是說添加用戶時,UID 是從500開始的;
UID_MAX???????????????? 60000?? 注:最大UID為60000;
#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN?????????????????? 500?? 注:GID 是從500開始;
GID_MAX???????????????? 60000
#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD??? /usr/sbin/userdel_local
#
# If useradd should create home directories for users by default
# On RH systems, we do. This option is ORed with the -m flag on
# useradd command line.
#
CREATE_HOME???? yes?? 注:是否創用戶家目錄,要求創建;
五、/etc/default/useradd 文件;
通過useradd 添加用戶時的規則文件;
# useradd defaults file
GROUP=100
HOME=/home? 注:把用戶的家目錄建在/home中;
INACTIVE=-1? 注:是否啟用帳號過期停權,-1表示不啟用;
EXPIRE=?? 注:帳號終止日期,不設置表示不啟用;
SHELL=/bin/bash? 注:所用SHELL的類型;
SKEL=/etc/skel?? 注: 默認添加用戶的目錄默認文件存放位置;也就是說,當我們用adduser添加用戶時,用戶家目錄下的文件,都是從這個目錄中復制過去的;
?
六、Linux文件權限
?????
權限:r:讀
????? w:寫
???
????? x:執行
???
?rwx,文件;
?
目錄權限:
?? r:ls
???
?? w: 建立或刪除文件
???
?? x: cd切換到此目錄,或者ls -l文件
---?? 000??? 0
--x?? 001??? 1
-w-?? 010??? 2
-wx?? 011??? 3
r--?? 100??? 4
r-x?? 101??? 5
rw-?? 110??? 6
rwx?? 111??? 7
例如: 640
rw-r-----? root redhat a.txt
chmod???
?
1..chmod 644 file1?????? chmod -l 修改登錄名
???? rw-r--r--
??
2..u屬主
?? g屬組
???
?? o其它
???
?? a所有
???
?? ug=rw
???
?? u=rw,g=r
???
3..+/-
?? u+x
???
?? g-x
???
?? o+r
???
?? +x
-R 遞歸修改
--reference=xx???? 以xx為模板參照
chown/chgrp
chown USERNAME FILE1,FILE2,...
-R
例如:
添加slackware用戶,slackware用戶組???? UID5000,GID5000
1,/etc/group
slackware:x:5000:
2,/etc/passwd
slackware:x:5000:5000:Test User:/home/slackware:/bin/bash
3,/etc/shadow
slackware:$1$12345678$0ME5N6oDyoEAwUp7b5UDM/:15355:...
4,
# cp -r /etc/skel /home/slackware
# chown -R slackware:slackware /home/slackware
# chmod -R go= /home/slackware
?
轉載于:https://blog.51cto.com/wangyublues/800744
總結
以上是生活随笔為你收集整理的Linux用户管理与权限的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.建一个新目录/oldboy的硬链接数
- 下一篇: link time code gener