shell編程實現用戶管理系統?shell編程100例

各位老鐵們,大家好,今天由我來為大家分享shell編程實現用戶管理系統,以及shell編程100例的相關問題知識,希望對大家有所幫助。如果可以幫助到大家,還望關注收藏下...
各位老鐵們,大家好,今天由我來為大家分享shell編程實現用戶管理系統,以及shell編程100例的相關問題知識,希望對大家有所幫助。如果可以幫助到大家,還望關注收藏下本站,您的支持是我們最大的動力,謝謝大家了哈,下面我們開始吧!
windowspowershell怎么運行代碼
WindowsPowerShell運行代碼的方法非常簡單。使用WindowsPowerShell可以輕松運行代碼。使用WindowsPowerShell可以運行各種類型的腳本,包括Python、JavaScript和C#等。要運行代碼,請首先打開WindowsPowerShell,然后輸入代碼文件的路徑并按Enter鍵。除了運行代碼,您還可以使用WindowsPowerShell執行各種系統管理任務,包括但不限于安裝軟件程序、查看系統信息和管理文件和文件夾等。作為一名程序員或系統管理員,了解和掌握這個工具可以提高工作效率和工作質量。
shell是編程語言嗎
shell不是編程語言,而是一種編程的方法。
shell是操作系統的最外層。shell合并編程語言以控制進程和文件,以及啟動和控制其它程序。shell通過提示您輸入,向操作系統解釋該輸入,然后處理來自操作系統的任何結果輸出來管理您與操作系統之間的交互。
shell提供了與操作系統通信的方式。此通信以交互的方式(來自鍵盤的輸入立即操作)或作為一個shell腳本執行。shell腳本是shell和操作系統命令的序列,它存儲在文件中。
linux中sh命令用法
sh是Linux中的一種Shell,通過它可以執行命令行操作、寫Shell腳本,用于實現系統管理和自動化任務。sh命令的基本用法是:sh[選項][腳本文件],其中選項可以是-e、-x、-v等,分別表示:
-e:在腳本中遇到錯誤時立即退出;
-x:顯示執行的每條命令;
-v:顯示腳本中每一行。
在學習shell,要不要轉python編程呢這兩個專業的前景怎么樣
shell是Linux運維的時候必須的一種語言,我在工作中經常用到,python在平時一些小工具,選擇學習Shell或者Python這兩個編程語言之前,需要先考慮自己的學習目標、需求和興趣。Shell適合于處理管道、重定向、文件操作等系統級別的任務,而Python則更為通用,可以用來編寫各種類型的應用程序、網站和算法等。
對于這兩種編程語言的前景,從已有的就業市場情況看,Python的需求量正在逐漸上升,成為了最受歡迎的編程語言之一,而Shell編程雖然在系統管理領域有一定的優勢,但是并不是一個很廣泛使用的編程語言。所以,在職業發展方面,如果想要進入互聯網行業,學習Python可能更為有利。
如何在linux上用命令實現用戶和組的管理
Linux上用命令實現本地用戶和組的管理
本地用戶和組:管理文件和進程等等
本地用戶和組:
1)root:超級管理員系統創建的第一個賬戶
特點:
id為:0
家目錄:/root
具有系統的完全控制權:小心使用。
[root@servera~]#id
uid=0(root)gid=0(root)groups=0(root)context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@servera~]#
2)普通用戶:不具有管理員權限
特點:
id范圍:
1000<=id<=60000
家目錄:/home/用戶名
[root@servera~]#idstudent
uid=1000(student)gid=1000(student)groups=1000(student),10(wheel)
[root@servera~]#
3)服務用戶:為服務提供權限
特點:
id范圍:
0<id<1000
家目錄:應用程序服務目錄
[root@servera~]#idapache
uid=48(apache)gid=48(apache)groups=48(apache)
[root@servera~]#
如果是yum,rpm安裝的軟件:由rpm包中的腳本創建服務賬戶
Includeconf.modules.d/*.conf
#
#Ifyouwishhttpdtorunasadifferentuserorgroup,youmustrun
#httpdasrootinitiallyanditwillswitch.
#
#User/Group:Thename(or#number)oftheuser/grouptorunhttpdas.
#Itisusuallygoodpracticetocreateadedicateduserandgroupfor
#runninghttpd,aswithmostsystemservices.
#
Userapache
Groupapache
#'Main'serverconfiguration
#
本地組:
1)主組:一個用戶一定要屬于某個主組中。當些用戶在創建文件時,給文件的歸屬組
2)從屬組:用戶容器,組織和管理用戶權限管控
作用:
文件:
進程:
[student@servera~]$ps-ux
USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND
student321780.00.4930529360?Ss15:000:00/usr/lib/system
student321820.00.32537767072?S15:000:00(sd-pam)
student321880.00.21594124980?S15:000:00sshd:student@p
student321890.00.22339124864pts/0Ss15:000:00-bash
student322930.30.21594085192?D15:430:00sshd:student@p
student322940.30.22339124924pts/1Ss15:430:00-bash
student323190.50.22339404804pts/1S15:430:00/bin/bash
student323410.00.22693123876pts/1R+15:430:00ps-ux
[student@servera~]$
賬戶文件:
1)/etc/passwd:保存用戶信息
[root@serveratmp]#cat/etc/passwd|grepstudent
student:x:1000:1000:StudentUser:/home/student:/bin/bash
用戶名密碼uid主組ID描述家目錄登錄shell
[root@serveratmp]#
[root@serveratmp]#cat/etc/passwd|grep-wroot:x
root:x:0:0:root:/root:/bin/bash
[root@serveratmp]#
[root@serveratmp]#cat/etc/passwd|grepapache
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
服務賬號無法登錄系統
[root@serveratmp]#
2./etc/shadow:保存用戶密碼的HASH,密碼的有效性信息,密碼修改時間,賬戶有效期。
[root@serveratmp]#
[root@serveratmp]#ls-l/etc/shadow
----------.1rootroot1014Mar2911:39/etc/shadow
[root@serveratmp]#
[root@serveratmp]#
[root@serveratmp]#cat/etc/shadow|grepstudent
student:$6$8oIjLCsc$/n1iQXYh1E6.uOEuJKgioqAtmqm2TQmkJGF2RwyteIr1tIfrPdiRYgWe6Sjen5/eMij2uHM/a1tue/QRlo3X80:18038:0:99999:7:::
[root@serveratmp]#
密碼的HASH:sha512
8oIjLCsc$/n1iQXYh1E6.uOEuJKgioqAtmqm2TQmkJGF2RwyteIr1tIfrPdiRYgWe6Sjen5/eMij2uHM/a1tue/QRlo3X80
18038:天數密碼最后一次修改的時間從1970-01-01+18038天之后那一天
0:密碼最少使用天數0沒有限制用戶隨時可以改密碼
99999:天數,密碼最大修改時間永久200多年
7:warning警告時間,當密碼快到最后修改時間前7天,通知用戶修改。
::天數失效時間inactive用戶密碼過了最后修改時間,未改變密碼,再過多少天,賬戶將被鎖定
::賬戶有效期
創建用戶和組:
創建時,沒有密碼:
[root@servera~]#useraddzhangsan
[root@servera~]#useraddlisi
[root@servera~]#idzhangsan
uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan)
[root@servera~]#idlisi
uid=1002(lisi)gid=1002(lisi)groups=1002(lisi)
[root@servera~]#
無法登錄:與PAM有關
[student@servera~]$
[student@servera~]$su-zhangsan
Password:
Password:
su:Authenticationfailure
[student@servera~]$
設置密碼:
[root@servera~]#
[root@servera~]#cat/etc/passwd|grepzhangsan
zhangsan:x:1001:1001::/home/zhangsan:/bin/bash
[root@servera~]#cat/etc/shadow|grepzhangsan
zhangsan:!!:18350:0:99999:7:::#!!未設置密碼
[root@servera~]#
[root@servera~]#passwdzhangsan
Changingpasswordforuserzhangsan.
Newpassword:
BADPASSWORD:Thepasswordisshorterthan8characters
Retypenewpassword:
passwd:allauthenticationtokensupdatedsuccessfully.
[root@servera~]#
[root@servera~]#
[root@servera~]#cat/etc/shadow|grepzhangsan
zhangsan:$6$3wxuXomVbQ58wQcK$oQW6injgldxa2N/Pt4tCPDVRqWRVGw.UNZdxE4R0nhEt8K/3UDKzxap6ReIReEvDpG.GdwjpMiiDh7.f6DJNQ0:18350:0:99999:7:::
[root@servera~]#
chage可以查看用戶密碼屬性
[root@servera~]#chage-lzhangsan
Lastpasswordchange:Mar29,2020
Passwordexpires:never
Passwordinactive:never
Accountexpires:never
Minimumnumberofdaysbetweenpasswordchange:0
Maximumnumberofdaysbetweenpasswordchange:99999
Numberofdaysofwarningbeforepasswordexpires:7
[root@servera~]#
創建組:從屬組
[root@servera~]#
[root@servera~]#groupaddit
[root@servera~]#
[root@servera~]#
[root@servera~]#groupaddsales
[root@servera~]#
[root@servera~]#
[root@servera~]#
[root@servera~]#cat/etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:student
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
floppy:x:19:
games:x:20:
tape:x:33:
video:x:39:
ftp:x:50:
lock:x:54:
audio:x:63:
users:x:100:
nobody:x:65534:
dbus:x:81:
utmp:x:22:
utempter:x:35:
input:x:999:
kvm:x:36:
render:x:998:
systemd-journal:x:190:
systemd-coredump:x:997:
systemd-resolve:x:193:
tss:x:59:
polkitd:x:996:
rpc:x:32:
unbound:x:995:
ssh_keys:x:994:
sssd:x:993:
setroubleshoot:x:992:
rpcuser:x:29:
insights:x:991:
cockpit-ws:x:990:
sshd:x:74:
chrony:x:989:
tcpdump:x:72:
student:x:1000:
printadmin:x:988:
libstoragemgmt:x:987:
slocate:x:21:
postdrop:x:90:
postfix:x:89:
apache:x:48:
zhangsan:x:1001:
lisi:x:1002:
it:x:1003:組成員列表
sales:x:1004:
[root@servera~]#
[root@servera~]#idstudent
uid=1000(student)gid=1000(student)groups=1000(student),10(wheel)
[root@servera~]#
將用戶添加進組:zhangsan,加入it組,lisi,sales組
[root@servera~]#idstudent
uid=1000(student)gid=1000(student)groups=1000(student),10(wheel)
[root@servera~]#usermod-aGitzhangsan
[root@servera~]#
[root@servera~]#
[root@servera~]#usermod-aGsaleslisi
[root@servera~]#
[root@servera~]#
[root@servera~]#idzhangsan
uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan),1003(it)
[root@servera~]#idlisi
uid=1002(lisi)gid=1002(lisi)groups=1002(lisi),1004(sales)
[root@servera~]#
刪除用戶:
[root@servera~]#useraddandy
默認刪除,保留用戶的文件:
[root@servera~]#
[root@servera~]#userdelandy
[root@servera~]#
[root@servera~]#
[root@servera~]#useraddandy#重建andy會不一樣,uid會不同
useradd:warning:thehomedirectoryalreadyexists.
Notcopyinganyfilefromskeldirectoryintoit.
Creatingmailboxfile:Fileexists
[root@servera~]#
[root@servera~]#useradduser1
[root@servera~]#useradduser2
[root@servera~]#idandy
uid=1003(andy)gid=1005(andy)groups=1005(andy)
[root@servera~]#userdel-rany
userdel:user'any'doesnotexist
[root@servera~]#
[root@servera~]#userdel-randy#不保留用戶的文件。家目,郵箱文件,skel文件都會
[root@servera~]#
[root@servera~]#
[root@servera~]#idandy
id:‘andy’:nosuchuser
[root@servera~]#useraddandy
[root@servera~]#idandy
uid=1006(andy)gid=1008(andy)groups=1008(andy)
[root@servera~]#
從組中移除用戶:
[root@servera~]#
[root@servera~]#idzhangsan
uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan),1003(it)#zhangsan主組,it從屬組
[root@servera~]#
命令:
[root@servera~]#gpasswd-dzhangsanit
Removinguserzhangsanfromgroupit
[root@servera~]#
[root@servera~]#
[root@servera~]#idzhangsan
uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan)
[root@servera~]#
[root@servera~]#
[root@servera~]#usermod-aGitzhangsan
[root@servera~]#
[root@servera~]#
[root@servera~]#idzhangsan
uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan),1003(it)
[root@servera~]#
[root@servera~]#
[root@servera~]#
[root@servera~]#groupszhangsan
zhangsan:zhangsanit
[root@servera~]#
直接修改文件:
[root@servera~]#vim/etc/group
[root@servera~]#cat/etc/group|grepit:
it:x:1003:
[root@servera~]#
刪除組:
[root@servera~]#groupaddtest
[root@servera~]#
[root@servera~]#
[root@servera~]#groupdeltest
創建自定義用戶和組:
實驗:用戶名mary,指定用戶id2000,家目錄/maryhome,不用登錄系統描述thisismaryuser
[root@servera~]#
[root@servera~]#useradd-u2000-d/maryhome-s/sbin/nologin-c"thisismary"mary
[root@servera~]#
[root@servera~]#idmary
uid=2000(mary)gid=2000(mary)groups=2000(mary)
[root@servera~]#cat/etc/passwd|grepmary
mary:x:2000:2000:thisismary:/maryhome:/sbin/nologin
[root@servera~]#
[root@servera~]#su-mary
Lastlogin:SunMar2916:48:49CST2020onpts/0
Thisaccountiscurrentlynotavailable.
[root@servera~]#
創建自定義組:指定組id
[root@servera~]#groupadd-g3000group1
[root@servera~]#cat/etc/group|grepgroup1
group1:x:3000:
[root@servera~]#
在南方CASS軟件中"shell"程序是什么意思
shell的中文意思即是“殼”,它管理著用戶和操作系統之間的交互,可以把他理解成一個命令解釋器。
它接收用戶命令,然后調用相關的應用程序來執行。
文章分享結束,shell編程實現用戶管理系統和shell編程100例的答案你都知道了嗎?歡迎再次光臨本站哦!
本文鏈接:http://www.resource-tj.com/su/3158.html