Osmičkovou notaci můžete použít přímo:
os.Mkdir("dirname", 0700)
Bity oprávnění
+-----+---+--------------------------+
| rwx | 7 | Read, write and execute |
| rw- | 6 | Read, write |
| r-x | 5 | Read, and execute |
| r-- | 4 | Read, |
| -wx | 3 | Write and execute |
| -w- | 2 | Write |
| --x | 1 | Execute |
| --- | 0 | no permissions |
+------------------------------------+
+------------+------+-------+
| Permission | Octal| Field |
+------------+------+-------+
| rwx------ | 0700 | User |
| ---rwx--- | 0070 | Group |
| ------rwx | 0007 | Other |
+------------+------+-------+
Unix Permission Primer
Běžná použití oprávnění
0755 Běžně používané na webových serverech. Majitel může číst, psát, spouštět. Všichni ostatní mohou soubor číst a spouštět, ale nemohou jej upravovat.
0777 Každý umí číst, psát a spouštět. Na webovém serveru není vhodné používat oprávnění „777“ pro vaše soubory a složky, protože to umožňuje komukoli přidat škodlivý kód na váš server.
0644 Číst a psát může pouze majitel. Všichni ostatní umí jen číst. Nikdo nemůže spustit soubor.
0655 Pouze vlastník může číst a zapisovat, ale nemůže soubor spustit. Všichni ostatní mohou číst a spouštět, ale nemohou upravovat soubor.
www.maketecheasier.com/file-permissions-what-does-chmod-777-means/
Oprávnění k adresáři v systému Linux
Při použití oprávnění k adresářům v systému Linux mají bity oprávnění jiný význam než u běžných souborů. (zdroj)
Přečtěte si Uživatel může číst názvy souborů obsažené v adresáři.
Zapsat bit Uživatel může {přidat, přejmenovat, smazat} názvy souborů, POKUD je nastaven také spouštěcí bit.
Spustit bit Uživatel může vstoupit do adresáře a přistupovat k souborům uvnitř.
https://unix.stackexchange.com/a/21252
Kalkulačka oprávnění
Praktická kalkulačka oprávnění.
Tvrzení @Daniela v jeho odpovědi není ve skutečnosti správné a také mluví o desetinném čísle a poté používá osmičkovou, jak správně poukázal @SashaCrofter ve svém komentáři.
Ve skutečnosti nezáleží na formě vaše hodnota oprávnění je v, pokud představuje rozumná unixová oprávnění.
Vzhledem k tomu, že bity oprávnění na souborových systémech POSIX přicházejí v trojnásobku bitů – tři bity pro přístup vlastníka, skupiny a dalších, plus tři bity modifikátorů (například lepkavé bity), – je obvyklé používat osmičková čísla k reprezentaci oprávnění jako každé číslice v osmičkovém čísle představuje tříbitovou hodnotu.
Když tedy v kódu Go použijete 0700, úvodní 0 je odstraněna a slouží pouze k tomu, aby sdělila analyzátoru, že vidí osmičkový číselný literál, a následující tři písmena představují oprávnění vlastníka, skupiny a dalších v tomto pořadí. Pokud byste, řekněme, chtěli také nastavit příchytný bit skupiny a zároveň zajistit, aby byl objekt souborového systému pro skupinu čitelný a spustitelný, zadali byste 02750 a tak dále.
Všimněte si, že skutečná oprávnění, která objekt systému souborů získává, jsou dále modulována aktivním umask
procesu, který vytváří objekt.
Chcete-li tato témata lépe pochopit, je nejlepší přečíst si chmod
manuálové stránky a obecná literatura o operačních systémech podobných Unixu.
Můžete resetovat umask na 0. Nazval bych to jako první věc v mém hlavním souboru
syscall.Umask(0)
Příklad
_ = os.MkdirAll("/tmp/dirs/1", 0664)
syscall.Umask(0)
_ = os.MkdirAll("/tmp/dirs/2", 0664)
Výsledek
/tmp/dirs$ stat -c '%A %a %n' *
drw-r--r-- 644 1
drw-rw-r-- 664 2